Tutorial sobre cómo configurar un servidor de juegos en línea de Factorio
در این آموزش به نحوه راه اندازی سرور بازی Factorio پرداخته شده و نکات فنی و اجرایی برای بهترین عملکرد ارائه می‌شود.

Tutorial sobre cómo configurar un servidor de juegos en línea de Factorio

Este artículo es una guía completa para configurar un servidor de juegos en línea de Factorio. Te ayudará a crear un servidor estable y seguro para tu experiencia multijugador, incluyendo pasos técnicos y operativos. Desde la elección de la ubicación y la instalación del software necesario hasta la configuración de seguridad y las copias de seguridad, este artículo lo abarca todo.
0 acciones
0
0
0
0

چرا باید یک سرور Factorio روی سرور لینوکسی راه‌اندازی کنم؟

در این راهنما به‌صورت گام‌به‌گام و فنی نحوه راه‌اندازی سرور بازی آنلاین Factorio روی سرور لینوکسی (VPS یا سرور اختصاصی) توضیح داده شده است. این مقاله برای مدیران سرور، گیمرها و تیم‌های بازی‌سازی تهیه شده تا یک سرور پایدار، کم‌تاخیر و امن برای بازی‌های چندنفره ایجاد کنند.

چرا VPS یا سرور اختصاصی برای Factorio؟

Factorio در سرورهای با بازیکنان زیاد یا مودهای سنگین به CPU تک‌هسته‌ای قوی، حافظه کافی و I/O سریع نیاز دارد. انتخاب بین VPS و سرور اختصاصی بسته به اندازه بازیکنان و بودجه متفاوت است:

  • گروه کوچک (تا 8 بازیکن): VPS با CPU سریع، 2 vCPU و 4–8GB RAM کافی است.
  • گروه متوسط (8–32 بازیکن): 4 vCPU، 8–16GB RAM، NVMe توصیه می‌شود.
  • سرور بزرگ (>32 بازیکن یا مودهای سنگین): سرور اختصاصی با 6–12 هسته با کلاک بالا، 32GB+ رم و NVMe مناسب است.

برای کمترین پینگ، لوکیشن مناسب (از بین ۸۵+ لوکیشن جهانی) اهمیت دارد: اروپا (فرانکفورت، آمستردام)، شرق آمریکا (نیوجرسی)، غرب آمریکا (کالیفرنیا)، آسیا (سنگاپور، توکیو)، استرالیا (سیدنی) و برزیل (سائوپائولو).

پیش‌نیازها و دانلود Factorio Headless

پیش‌نیازها برای سرور لینوکسی:

  • توزیع لینوکس: Ubuntu 20.04/22.04 یا Debian 11+ Recomendado.
  • یک کاربر غیر روت برای اجرای سرور.
  • دسترسی SSH و امکان نصب بسته‌ها.

نمونه دستورات اولیه (Ubuntu):

sudo apt update && sudo apt upgrade -y
sudo apt install -y wget unzip tar libstdc++6
sudo adduser --disabled-login --gecos "Factorio Server" factorio
sudo usermod -aG sudo factorio

دانلود نسخه headless:

  1. از سایت رسمی Factorio نسخه headless را دانلود کنید (نسخه مربوطه را بررسی کنید).
  2. مثال (URL را با لینک رسمی جایگزین کنید):
sudo -u factorio mkdir -p /opt/factorio
cd /opt/factorio
sudo -u factorio wget https://www.factorio.com/get-download/latest/headless/linux64 -O factorio_headless.tar.xz
sudo -u factorio tar -xf factorio_headless.tar.xz

راه‌اندازی ابتدایی و اجرای سرور

اجرای سرور با یک save جدید یا بارگذاری save موجود:

شروع سرور با یک سیو جدید:

sudo -u factorio /opt/factorio/bin/x64/factorio --start-server /opt/factorio/saves/my-save.zip --server-settings /opt/factorio/config/server-settings.json --port 34197

بارگذاری یک save موجود (load latest):

sudo -u factorio /opt/factorio/bin/x64/factorio --start-server-load-latest

پورت‌ها:

  • پورت بازی: UDP 34197 (پیش‌فرض)
  • RCON: در صورت فعال‌سازی می‌توان پورت TCP دلخواه تعیین کرد (مثلاً 27015). تنظیمات در فایل server-settings.json Esta colocado.

ایجاد سرویس systemd برای راه‌اندازی خودکار

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

sudo tee /etc/systemd/system/factorio.service > /dev/null <<'EOF'
[Unit]
Description=Factorio Headless Server
After=network.target

[Service]
User=factorio
Group=factorio
Type=simple
WorkingDirectory=/opt/factorio
ExecStart=/opt/factorio/bin/x64/factorio --start-server /opt/factorio/saves/my-save.zip --server-settings /opt/factorio/config/server-settings.json --port 34197
Restart=on-failure
RestartSec=10
LimitNOFILE=4096

[Install]
WantedBy=multi-user.target
EOF

فعال‌سازی و اجرای سرویس:

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

کانفیگ فایل server-settings.json (نکات مهم)

در مسیر /opt/factorio/config/server-settings.json تنظیمات زیر را بررسی یا ویرایش کنید:

  • name: نام سرور
  • description: توضیح برای بازیکنان
  • max_players: حداکثر بازیکنان
  • game_password: در صورت دلخواه برای ورود (برای سرورهای خصوصی پیشنهاد می‌شود)
  • require_user_verification: true برای اعتبارسنجی Steam (در صورت نیاز)

نمونه ساده:

{
  "name": "My Factorio Server",
  "description": "سرور رسمی جامعه",
  "max_players": 32,
  "game_password": "securepassword",
  "require_user_verification": true
}

اجرای Factorio در Docker (روش جایگزین)

اگر ترجیح می‌دهید از Docker استفاده کنید، نمونه زیر یک راه سریع و ایزوله برای اجرا فراهم می‌کند:

docker run -d --name=factorio \
  -p 34197:34197/udp \
  -p 27015:27015/tcp \
  -v /host/factorio/saves:/factorio/saves \
  -v /host/factorio/config:/factorio/config \
  --restart unless-stopped \
  --user 1000:1000 \
  factoriotools/factorio:latest

Ventajas: ایزولاسیون، راحتی در آپدیت و بکاپ‌گیری.

امنیت و فایروال

توصیه‌های امنیتی پایه برای سرور بازی:

1. محدود کردن دسترسی SSH:

sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sudo sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl reload sshd

2. نمونه UFW برای باز کردن فقط پورت‌های لازم:

sudo apt install ufw -y
sudo ufw default deny incoming
sudo ufw default allow outgoing
# اجازه SSH (اگر پورت 22 یا پورت دلخواه)
sudo ufw allow 22/tcp
# اجازه پورت بازی (UDP)
sudo ufw allow 34197/udp
# اگر RCON فعال است:
sudo ufw allow 27015/tcp
sudo ufw enable

3. نصب Fail2Ban برای محافظت از SSH:

sudo apt install fail2ban -y

بکاپ‌گیری خودکار و نگهداری ذخیره‌ها

نمونه اسکریپت بکاپ ساده که با cron یا systemd timer قابل اجراست:

#!/bin/bash
SAVE_DIR=/opt/factorio/saves
BACKUP_DIR=/var/backups/factorio
mkdir -p $BACKUP_DIR
TIMESTAMP=$(date +%F_%T)
cp $SAVE_DIR/*.zip $BACKUP_DIR/factorio_save_$TIMESTAMP.zip
# نگهداری آخرین 7 بکاپ
ls -1t $BACKUP_DIR | tail -n +8 | xargs -I{} rm -f $BACKUP_DIR/{}

اضافه کردن به crontab برای اجرای ساعتی:

0 * * * * /usr/local/bin/factorio_backup.sh

پیشنهاد: بکاپ‌ها را به Object Storage (S3 یا سازگار) یا سرور دیگری سینک کنید تا داده‌ها در صورت بروز مشکل حفظ شوند.

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

  • انتخاب لوکیشن: نزدیک‌ترین لوکیشن جغرافیایی به بازیکنان یا لوکیشنی در مرکز جمعیت بازیکنان انتخاب کنید.
  • CPU با کلاک بالا: شبیه‌سازی بازی Factorio تا حد زیادی به تک‌هسته وابسته است؛ انتخاب سروری با فرکانس تک‌هسته بالا (3.5GHz+) ترجیح داده می‌شود.
  • حافظه و دیسک: SSD/NVMe برای I/O سریع هنگام ذخیره و بارگذاری جهان لازم است.
  • شبکه و QoS: اطمینان از پهنای باند کافی (به‌خصوص آپلود) و در صورت نیاز استفاده از شبکه low-latency و BGP.

مانیتورینگ و لاگ‌ها

برای مشاهده لاگ‌ها و بررسی وضعیت سرور:

sudo journalctl -u factorio -f
# یا اگر لاگ در فایل است:
tail -f /opt/factorio/factorio-current.log

ابزارهای پیشنهادی: Datos de red, Prometeo + Grafana یا ابزارهای ساده‌تر مثل htop y nload برای مشاهده مصرف منابع.

نکات مربوط به مودها و به‌روزرسانی

  • تست مودها: قبل از نصب مودها روی سرور اصلی، آن‌ها را در یک محیط تست امتحان کنید؛ مودها می‌توانند باعث کرش یا کندی شوند.
  • هماهنگی ورژن‌ها: نسخه کلاینت‌ها و سرور باید همخوانی داشته باشند.
  • روش آپدیت: هنگام آپدیت سرور حتماً از save بکاپ بگیرید، سرویس را متوقف کنید، آپدیت را انجام دهید و سپس سرور را مجدداً راه‌اندازی کنید.

مثال‌های عملی و بررسی مشکلات متداول

مشکل: بازیکنان نمی‌توانند متصل شوند

  • بررسی فایروال و پورت‌ها: estado de ufw، بررسی پورت‌های باز با ss.
  • بررسی اینکه سرور در حال گوش دادن روی پورت UDP 34197 است:
  • sudo ss -unlp | grep 34197
  • بررسی لاگ‌ها برای ارور یا پیغام‌های مرتبط.

مشکل: لگ سرور با افزایش بازیکن

  • چک کردن فرکانس CPU، بار تک‌هسته‌ای، مصرف RAM و I/O.
  • در صورت نیاز ارتقا به نمونه با هسته قوی‌تر یا توزیع بازیکنان روی چند سرور.

استفاده از خدمات شرکت برای بهترین تجربه

در صورت دسترسی به خدماتی مانند ۸۵+ لوکیشن جهانی, VPS para juegos, سرور ضد DDoS y سرور ابری با NVMe می‌توانید تجربه بازی را به‌طور قابل‌توجهی بهبود دهید.

موارد قابل استفاده:

  • انتخاب لوکیشن نزدیک به بازیکنان برای کاهش پینگ.
  • نمونه‌هایی با پردازنده‌های کلاک بالا و NVMe برای عملکرد بهتر.
  • استفاده از سرور ضد-DDoS برای حفاظت در برابر حملات UDP.
  • شبکه و BGP در صورت نیاز به روتینگ پیشرفته یا Anycast.
  • CDN برای محتواهای ایستا (مودها، تصاویر) — توجه کنید CDN برای UDP بازی بلادرنگ کاربردی نیست.

جمع‌بندی و پیشنهادات نهایی

راه‌اندازی سرور Factorio نیازمند توجه به انتخاب سخت‌افزار (CPU تک‌هسته‌ای قوی، NVMe)، لوکیشن مناسب، تنظیمات امنیتی و پشتیبان‌گیری منظم است.

خلاصه پیشنهادها برای شروع سریع:

  1. یک VPS با CPU قوی و NVMe انتخاب کنید.
  2. نسخه headless را نصب و سرویس systemd را طبق راهنما تنظیم کنید.
  3. فایروال و بکاپ‌گیری را خودکار کنید.
  4. لوکیشن سرور را براساس بازیکنان انتخاب کنید و از سرویس ضد-DDoS در صورت ضرورت استفاده نمایید.

برای اطلاعات درباره پلن‌ها و دریافت مشاوره می‌توانید به بخش پشتیبانی مراجعه کنید.

Preguntas frecuentes

También te puede gustar