انتقل إلى المحتوى الرئيسي
العودة إلى الفئة

إعداد خادم Garry's Mod: دليل الخادم المخصص

إعداد خادم GMod المخصص، تكوين أوضاع اللعب، إضافات/مجموعات Workshop، FastDL، مود إدارة ULX وتحسين الخادم.

وقت القراءة: 15 دقيقة إعداد خادم الألعاب
garrys-modgmodخادم ألعابsteamcmddedicated server

جدول المحتويات

مقدمة

Garry's Mod (GMod) هي لعبة ساندبوكس مبنية على محرك Source Engine توفر إمكانيات إبداعية غير محدودة. مع أوضاع اللعب مثل DarkRP و TTT (Trouble in Terrorist Town) و Sandbox والعديد غيرها، يمكنك بناء خادم مجتمعك الخاص. يغطي هذا الدليل إعداد خادم GMod المخصص على REXE VDS الخاص بك.

متطلبات النظام

الموردالحد الأدنىالموصى به
المعالجنواتان4+ أنوية
الذاكرة4 جيجابايت8+ جيجابايت
القرص20 جيجابايت SSD40+ جيجابايت NVMe
نظام التشغيلUbuntu 22.04+Ubuntu 22.04 LTS
عرض النطاق5 ميجابت/ث10+ ميجابت/ث

تختلف متطلبات الذاكرة حسب عدد الإضافات المثبتة وسعة اللاعبين. خوادم DarkRP تتطلب عادةً ذاكرة أكثر.

المتطلبات الأولية

اتصل بخادمك عبر SSH وقم بتثبيت الحزم المطلوبة:

hljs bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y lib32gcc-s1 lib32stdc++6 wget tar screen

أنشئ مستخدمًا مخصصًا:

hljs bash
sudo adduser gmod --disabled-login --gecos ""
sudo su - gmod

تثبيت SteamCMD

hljs bash
mkdir -p ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzf steamcmd_linux.tar.gz
rm steamcmd_linux.tar.gz
./steamcmd.sh +quit

تنزيل ملفات خادم GMod

hljs bash
~/steamcmd/steamcmd.sh +force_install_dir ~/gmod-server \
  +login anonymous \
  +app_update 4020 validate \
  +quit

معرف التطبيق 4020 هو معرف Steam لخادم Garry's Mod المخصص. التنزيل حوالي 4-5 جيجابايت.

تثبيت محتوى CSS

العديد من أوضاع اللعب في GMod تتطلب محتوى CSS:

hljs bash
~/steamcmd/steamcmd.sh +force_install_dir ~/css-content \
  +login anonymous \
  +app_update 232330 validate \
  +quit

ربط محتوى CSS بخادم GMod:

hljs bash
nano ~/gmod-server/garrysmod/cfg/mount.cfg
"mountcfg"
{
  "cstrike" "/home/gmod/css-content/cstrike"
}

الحصول على رمز GSLT

رمز GSLT مطلوب لظهور خادمك في متصفح الخوادم:

  1. قم بزيارة steamcommunity.com/dev/managegameservers
  2. معرف التطبيق: 4000 (Garry's Mod)
  3. انسخ الرمز

تكوين الخادم

server.cfg

hljs bash
nano ~/gmod-server/garrysmod/cfg/server.cfg
hostname "خادم REXE GMod"
rcon_password "كلمة_مرور_قوية"
sv_password ""
sv_defaultgamemode "sandbox"
sv_maxrate 0
sv_minrate 100000
sv_maxupdaterate 66
sv_minupdaterate 33
sv_timeout 120
sv_lan 0
sv_allowdownload 1
net_maxfilesize 64
log on

خيارات أوضاع اللعب

وضع اللعبالوصفsv_defaultgamemode
sandboxوضع البناء الحرsandbox
darkrpلعب الأدوارdarkrp
terrortownTTT - لعبة المحققterrortown
prophuntالغميضةprop_hunt
murderلغز القتلmurder
deathrunباركور الفخاخdeathrun

سكريبت التشغيل

hljs bash
nano ~/gmod-server/start.sh
hljs bash
#!/bin/bash
cd ~/gmod-server

./srcds_run \
  -game garrysmod \
  -port 27015 \
  -maxplayers 32 \
  +gamemode sandbox \
  +map gm_construct \
  +sv_setsteamaccount GSLT_TOKEN \
  -tickrate 33 \
  +host_workshop_collection معرف_المجموعة \
  -authkey STEAM_API_KEY
hljs bash
chmod +x ~/gmod-server/start.sh

إعداد مجموعة Workshop

إدارة الإضافات عبر مجموعات Steam Workshop:

1. الحصول على مفتاح Steam API

aحصل على مفتاح API من steamcommunity.com/dev/apikey.

2. إنشاء مجموعة Workshop

  1. أنشئ مجموعة جديدة في Steam Workshop
  2. أضف الإضافات المطلوبة
  3. سجّل معرف المجموعة من الرابط

3. الإضافة إلى الخادم

للتنزيل التلقائي على العميل، أنشئ lua/autorun/server/workshop.lua:

hljs lua
resource.AddWorkshop("معرف_الإضافة_1")
resource.AddWorkshop("معرف_الإضافة_2")
resource.AddWorkshop("معرف_الإضافة_3")

إعداد FastDL

FastDL يتيح تنزيل أسرع للمحتوى المخصص:

hljs bash
sudo apt install nginx -y
sudo nano /etc/nginx/sites-available/fastdl
hljs nginx
server {
    listen 8080;
    server_name عنوان_IP_الخادم;

    location /garrysmod/ {
        alias /home/gmod/gmod-server/garrysmod/;
        autoindex on;
    }
}
hljs bash
sudo ln -s /etc/nginx/sites-available/fastdl /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

أضف إلى server.cfg:

sv_downloadurl "http://عنوان_IP_الخادم:8080/garrysmod/"
sv_allowdownload 1

تثبيت مود إدارة ULX

hljs bash
cd ~/gmod-server/garrysmod/addons
git clone https://github.com/TeamUlysses/ulib.git
git clone https://github.com/TeamUlysses/ulx.git

بعد إعادة تشغيل الخادم، في اللعبة:

ulx adduserid STEAM_ID superadmin
ulx ban اسم_اللاعب 0 "السبب"
ulx kick اسم_اللاعب "السبب"

تكوين المنافذ

المنفذالبروتوكولالاستخدام
27015TCP + UDPخادم لعبة GMod
27005UDPمنفذ العميل
27020UDPSourceTV
8080TCPFastDL (اختياري)

جدار حماية Path Panel

من لوحة REXE Path:

  1. GMod UDP: البروتوكول: UDP، المنفذ: 27015، الفلتر: Source Engine
  2. GMod TCP: البروتوكول: TCP، المنفذ: 27015
  3. Client: البروتوكول: UDP، المنفذ: 27005

التشغيل التلقائي مع systemd

hljs bash
sudo nano /etc/systemd/system/gmod.service
hljs ini
[Unit]
Description=Garry's Mod Dedicated Server
After=network.target

[Service]
Type=simple
User=gmod
Group=gmod
WorkingDirectory=/home/gmod/gmod-server
ExecStart=/home/gmod/gmod-server/start.sh
Restart=on-failure
RestartSec=15
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target
hljs bash
sudo systemctl daemon-reload
sudo systemctl enable gmod
sudo systemctl start gmod

إعداد DarkRP

hljs bash
cd ~/gmod-server/garrysmod/gamemodes
git clone https://github.com/FPtje/DarkRP.git darkrp
cd ~/gmod-server/garrysmod/addons
git clone https://github.com/FPtje/darkrpmodification.git

في server.cfg:

sv_defaultgamemode "darkrp"

تحسين الخادم

إعدادات Tickrate

-tickrate 33    # قياسي (موصى به)
-tickrate 66    # أداء عالي (يتطلب معالج أقوى)

التحديث التلقائي

hljs bash
nano ~/update_gmod.sh
hljs bash
#!/bin/bash
~/steamcmd/steamcmd.sh +force_install_dir ~/gmod-server +login anonymous +app_update 4020 +quit
hljs bash
chmod +x ~/update_gmod.sh
crontab -e
0 5 * * * /home/gmod/update_gmod.sh >> /home/gmod/update.log 2>&1

الخلاصة

مع خادم Garry's Mod المخصص، يمكنك إنشاء خادم مجتمعي بإمكانيات إبداعية غير محدودة. مجموعات Workshop ومود إدارة ULX و FastDL و DarkRP ترفع خادمك إلى المستوى الاحترافي. توفر بنية REXE VDS القوية أداءً مثاليًا لخادم GMod الخاص بك.