- المتطلبات الأساسية واختيار الخادم
- أنشئ بنية مستخدم ودليل مخصصة
- قم بتنزيل وتثبيت الخادم المخصص باستخدام SteamCMD
- إنشاء ملف تكوين الخادم وتعديله
- فتح المنافذ وتكوين جدار الحماية (UFW و iptables)
- تثبيت التعديلات (ورشة عمل ستيم)
- تشغيل الخادم (screen/systemd)
- تحسين جافا وتخصيص الذاكرة
- النسخ الاحتياطية
- الأمن والحماية من هجمات DDoS
- المراقبة والتسجيل
- اختبار الاتصال وحل المشكلات الشائعة
- اختيار الموقع واقتراحات عملية
- نصائح إضافية وأفضل الإعدادات
- الأسئلة الشائعة
المتطلبات الأساسية واختيار الخادم
في هذا القسم، يتم توفير المتطلبات الأساسية وتوصيات الأجهزة لإعداد خادم. بروجكت زومبويد نقوم بمراجعة التوزيعات المقترحة. أوبونتو 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 وتكوين الملفات وصولًا إلى إدارة التعديلات وأخذ النسخ الاحتياطية.









