- چرا داشتن سرور اختصاصی DayZ اهمیت دارد؟
- پیشنیازها و انتخاب سختافزار / لوکیشن
- نصب SteamCMD و دانلود فایلهای سرور DayZ
- تنظیمات اولیه سرور و فایل پیکربندی
- اجرای سرور با tmux یا systemd
- پورتها و قواعد فایروال
- تنظیمات سیستمعامل برای بهینهسازی عملکرد و پینگ
- مدیریت مودها، بهروزرسانی خودکار و اسکریپتها
- نظارت، بکاپ و نگهداری
- نکات عملی برای کاهش پینگ و افزایش تجربه بازیکنان
- چکلیست آمادهسازی قبل از انتشار عمومی
- خلاصه و نتیجهگیری
- خدمات پیشنهادی
- الأسئلة الشائعة
چرا داشتن سرور اختصاصی DayZ اهمیت دارد؟
راهاندازی یک سرور اختصاصی DayZ به شما کنترل کامل روی قوانین بازی، مودها، زمان ریاستارت و ظرفیت پلیرها میدهد. در این راهنما بهطور گامبهگام و با تمرکز روی سرورهای لینوکسی به نصب SteamCMD، دانلود سرور، پیکربندی، امنیت شبکه، بهینهسازی پینگ و مدیریت مودها میپردازیم. مثالهای عملی شامل دستورات لینوکس، نمونه systemd unit، قواعد فایروال و پیشنهادات سختافزاری است.
پیشنیازها و انتخاب سختافزار / لوکیشن
قبل از شروع، موارد زیر را آماده کنید:
- نظام التشغيل: أوبونتو 20.04/22.04 أو ديبيان 11/12 (توصیهشده)
- دسترسی جذر یا کاربر با سودو
- پهنایباند پایدار 1 Gbps (برای سرورهای >50 پلیر)
- القرص NVMe SSD برای کاهش I/O latency
- CPU با تکهستهای قوی: برای 20-60 پلیر: 4-8 هسته با فرکانس بالا؛ برای <20 پلیر: 2-4 هسته کافیست
- حافظه: حداقل 8GB برای 20 پلیر، 16GB+ برای 60 پلیر و مودهای سنگین
- إمكانية Anti-DDoS و BGP/Peering مناسب از طرف ارائهدهنده
انتخاب لوکیشن
برای کمترین پینگ، دیتاسنتر نزدیک به بازیکنان و با مسیرهای شبکه (peering) خوب انتخاب کنید. مثالها:
- EU: فرانکفورت یا آمستردام
- NA: نیوجرسی یا لسآنجلس
- APAC: سنگاپور یا توکیو
نصب SteamCMD و دانلود فایلهای سرور DayZ
روش عمومی شامل نصب پیشنیازها، ایجاد کاربر غیرروت، اجرای SteamCMD و دانلود فایلهای سرور رسمی DayZ است.
۱) نصب پیشنیازها (Ubuntu/Debian)
sudo apt update
sudo apt install -y lib32gcc-s1 steamcmd tmux wget ca-certificates curl۲) ایجاد کاربر غیرروت برای اجرای سرور
sudo useradd -m -s /bin/bash dayz
sudo passwd dayz
sudo su - dayz۳) نصب/اجرای SteamCMD به عنوان کاربر dayz
mkdir ~/steamcmd && cd ~/steamcmd
steamcmd۴) دانلود سرور DayZ با SteamCMD
در SteamCMD دستورات زیر را اجرا کنید:
login anonymous
force_install_dir /home/dayz/dayzserver
app_update 223350 validate
quitمسیرهای مهم و دانلود مودها (Workshop)
برای مودهای Workshop میتوانید از workshop_download_item در SteamCMD یا ابزارهای اتوماتیک استفاده کنید. مثال:
steamcmd +login anonymous +workshop_download_item 221100 <workshop_id> +quitبرای پیدا کردن workshop_id به صفحه مود در Steam Workshop مراجعه کنید.
تنظیمات اولیه سرور و فایل پیکربندی
فایل کانفیگ اصلی معمولاً serverDZ.cfg یا server.cfg در پوشهی سرور قرار میگیرد. قالب پایه نمونه (نمادین) به شکل زیر است:
hostname = "My DayZ Server";
password = ""; // player password (optional)
passwordAdmin = "Adm!nPass";
maxPlayers = 60;
verifySignatures = 2; // for mods (Steam Workshop)
motd[] = {"Welcome to our server"};
voteThreshold = 0.33;سپس دسترسیها را تنظیم کنید:
chown dayz:dayz /home/dayz/dayzserver -R
chmod -R 750 /home/dayz/dayzserver
اجرای سرور با tmux یا systemd
اجرای دستی (tmux)
tmux new -s dayz
cd /home/dayz/dayzserver
./DayZServer_x64 -config=serverDZ.cfg -port=2302 -profiles=./profiles -name=server_mynameبرای Detach کردن ترمینال: Ctrl+B ثم د.
ساخت systemd unit (برای راهاندازی خودکار)
فایل زیر را بهعنوان root یا با sudo در /etc/systemd/system/dayz.service يخلق:
[Unit]
Description=DayZ Server
After=network.target
[Service]
Type=simple
User=dayz
WorkingDirectory=/home/dayz/dayzserver
ExecStart=/home/dayz/dayzserver/DayZServer_x64 -config=serverDZ.cfg -port=2302 -profiles=./profiles -name=server_myname
Restart=on-failure
RestartSec=10
LimitNOFILE=100000
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload
sudo systemctl enable --now dayz.service
sudo journalctl -u dayz -f
پورتها و قواعد فایروال
پورتهای رایج DayZ (باید بررسی نهایی شوند):
- UDP 2302 (پورت اصلی بازی)
- UDP 2303-2305 (در صورت نیاز برای چند پورت)
- UDP 27016 (Steam Query / Master)
- TCP/UDP 27015/27020 (در برخی کانفیگها برای RCON یا Steam)
نمونه قوانین UFW
sudo ufw allow 2302/udp
sudo ufw allow 27016/udp
sudo ufw allow 22/tcp # SSH
sudo ufw enableبا iptables
sudo iptables -A INPUT -p udp --dport 2302 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 27016 -j ACCEPT
تنظیمات سیستمعامل برای بهینهسازی عملکرد و پینگ
چند تنظیم شبکه و سیستم که معمولاً مفید است:
افزایش بافر UDP و TCP
sudo sysctl -w net.core.rmem_max=12582912
sudo sysctl -w net.core.wmem_max=12582912
sudo sysctl -w net.ipv4.udp_rmem_min=8192
sudo sysctl -w net.ipv4.udp_wmem_min=8192
sudo sysctl -w net.ipv4.tcp_tw_reuse=1
sudo sysctl -w net.ipv4.tcp_fin_timeout=15برای اعمال دائمی، مقادیر را در /etc/sysctl.conf يضيف.
IO & Scheduler
برای NVMe/SSD میتوانید scheduler را روی noop یا mq-deadline قرار دهید:
echo noop | sudo tee /sys/block/nvme0n1/queue/schedulerمطمئن شوید نام بلوک صحیح است.
مدیریت مودها، بهروزرسانی خودکار و اسکریپتها
نمونه اسکریپت ساده برای بهروزرسانی سرور DayZ:
#!/bin/bash
cd /home/dayz/steamcmd
./steamcmd +login anonymous +force_install_dir /home/dayz/dayzserver +app_update 223350 validate +quit
systemctl restart dayzبرای اجرای خودکار با cron:
crontab -e
0 4 * * * /home/dayz/update_dayz.sh >> /home/dayz/update.log 2>&1مودهای Workshop را دانلود و در profile سرور قرار دهید، سپس پارامترهای مود را در command line اضافه کنید (مثل mods=/path1;/path2 و -mod=@modname).
نظارت، بکاپ و نگهداری
- لاگها: از Journalctl و فایلهای لاگ داخل پوشه سرور استفاده کنید.
- بکاپ: اسکریپت روزانه برای بکاپ گرفتن از پوشه profiles و پایگاه داده و ذخیره در Object Storage یا محل خارجی تنظیم کنید.
- مانیتورینگ: از ابزارهایی مانند بروميثيوس + غرافانا أو نت داتا برای مانیتور کردن CPU/IO/Network استفاده کنید.
- اسنپشات: پیش از اعمال آپدیتهای بزرگ، snapshot از VM یا volume بگیرید.
نکات عملی برای کاهش پینگ و افزایش تجربه بازیکنان
- انتخاب لوکیشن نزدیک به بازیکنان؛ داشتن دیتاسنترهای متعدد (مثلاً 85+ لوکیشن) برای انتخاب محل مناسب اهمیت دارد.
- Peering و CDN برای فایلهای استاتیک مودها کمک میکند تا دانلود سریعتر و بار شبکه کاهش یابد.
- محدود کردن تغییرات disk I/O در ساعات اوج؛ استفاده از NVMe و cache مناسب.
- تنظیم نرخ بازپخش و ارسال بسته (tickrate/heartbeat) مطابق با توان سختافزار و تعداد پلیرها.
- استفاده از سرورهای Anti-DDoS و کانفیگ شبکه (BGP anycast) برای جلوگیری از حملات.
چکلیست آمادهسازی قبل از انتشار عمومی
- [ ] بررسی پینگ از مناطق هدف (ping/iperf)
- [ ] فعال بودن Anti-DDoS و فایروال
- [ ] آزمون ورود و ذخیرهسازی پروفایل بازیکنان
- [ ] تنظیم backup & snapshot خودکار
- [ ] سند کردن مراحل بروزرسانی و برگشت (rollback)
- [ ] مانیتورینگ و آلارم برای CPU/Memory/Network
خلاصه و نتیجهگیری
در این راهنما مراحل اصلی از پیشنیازها، نصب SteamCMD، دانلود و اجرای سرور، پیکربندی، امنیت، بهینهسازی سیستم و نکات کاهش پینگ پوشش داده شد. برای بهترین تجربه بازی بهخصوص برای سرورهای عمومی یا رقابتی، انتخاب لوکیشن مناسب، استفاده از NVMe SSD، CPU تکهستهای قوی، حافظه کافی و خدمات Anti-DDoS ضروری است.
خدمات پیشنهادی
خدمات مرتبط که میتواند در پیادهسازی و نگهداری سرور مفید باشد:
- دسترسی به 85+ لوکیشن جهانی برای انتخاب نزدیکترین دیتاسنتر به بازیکنان شما
- سرورهای VPS و سرور ابری با عملکرد بالا مناسب برای سرورهای گیم
- سرورهای گیمینگ و VPS مخصوص گیم با کانفیگ بهینه، Anti-DDoS و شبکه BGP
- امکان استفاده از سرورهای اختصاصی و GPU برای مودها یا نیازهای خاص
- هاست، دامنه، CDN برای توزیع مودها و فایلها، و پشتیبانی 24/7









