شرح كامل لكيفية إعداد خادم لعبة Garry's Mod عبر الإنترنت
تقدم هذه المقالة شرحاً تفصيلياً خطوة بخطوة حول كيفية إعداد خادم لعبة Garry's Mod عبر الإنترنت لمسؤولي الخوادم واللاعبين.

شرح كامل لإعداد خادم لعبة Garry's Mod عبر الإنترنت

تقدم هذه المقالة دليلاً تفصيلياً خطوة بخطوة لإعداد خادم لعبة Garry's Mod عبر الإنترنت. تتضمن نصائح مثل اختيار موقع مناسب، وتثبيت وتكوين SRCDS، وإعدادات الأمان، وتحسين زمن الاستجابة (ping) وموارد الجهاز.
0 الأسهم
0
0
0
0

هل أنت مستعد لإعداد خادم Garry's Mod مستقر وآمن وذو زمن استجابة منخفض؟

يشرح هذا الدليل المفصل خطوة بخطوة لمديري الخوادم واللاعبين وفرق DevOps العملية الكاملة لإعداد خادم Garry's Mod (SRCDS) باستخدام SteamCMD. تتناول هذه المقالة اختيار الموقع المناسب، وتثبيت وتكوين SRCDS، وإعدادات الأمان مثل RCON وجدار الحماية، وتحسين زمن الاستجابة (ping) والأجهزة، وإدارة ورشة العمل، وأتمتة التحديثات والنسخ الاحتياطي، ونصائح عملية للصيانة والمراقبة.

اختيار الموقع والخطة المناسبين

يُعدّ اختيار الموقع بالغ الأهمية في لعبة Garry's Mod، إذ تعتمد تجربة اللاعب على سرعة الاتصال (ping). بالنسبة للاعبين في بلد مُحدد، اختر أقرب مركز بيانات: أوروبا (فرانكفورت/لندن)، أمريكا الشمالية (نيويورك/شيكاغو)، أمريكا الغربية (لوس أنجلوس)، آسيا (سنغافورة/طوكيو)، أستراليا (سيدني)، البرازيل (ساو باولو).

الغرض من رسالة التنبيه التالية 80 مللي ثانية للحصول على تجربة مقبولة، اتبع ما يلي: 60 مللي ثانية يُنصح به لاكتساب خبرة تنافسية.

توصية بالأجهزة بناءً على عدد اللاعبين

  • صغير (حتى 12 لاعبًا): 2 وحدة معالجة مركزية افتراضية، 4 جيجابايت من ذاكرة الوصول العشوائي، قرص صلب SSD، عرض نطاق ترددي 100 ميجابت في الثانية.
  • متوسط (12-32 لاعبًا): 4 وحدات معالجة مركزية افتراضية، 8-16 جيجابايت من ذاكرة الوصول العشوائي، محرك أقراص الحالة الصلبة NVMe، 1 جيجابت في الثانية.
  • كبير (أكثر من 32 لاعبًا أو إضافات ثقيلة): خادم ذو 6+ وحدات معالجة مركزية افتراضية، وذاكرة وصول عشوائي 32 جيجابايت أو أكثر، وNVMe، وسرعة نقل بيانات من 1 إلى 10 جيجابت في الثانية، وسرعة إدخال/إخراج عالية.

استخدم خوادم مخصصة للألعاب أو خوادم مضادة لهجمات DDoS لتقليل زمن الاستجابة وحماية البيانات من الهجمات. استخدم شبكة توصيل المحتوى (CDN) لتوزيع ملفات التنزيل (الخرائط، الإضافات) لتقليل استهلاك النطاق الترددي وتسريع التنزيلات.

المتطلبات الأساسية وإعداد النظام

نظام التشغيل الموصى به: أوبونتو 20.04/22.04 أو ديبيان 11/12. قم بتشغيل الأوامر التالية كمستخدم لديه صلاحيات sudo لتحديث النظام وتثبيت المتطلبات الأساسية.

sudo apt update && sudo apt upgrade -y
sudo apt install -y wget lib32gcc-s1 lib32stdc++6 ca-certificates screen tmux unzip

إذا كانت الحزمة ستيم سمد متوفر في خزانات:

sudo apt install -y steamcmd

وإلا، فقم بتثبيت SteamCMD يدويًا:

sudo mkdir -p /opt/steamcmd
sudo chown $USER:$USER /opt/steamcmd
cd /opt/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

أنشئ مستخدمًا غير مستخدم الجذر لتشغيل الخادم:

sudo useradd -m -s /bin/bash gmod
sudo passwd gmod
sudo mkdir -p /home/gmod/server
sudo chown -R gmod:gmod /home/gmod

قم بتنزيل وتثبيت SRCDS باستخدام SteamCMD

قم بتسجيل الدخول إلى حساب مستخدم gmod وقم بتشغيل SteamCMD لتثبيت خادم Garry's Mod:

sudo su - gmod
/opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/gmod/server +app_update 4020 validate +quit

لتنزيل عناصر ورشة العمل (مثل المجموعة أو الخريطة):

/opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/gmod/server +app_update 4020 validate +workshop_download_item 4020 <WORKSHOP_ID> +quit

لتحميل مجموعة تلقائيًا عند بدء تشغيل SRCDS، استخدم المعلمات التالية:

+host_workshop_collection <COLLECTION_ID> +host_workshop_authkey <STEAM_WEB_API_KEY>

تكوين الخادم — ملف server.cfg ومعلمات التنفيذ

ضع ملف الإعدادات الأساسي في المسار /home/gmod/server/garrysmod/cfg/server.cfg إنشاء أو تعديل. مثال على الإعدادات الأساسية:

hostname "My GMod Server"
rcon_password "PUT_A_STRONG_PASSWORD_HERE"
sv_password ""
sv_cheats 0
sv_lan 0
sv_allowdownload 1
sv_allowupload 1
sv_maxrate 30000
sv_minrate 5000
sv_timeout 120
sv_voiceenable 1
sv_pure 0
sv_region 3

نصائح حول الإعدادات:

  • sv_maxrate و sv_minrate يتم التعديل بناءً على عرض النطاق الترددي وعدد اللاعبين.
  • لإدارة التعديلات والوصول إلى الملفات من مجموعة ورشة العمل استخدم هذه الخاصية لجعل اللاعبين يقومون بتنزيل الملفات تلقائيًا.

مثال على معلمات تنفيذ SRCDS:

cd /home/gmod/server
./srcds_run -game garrysmod +maxplayers 32 +map gm_flatgrass -tickrate 66 -port 27015 +host_workshop_collection <COLLECTION_ID> -autoupdate

تشغيل الخادم كخدمة systemd

أنشئ خدمة systemd لتسهيل الإدارة والتشغيل التلقائي عند بدء التشغيل. مثال على إنشاء ملف خدمة:

sudo tee /etc/systemd/system/gmod.service <<'EOF'
[Unit]
Description=Garry's Mod Server
After=network.target

[Service]
Type=simple
User=gmod
WorkingDirectory=/home/gmod/server
ExecStart=/home/gmod/server/srcds_run -game garrysmod +maxplayers 32 +map gm_flatgrass -tickrate 66 -port 27015
Restart=on-failure
RestartSec=10
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable gmod.service
sudo systemctl start gmod.service
sudo journalctl -u gmod.service -f

جدار الحماية والمنافذ وأمن الشبكة

منافذ Garry's Mod / SRCDS الشائعة:

  • UDP 27015 (لعبة واستعلام)
  • TCP/UDP 27015 (قد يستخدم RCON بروتوكول TCP)
  • UDP 27005 (عميل ستيم)

مثال على التكوين باستخدام UFW:

sudo ufw allow 27015/tcp
sudo ufw allow 27015/udp
sudo ufw allow 27005/udp
sudo ufw enable

للحماية من هجمات DDoS، استخدم خطط خوادم مضادة لهجمات DDoS لتصفية هجمات الشبكة قبل وصولها إلى الخادم.

تحسين الأداء وتقليل زمن الاستجابة (ping)

أهم النصائح لتحسين أداء الخادم:

  • اختر موقعًا قريبًا من اللاعبين لتقليل زمن الاستجابة (RTT).
  • استخدم SSD/NVMe لتقليل أوقات تحميل الخرائط وزيادة عمليات الإدخال/الإخراج.
  • استخدم وحدة معالجة مركزية عالية التردد لإجراء حسابات الفيزياء؛ يعتمد GMod على تردد النواة الواحدة في كثير من الحالات.

إعدادات نواة الشبكة (مثال):

sudo sysctl -w net.core.rmem_max=26214400
sudo sysctl -w net.core.wmem_max=26214400

كذلك، يجب موازنة قيم sv_maxrate و tickrate و maxplayers بناءً على الموارد وعدد اللاعبين، واختبار التعديلات الثقيلة قبل إصدارها على الخادم.

إدارة التعديلات، وورشة العمل، وأتمتة التنزيلات

استخدم SteamCMD لإضافة التعديلات من ورشة العمل:

/opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/gmod/server +workshop_download_item 4020 <WORKSHOP_ID> +quit

اقتراح: استخدم المجموعة ومرر معرّفها في المعامل +مجموعة ورش العمل المضيفة اضبط برنامج Steam على تنزيل العناصر عندما يكون الخادم قيد التشغيل.

لتثبيت الإضافات يدويًا، ما عليك سوى نسخ الملفات إلى garrysmod/addons قم بإدخاله وأعد تشغيل الخادم.

التحديثات والنسخ الاحتياطية التلقائية

نص برمجي بسيط لتحديث SRCDS:

#!/bin/bash
systemctl stop gmod
/opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/gmod/server +app_update 4020 validate +quit
systemctl start gmod

قم بإضافته إلى cron (مثال: كل يوم في الساعة 4 صباحًا):

sudo crontab -e
0 4 * * * /home/gmod/update_gmod.sh >> /var/log/gmod_update.log 2>&1

النسخ الاحتياطي: من المجلدات garrysmod/maps، garrysmod/addons وقم بعمل نسخ احتياطية منتظمة لملفات التكوين. استخدم أداة rsync أو لقطات البنية التحتية السحابية وتخزين الكائنات (متوافق مع S3) لاستعادة البيانات بسرعة.

المراقبة والسجلات والصيانة

تسجيل الدخول garrysmod/logs ويمكن رؤية systemd. استخدم logrotate لتدوير السجلات.

لمراقبة حالة الخادم، تُستخدم أدوات مثل بروميثيوس + غرافانا أو زابيكس يوصى بمراقبة وحدة المعالجة المركزية، وذاكرة الوصول العشوائي، والشبكة، وفقدان الحزم.

يمكن أن تؤدي عمليات إعادة التشغيل المجدولة (على سبيل المثال كل 6-12 ساعة) إلى تقليل تسرب الذاكرة والمشاكل التي تسببها الإضافات.

نصائح عملية للمديرين ومهندسي DevOps

  • قم باختبار التحديثات على خادم تجريبي أولاً لتحديد مشاكل التعديلات.
  • استخدم اسم نطاق أو نظام أسماء النطاقات (DNS) للخادم لتسهيل تغيير عنوان IP؛ أنشئ سجل A لـ server.example.com.
  • استخدم شبكة توصيل المحتوى (CDN) لتنزيل الملفات، وموازن الأحمال (Load Balancer) وبروتوكول BGP/Anycast لضمان التوافر العالي.

أفضل الممارسات: عند زيادة السعة أو تقديم خدمة عامة، استخدم تقسيم حركة مرور الملفات إلى شبكات توصيل المحتوى (CDNs) والتصميم الموزع لتقليل حمل الخادم وتحسين التوافر.

ملخص وتوصيات عامة

باتباع هذا الدليل، يمكنك إعداد خادم Garry's Mod مستقر وآمن ومُحسَّن، بدءًا من تثبيت SRCDS باستخدام SteamCMD وصولًا إلى تهيئة ملف server.cfg وخدمة systemd وجدار الحماية والحماية من هجمات DDoS. انتبه إلى الموقع، والأجهزة المناسبة، واستخدام شبكة توصيل المحتوى (CDN) للحصول على أفضل أداء.

يُعد مركز البيانات الأقرب إلى المستخدمين المستهدفين (على سبيل المثال، أوروبا: فرانكفورت/لندن، آسيا: سنغافورة/طوكيو) هو الخيار الأفضل للحصول على أقل زمن استجابة (ping).
يمكنك تثبيت SRCDS عن طريق إنشاء مستخدم غير الجذر، وتنزيل SteamCMD، وتشغيل الأمر +app_update 4020 من SteamCMD.
قم بتمكين RCON فقط عند الحاجة، واستخدم كلمات مرور قوية وقيود الوصول إلى IP، واستخدم نفق إدارة أو VPN إن أمكن.
استخدم المجموعة وقم بتعيين معرفها إلى +host_workshop_collection لكي يقوم Steam بتنزيل العناصر تلقائيًا؛ اختبر التعديلات الثقيلة قبل النشر.
تعتبر النسخ الاحتياطية المنتظمة للخرائط والإضافات ومجلدات cfg باستخدام rsync أو لقطة السحابة وتخزينها في تخزين الكائنات (متوافق مع S3) هي أفضل الممارسات.

قد يعجبك أيضاً

قصة لعبة God of War: Ragnarok

تركز القصة على كراتوس، إله الحرب، وابنه المراهق، أتريوس، الذين يواجهون صراع راجناروك القادم...

قصة لعبة God of War 2

مقدمة: بهزيمة آريس، أصبح كريتوس، المحارب الذي كان فانيًا، إله الحرب الجديد. ومع ذلك،...