شرح كيفية إعداد خادم لعبة Project Zomboid عبر الإنترنت
مقدمة لإعداد خادم لعبة Project Zomboid مع التركيز على التثبيت والتكوين والتحسين للاعبين ومديري الخوادم.

شرح كيفية إعداد خادم لعبة Project Zomboid عبر الإنترنت

تُقدّم هذه المقالة شرحًا مُفصّلًا لإعداد خادم لعبة Project Zomboid عبر الإنترنت. من خلال تعلّم كيفية التثبيت والتكوين وتحسين الأداء، يُمكنك إنشاء خادم مستقر وآمن للاعبين.
0 الأسهم
0
0
0
0

المتطلبات الأساسية واختيار الخادم

في هذا القسم، يتم توفير المتطلبات الأساسية وتوصيات الأجهزة لإعداد خادم. بروجكت زومبويد نقوم بمراجعة التوزيعات المقترحة. أوبونتو 20.04/22.04 أو ديبيان 11/12 وهي معروفة بخوادم الألعاب التي تم اختبارها واستقرارها.

موارد الأجهزة الموصى بها:

  • يصل عدد اللاعبين إلى 10: 2-4 وحدات معالجة مركزية افتراضية، ذاكرة وصول عشوائي (RAM) بسعة 4-8 جيجابايتقرص SSD
  • من 10 إلى 50 لاعبًا أو أوضاع لعب متعددة: 4+ وحدات معالجة مركزية افتراضية، ذاكرة وصول عشوائي (RAM) بسعة 8 جيجابايت أو أكثر
  • ملحوظة: تتطلب التعديلات وعمليات عرض الخادم المزيد من الذاكرة ووحدة المعالجة المركزية؛ بالنسبة للتطبيقات الثقيلة، استخدم خوادم الحوسبة أو خوادم الرسومات.

يلزم وجود نظام تشغيل محدّث، وصلاحيات الجذر أو sudo، ومنافذ مفتوحة للوصول إلى المشغل.

مثال على تثبيت الحزم الأساسية (أوبونتو/ديبيان)

sudo apt update && sudo apt install -y openjdk-11-jre-headless steamcmd screen unzip htop fail2ban rsync

توضيح: اختر إصدار جافا بناءً على إصدار اللعبة (عادةً ما يكون OpenJDK 11 متوافقًا). استخدم OpenJDK 17 إذا لزم الأمر.

أنشئ بنية مستخدم ودليل مخصصة

يُنصح بتشغيل خادم اللعبة تحت حساب مستخدم غير الجذر لـ عزل أمني وتسهيل إدارة الصلاحيات.

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

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

لتنزيل ملفات الخادم من SteamCMD يدعم مشروع زومبويد ورشة عمل ستيم للتعديلات.

sudo -u pzserver steamcmd +login anonymous +force_install_dir /home/pzserver +app_update 380870 validate +quit

توضيح: إذا واجهت معرف تطبيق مختلف، فتحقق من سجل SteamCMD أو وثائق اللعبة الرسمية.

إنشاء ملف تكوين الخادم وتعديله

توجد ملفات التكوين الرئيسية عادةً في مجلد التثبيت. وقد تتضمن أسماء الملفات servertest.ini أو server.ini أو serverconfig.lua.

مثال على الإعدادات الأساسية في ملف servertest.ini

# servertest.ini (sample)
Public=true
ServerName=MyPZServer
ServerPort=16261
MaxPlayers=32
Password=MySecretPass
RCONPort=16262

اختر المنافذ بناءً على احتياجاتك وافتحها في جدار الحماية. اختبر أي تغييرات وأعد تشغيل الخدمة.

فتح المنافذ وتكوين جدار الحماية (UFW و iptables)

قبل البدء، افتح المنافذ المحددة في ملف التكوين الخاص بجدار الحماية. مثال باستخدام UFW:

sudo ufw allow OpenSSH
sudo ufw allow 16261/udp
sudo ufw allow 16262/udp
sudo ufw enable
sudo ufw status

قد تتطلب بعض عمليات التثبيت منافذ TCP؛ راجع سجلات الخادم. إذا كان الخادم خلف جدار حماية NAT، فقم بإعداد إعادة توجيه المنافذ على جهاز التوجيه.

تثبيت التعديلات (ورشة عمل ستيم)

هناك طريقتان شائعتان لتثبيت التعديلات: التنزيل مباشرة باستخدام SteamCMD أو الاشتراك في ورشة العمل عبر العميل ونسخ مجلد التعديل إلى الخادم.

الطريقة الأولى: تحميل التعديلات باستخدام SteamCMD

sudo -u pzserver steamcmd +login anonymous +workshop_download_item 108600 <ITEMID> +quit

بعد تثبيت التعديلات، قم بملء ملفات server/mods أو server/WorkshopItems.txt وفقًا لوثائق التعديلات وأعد تشغيل الخادم.

تشغيل الخادم (screen/systemd)

للتنفيذ السريع، يمكنك استخدام شاشة استخدم أو أنشئ خدمة systemd لتشغيل الخادم تلقائيًا.

مثال مع الشاشة

sudo -u pzserver screen -S pzserver
cd /home/pzserver
./start-server.sh

للخروج من الشاشة: Ctrl+A ثم D. للعودة: sudo -u pzserver screen -r pzserver.

مثال على خدمة systemd

sudo tee /etc/systemd/system/pzserver.service > /dev/null <<'EOF'
[Unit]
Description=Project Zomboid Server
After=network.target

[Service]
Type=simple
User=pzserver
WorkingDirectory=/home/pzserver
ExecStart=/bin/bash -lc './start-server.sh'
Restart=on-failure
LimitNOFILE=4096

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now pzserver.service
sudo systemctl status pzserver.service

تحسين جافا وتخصيص الذاكرة

لتحسين الأداء، شغّل JVM باستخدام المعلمات المناسبة. إليك مثال عام يُنصح بضبطه بناءً على ذاكرة الوصول العشوائي (RAM) واختبار الأداء:

java -Xms4G -Xmx6G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication -jar ProjectZomboidServer.jar

ملحوظة: قم بتعيين قيمة Xmx بناءً على ذاكرة الوصول العشوائي للخادم وعدد اللاعبين. عادةً لكل لاعب 150-400 ميجابايت ضع في اعتبارك أن التعديلات تزيد من استهلاك الطاقة.

النسخ الاحتياطية

قم بعمل نسخ احتياطية منتظمة لملفات حفظ اللاعب والعالم الخاص بك وأرسل النسخ الاحتياطية إلى موقع بعيد (النسخ الاحتياطي عن بعد أو التخزين السحابي).

مثال على مهمة cron للنسخ الاحتياطي اليومي

sudo crontab -u pzserver -e
# Example using rsync
0 3 * * * /usr/bin/rsync -a --delete /home/pzserver/Saves /backups/pzserver/$(date +\%F)/

# Or using tar
0 2 * * * /bin/tar -czf /backups/pzserver/saves_$(date +\%F).tar.gz -C /home/pzserver Saves

الأمن والحماية من هجمات DDoS

تتضمن توصيات الأمان تعيين كلمة مرور للخادم، واستخدام Fail2ban يُستخدم لحماية SSH وتحديثات النظام المنتظمة.

  • استخدم خدمات مكافحة هجمات DDoS أو جدران الحماية متعددة الطبقات للحماية من الهجمات.
  • تقييد الوصول إلى RCON أو أدوات الإدارة لعناوين IP محددة.

الشركات التي أكثر من 85 موقعًا ويمكن للبنية التحتية لبروتوكول BGP/مكافحة هجمات DDoS التي توفرها أن توفر حماية كبيرة.

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

توجد سجلات النظام عادةً في المسار /home/pzserver/logs أو مجلد مشابه؛ لعرضها مباشرةً، استخدم الأمر tail -f:

tail -f /home/pzserver/console.txt

للتحقق من المصادر، استخدم أدوات مثل أعلى، iotop و netstat. في البيئات المهنية، استخدم Prometheus + Grafana أو خدمات المراقبة السحابية.

اختبار الاتصال وحل المشكلات الشائعة

عادةً ما يمر اللاعبون عبر عنوان IP: المنفذ أو سيتم الاتصال بقائمة خوادم Steam. في حال فشل الاتصال:

  • تحقق من المنافذ (على سبيل المثال) حالة العمل غير المنظم أو sudo ss -ulnp | grep 16261).
  • تحقق من NAT وإعادة التوجيه.
  • تحقق من سجل الخادم بحثًا عن أخطاء في وضع أو إصدار جافا.
  • يجب أن تتطابق إصدارات التعديلات على الخادم والعميل.

اختيار الموقع واقتراحات عملية

للحصول على أقل زمن استجابة (ping)، اختر خادمًا قريبًا من غالبية اللاعبين:

  • أوروبا الوسطى للاعبين الأوروبيين
  • أمريكا الشرقية أو أمريكا الغربية للاعبين الأمريكيين
  • آسيا (سنغافورة/اليابان) للاعبين الآسيويين

الخدمات المقدمة مع أكثر من 85 موقعًا عالميًاتتيح لك خوادم VPS للألعاب وخوادم مكافحة هجمات DDoS نشر الخادم بالقرب من اللاعبين لتقليل زمن الاستجابة (ping) والتأخير.

نصائح إضافية وأفضل الإعدادات

  • التحديثات التلقائية: اكتب برامج نصية تقوم بعمل نسخ احتياطية قبل التحديثات.
  • استخدم اللقطات للتراجع السريع على خادم سحابي.
  • تحقق من سلوك الخادم من خلال اختبار التحميل (اختبار المستخدم أو اختبار الروبوت).
  • احتفظ بوثائق توثق تغييرات الوضع والتكوين.

خاتمة: باتباع الخطوات المذكورة أعلاه، يمكنك إعداد خادم مستقر وآمن وقابل للتوسع للعبة Project Zomboid. لقد غطينا كل شيء بدءًا من تثبيت SteamCMD وتكوين الملفات وصولًا إلى إدارة التعديلات وأخذ النسخ الاحتياطية.

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

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

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

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

قصة لعبة God of War 2

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