- پیشنیازها و انتخاب سرور
- ایجاد کاربر اختصاصی و ساختار دایرکتوری
- دانلود و نصب Dedicated Server با SteamCMD
- ساخت و ویرایش فایل پیکربندی سرور
- باز کردن پورتها و تنظیم فایروال (UFW و iptables)
- نصب مودها (Steam Workshop)
- اجرای سرور (screen / systemd)
- بهینهسازی جاوا و تخصیص حافظه
- پشتیبانگیری و بازگردانی (Backups)
- امنیت و محافظت از DDoS
- مانیتورینگ و لاگخوانی
- تست اتصال و رفع مشکلات رایج
- انتخاب لوکیشن و پیشنهادات عملی
- نکات تکمیلی و بهترین کانفیگها
- Часто задаваемые вопросы
پیشنیازها و انتخاب سرور
در این بخش، نیازمندیهای پایه و پیشنهادهای سختافزاری برای راهاندازی سرور Project Zomboid را مرور میکنیم. توزیعهای پیشنهادی عبارتاند از Ubuntu 20.04/22.04 Или Debian 11/12 که برای سرورهای بازی تست و پایدار شناخته شدهاند.
منابع سختافزاری پیشنهادی:
- تا 10 بازیکن: 2-4 vCPU, 4-8 گیگابایت RAM، دیسک SSD
- 10-50 بازیکن یا مودهای زیاد: 4+ vCPU, 8+ گیگابایت RAM
- Примечание: مودها و رندرینگ سرور نیاز به حافظه و CPU بیشتر دارند؛ برای کاربردهای سنگین از سرورهای محاسباتی یا سرور گرافیکی استفاده کنید.
سیستم عامل بهروز، دسترسی روت یا sudo و پورتهای باز مورد نیاز برای دسترسی بازیکنان لازم است.
نمونه نصب بستههای پایه (Ubuntu/Debian)
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دانلود و نصب Dedicated Server با SteamCMD
برای دانلود فایلهای سرور از SteamCMD استفاده کنید. Project Zomboid از Steam Workshop برای مودها پشتیبانی میکند.
sudo -u pzserver steamcmd +login anonymous +force_install_dir /home/pzserver +app_update 380870 validate +quitОбъяснение: اگر با appid متفاوت مواجه شدید، از لاگ 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 است، پورت فورواردینگ را در روتر تنظیم کنید.
نصب مودها (Steam Workshop)
دو روش معمول برای نصب مودها وجود دارد: دانلود مستقیم با SteamCMD یا مشترکشدن در Workshop از طریق کلاینت و کپی کردن پوشه مود به سرور.
روش اول: دانلود مودها با SteamCMD
sudo -u pzserver steamcmd +login anonymous +workshop_download_item 108600 <ITEMID> +quitپس از قرار دادن مودها، فایلهای server/mods یا server/WorkshopItems.txt را براساس مستندات مودها پر کنید و سرور را راهاندازی مجدد کنید.
اجرای سرور (screen / systemd)
برای اجرای سریع میتوانید از screen استفاده کنید یا یک سرویس systemd بسازید تا سرور بصورت خودکار اجرا شود.
مثال با screen
sudo -u pzserver screen -S pzserver
cd /home/pzserver
./start-server.shبرای خروج از screen: Ctrl+A then 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 را براساس RAM سرور و تعداد بازیکنان تعیین کنید. معمولاً برای هر بازیکن 150-400 مگابایت در نظر بگیرید؛ مودها مصرف را افزایش میدهند.
پشتیبانگیری و بازگردانی (Backups)
ساوهای بازیکن و جهان را بهصورت منظم بکاپ بگیرید و بکاپها را به لوکیشن جدا (remote backup یا فضای ابری) ارسال کنید.
نمونه کرون برای بکاپ روزانه
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
توصیههای امنیتی شامل تنظیم رمز عبور سرور، استفاده از фейл2бан برای محافظت SSH و بهروزرسانی منظم سیستم است.
- استفاده از سرویسهای ضد DDoS یا فایروال لایهای برای حفاظت در برابر حملات.
- محدود کردن دسترسی RCON یا ابزار مدیریتی به IPهای مشخص.
شرکتهایی که 85+ لوکیشن و زیرساخت BGP/Anti-DDoS ارائه میکنند میتوانند حفاظت قابل توجهی ایجاد کنند.
مانیتورینگ و لاگخوانی
لاگها معمولاً در /home/pzserver/logs یا پوشهٔ مشابه قرار دارند؛ برای مشاهدهٔ زنده از دستور tail -f استفاده کنید:
tail -f /home/pzserver/console.txtبرای بررسی منابع از ابزارهایی مانند htop, iotop و netstat استفاده کنید. در محیطهای حرفهای از Prometheus + Grafana یا سرویسهای مانیتورینگ کلود بهره ببرید.
تست اتصال و رفع مشکلات رایج
بازیکنان معمولاً از طریق IP:Port یا لیست سرور Steam متصل میشوند. اگر اتصال برقرار نشد:
- پورتها را بررسی کنید (مثلاً
статус UFWИлиsudo ss -ulnp | grep 16261). - NAT و فورواردینگ را بررسی کنید.
- لاگ سرور را برای خطاهای مود یا نسخهٔ جاوا بررسی کنید.
- نسخه مودها روی سرور و کلاینت باید مطابقت داشته باشد.
انتخاب لوکیشن و پیشنهادات عملی
برای کمترین پینگ، سروری نزدیک به اکثریت بازیکنان انتخاب کنید:
- اروپا مرکزی برای بازیکنان اروپایی
- شرق یا غرب آمریکا برای بازیکنان آمریکایی
- آسیا (سنگاپور/ژاپن) برای بازیکنان آسیایی
خدمات ارائهشده با Более 85 представительств по всему миру، VPS مخصوص گیم و سرورهای ضد DDoS به شما امکان میدهد سرور را نزدیک به بازیکنان مستقر کنید تا پینگ و لگ کاهش یابد.
نکات تکمیلی و بهترین کانفیگها
- بهروزرسانی خودکار: اسکریپتهایی بنویسید که قبل از آپدیت بکاپ بگیرند.
- در سرور ابری از snapshot برای بازگشت سریع استفاده کنید.
- با تست بار (تست کاربر یا بات) رفتار سرور را بررسی کنید.
- مستندسازی تغییرات مود و پیکربندیها را نگه دارید.
نتیجهگیری: با دنبالکردن مراحل بالا میتوانید یک سرور پایدار، امن و قابل توسعه برای Project Zomboid راهاندازی کنید. از نصب SteamCMD و پیکربندی فایلها تا مدیریت مودها و بکاپگیری را پوشش دادیم.









