آموزش راه اندازی سرور بازی آنلاین Valheim
راهنمای گام به گام برای نصب و پیکربندی سرور بازی آنلاین Valheim با بهینه‌سازی و امنیت.

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

0 اشتراک گذاری
0
0
0
0
  1. چرا راه‌اندازی سرور Valheim اختصاصی برای تجربه چندنفره مهم است؟
  2. آموزش راه اندازی سرور بازی آنلاین Valheim — پیش‌نیازها و تصمیم‌گیری‌ها
    1. نوع سرور
    2. لوکیشن
    3. محافظت
    4. سیستم‌عامل و دسترسی‌ها
  3. نصب SteamCMD و دانلود Valheim Dedicated Server
    1. ایجاد کاربر اختصاصی و نصب پیش‌نیازها
    2. نصب SteamCMD
    3. دانلود/بروزرسانی سرور Valheim
  4. پیکربندی و اجرای سرور Valheim
    1. اسکریپت راه‌اندازی ساده
    2. پارامترهای مهم
    3. راه‌اندازی به‌عنوان سرویس systemd (اجرای خودکار و مانیتورینگ)
  5. پورت‌ها، فایروال و NAT
    1. پورت‌های موردنیاز
    2. تنظیم UFW
    3. NAT/Port Forwarding
  6. بکاپ‌گیری، محل ذخیره و مدیریت world
    1. مسیر ذخیره دنیای بازی
    2. اتوآپدیت امن با SteamCMD
  7. اجرا با Docker (گزینه‌ی جایگزین)
  8. بهینه‌سازی عملکرد و منابع
    1. CPU و رم
    2. I/O و NVMe
    3. مانیتورینگ
  9. امنیت و محافظت (مهم برای سرورهای عمومی)
    1. اجرا به‌صورت non-root
    2. محدودیت‌ها و sandbox
    3. حفاظت DDoS
  10. مودها، BepInEx و پشتیبانی از ValheimPlus
    1. نکات مربوط به مودها
  11. نکات عملی و مشکلات رایج
  12. مقایسه لوکیشن‌های دیتاسنتر برای بازی آنلاین
  13. خدمات پیشنهادی برای میزبانی Valheim
  14. سؤالات متداول

چرا راه‌اندازی سرور Valheim اختصاصی برای تجربه چندنفره مهم است؟

آموزش راه‌اندازی سرور بازی آنلاین Valheim برای مدیران سرور، گیمرها و ارائه‌دهندگان هاستینگ یکی از پرکاربردترین مطالب برای ایجاد یک محیط چندنفره قابل‌اعتماد است. در این راهنما از صفر تا صدِ نصب، پیکربندی، امنیت، به‌روزرسانی و بهینه‌سازی سرور اختصاصی/سرور مجازی (VPS) برای Valheim را روی توزیع‌های Debian/Ubuntu و با گزینه‌ی Docker پوشش می‌دهیم. همچنین نکات مرتبط با انتخاب لوکیشن بهینه، محافظت ضد DDoS و مدیریت مودها مطرح شده است.

آموزش راه اندازی سرور بازی آنلاین Valheim — پیش‌نیازها و تصمیم‌گیری‌ها

قبل از شروع باید چند تصمیم فنی بگیرید. این تصمیم‌ها روی عملکرد، پایداری و تجربه بازیکنان تأثیر مستقیم دارند.

نوع سرور

VPS سبک (2 هسته، 2–4 گیگ رم) برای گروه‌های کوچک مناسب است.
سرور ابری یا فیزیکی با CPU تک‌هسته سریع، NVMe و 4–8+ گیگ رم برای سرورهای عمومی یا با مود توصیه می‌شود.

لوکیشن

لوکیشن نزدیک به بیشترین تعداد بازیکنان را انتخاب کنید (EU: فرانکفورت/آمستردام، NA: نیویورک/لس‌آنجلس، آسیا: سنگاپور/توکیو). ارائه‌دهنده‌ای با ۸۵+ لوکیشن جهانی و شبکه BGP می‌تواند پینگ را کاهش دهد.

محافظت

برای سرورهای عمومی حتماً از سرور ضد DDoS استفاده کنید تا حملات UDP flood و amplification را کاهش دهید.

سیستم‌عامل و دسترسی‌ها

پیشنهاد: Ubuntu 20.04/22.04 یا Debian 11/12. دسترسی SSH و یک کاربر غیر-root برای اجرای سرور ضروری است.

نصب SteamCMD و دانلود Valheim Dedicated Server

در این بخش مراحل ایجاد کاربر اختصاصی، نصب پیش‌نیازها و دانلود فایل‌های سرور با SteamCMD توضیح داده می‌شود.

ایجاد کاربر اختصاصی و نصب پیش‌نیازها

sudo apt update && sudo apt upgrade -y
sudo apt install -y lib32gcc-s1 lib32stdc++6 curl wget screen unzip
sudo adduser --disabled-login --gecos "Valheim Server" valheim
sudo su - valheim

نصب SteamCMD

داخل کاربر valheim پوشه steamcmd را بسازید و نصب را انجام دهید:

mkdir ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

دانلود/بروزرسانی سرور Valheim

برای نصب یا به‌روزرسانی اختصاصی سرور از SteamCMD استفاده کنید. شناسه اپلیکیشن Valheim Dedicated Server: 896660.

./steamcmd.sh +login anonymous +force_install_dir ./valheim_server +app_update 896660 validate +quit

فایل‌های سرور در ./valheim_server قرار می‌گیرند.

پیکربندی و اجرای سرور Valheim

در این بخش اسکریپت‌های راه‌اندازی، پارامترهای مهم و روش اجرای خودکار با systemd توضیح داده شده است.

اسکریپت راه‌اندازی ساده

یک اسکریپت راه‌اندازی بسازید (مثلاً ~/valheim_start.sh):

#!/bin/bash
cd /home/valheim/steamcmd/valheim_server
export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH
./valheim_server.x86_64 -name "MyValheimServer" -port 2456 -world "MyWorld" -password "MySecret" -public 1

اجرا:

chmod +x ~/valheim_start.sh
./valheim_start.sh

پارامترهای مهم

  • -name: نام سرور که در لیست نمایش می‌یابد.
  • -port: پورت UDP پیش‌فرض 2456 (معمولاً از محدوده 2456–2458 استفاده می‌شود).
  • -world: نام دنیای ذخیره‌شده.
  • -password: رمز ورود بازیکنان.
  • -public: 1 برای عمومی، 0 برای خصوصی.

راه‌اندازی به‌عنوان سرویس systemd (اجرای خودکار و مانیتورینگ)

برای اجرای خودکار و مانیتورینگ از systemd استفاده کنید. فایل سرویس را بسازید:

[Unit]
Description=Valheim Dedicated Server
After=network.target

[Service]
User=valheim
WorkingDirectory=/home/valheim/steamcmd/valheim_server
ExecStart=/home/valheim/valheim_start.sh
Restart=on-failure
RestartSec=10
LimitNOFILE=10000

[Install]
WantedBy=multi-user.target

فعال و اجرا:

sudo systemctl daemon-reload
sudo systemctl enable --now valheim.service
sudo journalctl -u valheim.service -f

پورت‌ها، فایروال و NAT

مدیریت پورت‌ها و فایروال برای دسترسی بازیکنان و امنیت سرور حیاتی است.

پورت‌های موردنیاز

Valheim معمولاً از UDP 2456 تا 2458 استفاده می‌کند. برای اطمینان هم UDP و هم TCP را باز کنید، اما حداقل UDP 2456 باید باز باشد. اگر چندین نمونه اجرا می‌کنید، هر نمونه باید پورت متفاوت داشته باشد.

تنظیم UFW

sudo ufw allow 22/tcp
sudo ufw allow 2456:2458/udp
sudo ufw enable
sudo ufw status

NAT/Port Forwarding

اگر سرور پشت NAT است باید فوروارد UDP 2456 به IP داخلی سرور را انجام دهید. در سرورهای ابری معمولاً NAT نیست اما در برخی VPSها ممکن است نیاز به پورت عمومی یا تنظیمات شبکه میزبان باشد.

بکاپ‌گیری، محل ذخیره و مدیریت world

پشتیبان‌گیری منظم از دنیا (world) ضروری است تا از دست رفتن داده جلوگیری شود.

مسیر ذخیره دنیای بازی

فایل‌های world در مسیر زیر ذخیره می‌شوند:

  • ~/.config/unity3d/IronGate/Valheim/worlds

برای بکاپ سریع:

mkdir -p /home/valheim/backups
tar -czf /home/valheim/backups/world-$(date +%F-%H%M).tar.gz /home/valheim/.config/unity3d/IronGate/Valheim/worlds

این اسکریپت را می‌توانید با cron روزانه یا قبل از آپدیت خودکار اجرا کنید.

اتوآپدیت امن با SteamCMD

مراحل پیشنهادی برای به‌روزرسانی بدون از دست رفتن داده‌ها:

  1. متوقف کردن سرویس: sudo systemctl stop valheim.service
  2. بکاپ گرفتن از پوشه worlds
  3. اجرای SteamCMD برای آپدیت (همان دستور +app_update …)
  4. راه‌اندازی مجدد سرویس

می‌توانید فایل cron یا systemd timer بسازید که این مراحل را خودکار انجام دهد.

اجرا با Docker (گزینه‌ی جایگزین)

اگر ترجیح می‌دهید از کانتینر استفاده کنید، نمونه docker-compose زیر را می‌توانید به‌کار ببرید. حجم (volume) برای نگهداری world ضروری است.

version: '3.8'
services:
  valheim:
    image: lloesche/valheim-server
    container_name: valheim
    restart: unless-stopped
    ports:
      - "2456:2456/udp"
      - "2457:2457/udp"
      - "2458:2458/udp"
    volumes:
      - ./data:/config
    environment:
      - SERVER_NAME=MyValheimServer
      - SERVER_PORT=2456
      - WORLD_NAME=MyWorld
      - SERVER_PASS=MySecret
      - PUBLIC=1

نکات: حجم (volume) برای نگهداری world ضروری است و کانتینرها را با سیاست ری‌استارت مناسب اجرا کنید.

بهینه‌سازی عملکرد و منابع

بهینه‌سازی منابع شامل CPU، حافظه و دیسک برای کاهش لَگ و افزایش پایداری است.

CPU و رم

Valheim سرور بخش اصلی تک‌نخی دارد؛ بنابراین فرکانس بالای تک‌هسته‌ای اهمیت دارد. پیشنهاد: حداقل 2 هسته با فرکانس بالا و 4 گیگ رم برای گروه کوچک. برای مودها و بازیکنان زیاد 4 هسته و 8+ گیگ رم توصیه می‌شود.

I/O و NVMe

قرار گرفتن فایل‌های ذخیره (world) روی NVMe سرعت ذخیره و لود را بالا می‌برد. در محیط‌های مجازی تنظیم I/O scheduler مانند noop یا mq-deadline می‌تواند مفید باشد.

مانیتورینگ

ابزارهایی مثل htop، glances و netstat برای بررسی مصرف منابع و بسته‌های شبکه مفید هستند. مانیتورینگ ترافیک UDP برای شناسایی حملات ضروری است.

امنیت و محافظت (مهم برای سرورهای عمومی)

امنیت سرور شامل اجرای امن، محدودیت‌ها و محافظت در برابر حملات شبکه است.

اجرا به‌صورت non-root

همیشه سرور را با کاربر غیر-root (مثلاً valheim) اجرا کنید تا حد امکان خطرات امنیتی کاهش یابد.

محدودیت‌ها و sandbox

LimitNOFILE را در systemd بالا ببرید. در صورت نیاز از cgroups برای محدود کردن منابع استفاده کنید. فقط پورت‌های ضروری را باز کنید.

حفاظت DDoS

استفاده از سرویس ضد DDoS ارائه‌دهنده با فیلترینگ در لبه شبکه و POPهای متعدد (۸۵+ لوکیشن) می‌تواند ترافیک مخرب را پیش از رسیدن به سرور فیلتر کند.

مودها، BepInEx و پشتیبانی از ValheimPlus

نصب مودها معمولاً به BepInEx نیاز دارد. مراحل کلی نصب شامل کپی فایل‌های BepInEx و ValheimPlus به پوشه سرور است.

نکات مربوط به مودها

مودها می‌توانند مصرف منابع را افزایش دهند؛ برای سرور موددار حداقل 4–8 گیگ رم پیشنهاد می‌شود. قبل از نصب مود حتماً بکاپ کامل از دنیای بازی بگیرید.

نکات عملی و مشکلات رایج

چند مشکل رایج و راهکارهای سریع آنها:

  • بازیکنان لیست سرورها را نمی‌بینند — بررسی کنید پورت‌های UDP باز باشند و پارامتر -public 1 تنظیم شده باشد.
  • ناپایداری و کرش — لاگ‌ها را بررسی کنید؛ ممکن است کمبود RAM یا مود ناسازگار باعث شود.
  • پینگ بالا — لوکیشن دیتاسنتر را نزدیک به بیشتر بازیکنان انتخاب کنید و از ارائه‌دهنده‌ای با شبکه BGP استفاده کنید.
  • اجرای چندین instance — هر instance نیاز به پورت و پوشه جداگانه دارد و باید unit یا کانتینر جدا ساخته شود.

مقایسه لوکیشن‌های دیتاسنتر برای بازی آنلاین

انتخاب لوکیشن متناسب با توزیع بازیکنان اهمیت زیادی دارد:

  • اروپا (Frankfurt, Amsterdam): بهترین برای بازیکنان اروپایی؛ پینگ پایین و زیرساخت شبکه‌ای قوی.
  • آمریکای شمالی (New York, Los Angeles): برای بازیکنان شرق/غرب آمریکا؛ انتخاب بر اساس توزیع بازیکنان.
  • آسیا (Singapore, Tokyo, Sydney): برای بازیکنان آسیایی و اقیانوسیه؛ توجه به بین‌المللی بودن پلیرها.

ارائه‌دهنده‌ای با ۸۵+ لوکیشن و امکان انتخاب نزدیک‌ترین POP باعث کاهش پینگ و بهبود تجربه می‌شود.

خدمات پیشنهادی برای میزبانی Valheim

برای بهترین تجربه پیشنهاد می‌شود از خدماتی استفاده کنید که دارای مشخصات زیر باشند:

  • سرور گیمینگ VPS با پورت اختصاصی و پینگ پایین
  • زیرساخت ابری با NVMe و CPU فرکانس بالا
  • گزینه Anti-DDoS فعال و شبکه جهانی ۸۵+ لوکیشن
  • امکان ارتقا سریع منابع، پشتیبانی ۲۴/۷ و نصب سریع SteamCMD

برای سرور موددار یا با بازیکنان زیاد، سرور ابری با عملکرد بالا یا سرور اختصاصی به همراه خدمات شبکه و BGP توصیه می‌شود.

سؤالات متداول

شاید دوست داشته باشید

داستان بازی God Of War: Ragnarok

مقدمه این بر کریتوس، خدای جنگ، و پسر نوجوانش، آترئوس متمرکز است، که با درگیری راگناروک آینده روبرو…

داستان بازی God Of War 2

مقدمه با شکست دادن آرس، کریتوس، جنگجوی زمانی فانی، به خدای جدید جنگ تبدیل شد. با این حال،…

داستان God Of War 3

مقدمه قبل از عصر گرگ و میش بر خدایان، افسانه ای برخاست تا جای او را در میان…