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

إعداد خادم Project Zomboid: دليل الخادم المخصص والتعديلات

إعداد خادم Project Zomboid مخصص على REXE VDS مع دعم التعديلات وإعدادات Sandbox وتكوين اللعب الجماعي.

وقت القراءة: 14 dk إعداد خادم الألعاب
project zomboidsteamcmdخادم ألعابdedicated serverتعديلاتsandboxزومبي

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

مقدمة

Project Zomboid هي لعبة بقاء زومبي متساوية القياس من تطوير The Indie Stone. مع دعم واسع للتعديلات وإعدادات Sandbox، يمكنك إنشاء تجربة بقاء فريدة على خادمك المخصص. يغطي هذا الدليل التثبيت الكامل لخادم Project Zomboid على REXE VDS.

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

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

يزداد استهلاك RAM لخادم Project Zomboid مع عدد التعديلات وحجم الخريطة. يوصى بـ 8 جيجابايت+ RAM عند استخدام العديد من التعديلات.

تثبيت SteamCMD

hljs bash
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install lib32gcc-s1 lib32stdc++6 -y
sudo adduser steam --disabled-login
sudo su - steam
mkdir ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzf steamcmd_linux.tar.gz

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

hljs bash
cd ~/steamcmd
./steamcmd.sh +force_install_dir ~/pzserver +login anonymous +app_update 380870 validate +quit

معرف تطبيق خادم Project Zomboid المخصص: 380870. التنزيل الأولي حوالي 3-5 جيجابايت.

تثبيت Java

hljs bash
sudo apt install openjdk-17-jre-headless -y
java -version

تكوين الخادم

التشغيل الأول

hljs bash
cd ~/pzserver
./start-server.sh -servername rexeserver

عيّن كلمة مرور مسؤول قوية. ثم اكتب quit لإيقاف الخادم.

تكوين servertest.ini

hljs bash
nano ~/Zomboid/Server/rexeserver.ini
hljs ini
PublicName=REXE Project Zomboid Server
MaxPlayers=32
Open=true
PVP=false
PauseEmpty=true
DefaultPort=16261
UDPPort=16262
SaveWorldEveryMinutes=10
PlayerSafehouse=true
SteamVAC=true
Map=Muldraugh, KY
Mods=
WorkshopItems=
VoiceEnable=true
LoginQueueEnabled=true

المعلمات الرئيسية

المعلمةالوصفالافتراضي
DefaultPortمنفذ اللعبة (UDP)16261
UDPPortمنفذ الاتصال المباشر (UDP)16262
MaxPlayersالحد الأقصى للاعبين32
PVPPvP مفعّلfalse
PauseEmptyإيقاف مؤقت عند الفراغtrue

إعدادات Sandbox

SandboxVars.lua

hljs bash
nano ~/Zomboid/Server/rexeserver_SandboxVars.lua
hljs lua
SandboxVars = {
  Zombies = 4,                    -- 1=جنوني, 2=عالي جداً, 3=عالي, 4=عادي, 5=منخفض
  Distribution = 1,               -- 1=تركيز حضري, 2=موحد
  DayLength = 2,                  -- 1=15دقيقة, 2=30دقيقة, 3=ساعة, 4=ساعتان
  ZombieSpeed = 3,                -- 1=عدّاؤون, 2=متثاقلون سريعون, 3=متثاقلون
  ZombieStrength = 3,             -- 1=خارق, 2=عادي, 3=ضعيف
  ZombieTransmission = 1,         -- 1=دم+لعاب, 2=لعاب فقط, 3=الجميع مصاب
  XpMultiplier = 1.0,
  EnableVehicles = true,
  CarSpawnRate = 3,
}

خصص إعدادات Sandbox وفقاً لتفضيلات مجتمعك.

تثبيت التعديلات

تعديلات Steam Workshop

hljs ini
Mods=Hydrocraft;Arsenal(26)GunFighter;Brita_2
WorkshopItems=2778991038;2297098490;2275412165

خطوات تثبيت التعديلات

  1. افتح صفحة التعديل في Steam Workshop
  2. انسخ معرف Workshop من الرابط
  3. أضف المعرف إلى سطر WorkshopItems (مفصولة بفاصلة منقوطة)
  4. أضف اسم التعديل إلى سطر Mods
  5. أعد تشغيل الخادم

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

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

hljs bash
nano ~/pzserver/start.sh
hljs bash
#!/bin/bash
cd ~/pzserver
./start-server.sh \
  -servername rexeserver \
  -adminpassword كلمة_مرور_المسؤول \
  -ip 0.0.0.0 \
  -port 16261 \
  -udpport 16262 \
  -players 32 \
  -cachedir=/home/steam/Zomboid \
  -Xmx4096m
hljs bash
chmod +x ~/pzserver/start.sh

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

المنفذالبروتوكولالاستخدام
16261UDPمنفذ لعبة Project Zomboid
16262UDPمنفذ الاتصال المباشر

قواعد جدار الحماية

hljs bash
sudo ufw allow 16261/udp comment "PZ Game"
sudo ufw allow 16262/udp comment "PZ Direct"
sudo ufw reload

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

hljs bash
sudo nano /etc/systemd/system/pzserver.service
hljs ini
[Unit]
Description=Project Zomboid Dedicated Server
After=network.target

[Service]
Type=simple
User=steam
WorkingDirectory=/home/steam/pzserver
ExecStart=/home/steam/pzserver/start.sh
Restart=on-failure
RestartSec=30

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

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

hljs bash
nano ~/update_pz.sh
hljs bash
#!/bin/bash
echo "إيقاف خادم Project Zomboid..."
sudo systemctl stop pzserver
~/steamcmd/steamcmd.sh +force_install_dir ~/pzserver +login anonymous +app_update 380870 +quit
sudo systemctl start pzserver
echo "اكتمل التحديث."
hljs bash
chmod +x ~/update_pz.sh
crontab -e
0 5 * * * /home/steam/update_pz.sh

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

hljs bash
nano ~/backup_pz.sh
hljs bash
#!/bin/bash
BACKUP_DIR="/home/steam/pz-backups"
SAVE_DIR="/home/steam/Zomboid/Saves"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
tar -czf "$BACKUP_DIR/pz_save_$DATE.tar.gz" -C "$SAVE_DIR" .
find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete
echo "اكتمل النسخ الاحتياطي: pz_save_$DATE.tar.gz"
hljs bash
chmod +x ~/backup_pz.sh
crontab -e
0 */4 * * * /home/steam/backup_pz.sh

أوامر المسؤول

/adduser اسم_المستخدم كلمة_المرور
/addusertowhitelist اسم_المستخدم
/setaccesslevel اسم_المستخدم admin
/kickuser اسم_المستخدم
/banuser اسم_المستخدم
/save
/quit

الخلاصة

يمكن إكمال إعداد خادم Project Zomboid المخصص بسرعة باستخدام SteamCMD. مع إعدادات Sandbox الشاملة ودعم التعديلات، يمكنك إنشاء تجربة بقاء زومبي فريدة لمجتمعك.