آموزش راه اندازی سرور بازی آنلاین DayZ
در این مقاله با مراحل گام‌به‌گام راه اندازی سرور بازی DayZ آشنا شوید و از نکات مهم مثل بهینه‌سازی پینگ و امنیت باخبر شوید.

آموزش راه اندازی سرور بازی آنلاین DayZ

آموزش ما به شما کمک می‌کند تا یک سرور بازی آنلاین DayZ را گام‌به‌گام راه‌اندازی کنید. نکات کلیدی شامل انتخاب سخت‌افزار مناسب، بهینه‌سازی پینگ و امنیت وب، و مدیریت مودها خواهید بود.
0 Aktien
0
0
0
0

 

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

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

 

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

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

  • Betriebssystem: Ubuntu 20.04/22.04 Oder Debian 11/12 (توصیه‌شده)
  • دسترسی Wurzel یا کاربر با sudo
  • پهنای‌باند پایدار 1 Gbps (برای سرورهای >50 پلیر)
  • Scheibe NVMe SSD برای کاهش I/O latency
  • CPU با تک‌هسته‌ای قوی: برای 20-60 پلیر: 4-8 هسته با فرکانس بالا؛ برای <20 پلیر: 2-4 هسته کافیست
  • حافظه: حداقل 8GB برای 20 پلیر، 16GB+ برای 60 پلیر و مودهای سنگین
  • Wahrscheinlichkeit 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 Dann D.

ساخت systemd unit (برای راه‌اندازی خودکار)

فایل زیر را به‌عنوان root یا با sudo در /etc/systemd/system/dayz.service Erstellen:

[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 Hinzufügen.

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 یا محل خارجی تنظیم کنید.
  • مانیتورینگ: از ابزارهایی مانند Prometheus + Grafana Oder 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

 

Häufig gestellte Fragen

Das könnte Ihnen auch gefallen

God of War 3 Story

Einleitung Noch vor dem Götterdämmerungszeitalter entstand eine Legende, die ihren Platz unter ihnen beanspruchte…