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

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

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

وقت القراءة: 15 دقيقة إعداد خادم الألعاب
garrys-modgmodخادم ألعابsteamcmddedicated server
الكاتب
REXE Teknoloji Network & Security Team
المحرر
REXE Teknoloji Technical Editorial
أول نشر
آخر تحديث

مقدمة

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 الخاص بك.

الأسئلة الشائعة

هل محتوى CSS مطلوب لخادم GMod؟

ليس إلزاميًا، لكن العديد من أوضاع اللعب والخرائط تتطلب محتوى CSS. بدون CSS سيرى اللاعبون مربعات بنفسجية-سوداء (نسيج مفقود).

كيف أنشئ مجموعة Workshop؟

أنشئ مجموعة جديدة في Steam Workshop، أضف الإضافات، واستخدم معرف المجموعة في سكريبت التشغيل مع معلمة +host_workshop_collection.

ما الذي أحتاجه لإعداد خادم DarkRP؟

قم بتنزيل وضع لعب DarkRP من GitHub، ثبّت إضافة DarkRP Modification، واضبط وضع اللعب على darkrp في server.cfg.

ما هو FastDL ولماذا هو مطلوب؟

FastDL يتيح للاعبين تنزيل المحتوى المخصص عبر HTTP بشكل أسرع عند الاتصال بالخادم. يمكن إعداده باستخدام Nginx أو Apache.

كيف أثبّت مود إدارة ULX؟

استنسخ ULib و ULX من GitHub إلى مجلد الإضافات. بعد إعادة تشغيل الخادم، استخدم أمر ulx adduserid لتعيين نفسك كمشرف أعلى.

ما هو معدل Tickrate المناسب لخادم GMod؟

يُنصح بـ 33 tickrate للخوادم القياسية. يمكن استخدام 66 tickrate للخوادم التنافسية لكنه يتطلب موارد معالج أكثر.

مقالات ذات صلة

كيفية تثبيت خادم Minecraft: دليل Paper

دليل شامل لتثبيت خادم Paper/Spigot Minecraft على REXE VDS: إعدادات Java، إدارة الإضافات وتحسين الأداء للحصول على تجربة لعب مستقرة.

11 دقائق
minecraftpaperspigot

كيفية تثبيت خادم CS2: دليل شامل

دليل شامل لتثبيت خادم CS2 المخصص على REXE VDS: SteamCMD، رمز GSLT، إعداد الخادم، أوضاع اللعب وحماية DDoS عبر Path Panel.

10 دقائق
cs2counter-strikesteamcmd
حركة الشبكةالداخل Gbpsالخارج Gbps