如何设置 DayZ 在线游戏服务器
در این مقاله با مراحل گام‌به‌گام راه اندازی سرور بازی DayZ آشنا شوید و از نکات مهم مثل بهینه‌سازی پینگ و امنیت باخبر شوید.

如何设置 DayZ 在线游戏服务器

我们的教程将一步步帮助您搭建 DayZ 在线游戏服务器。重点包括选择合适的硬件、优化网络延迟和网络安全,以及管理模组。.
0 股票
0
0
0
0

 

چرا داشتن سرور اختصاصی DayZ اهمیت دارد؟

راه‌اندازی یک سرور اختصاصی DayZ به شما کنترل کامل روی قوانین بازی، مودها، زمان ری‌استارت و ظرفیت پلیرها می‌دهد. در این راهنما به‌طور گام‌به‌گام و با تمرکز روی سرورهای لینوکسی به نصب SteamCMD، دانلود سرور، پیکربندی، امنیت شبکه، بهینه‌سازی پینگ و مدیریت مودها می‌پردازیم. مثال‌های عملی شامل دستورات لینوکس، نمونه systemd unit، قواعد فایروال و پیشنهادات سخت‌افزاری است.

 

پیش‌نیازها و انتخاب سخت‌افزار / لوکیشن

قبل از شروع، موارد زیر را آماده کنید:

  • 操作系统: Ubuntu 20.04/22.04 或者 Debian 11/12 (توصیه‌شده)
  • دسترسی یا کاربر با sudo
  • پهنای‌باند پایدار 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 然后 D.

ساخت 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.target
sudo 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 یا محل خارجی تنظیم کنید.
  • مانیتورینگ: از ابزارهایی مانند 普罗米修斯 + 格拉法纳 或者 Netdata برای مانیتور کردن 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

 

常见问题解答

您可能也喜欢

战神2游戏剧情

引言:奎托斯,这位曾经的凡人战士,击败了战神阿瑞斯,成为了新的战神。然而……