مجله ایرانیکاسرورآموزش سرور، هاست، وردپرس و شبکه
آموزشی

ساخت سرور BeamMP برای BeamNG؛ آموزش نصب Mods و رفع خطای اتصال

ساخت سرور BeamMP برای BeamNG؛ آموزش نصب Mods و رفع خطای اتصال اگر می‌خواهید بازی BeamNG.drive را همراه دوستانتان به‌صورت آنلاین تجربه کنید، به BeamMP Server نیاز دارید. BeamMP یک پروژه چندنفره برای BeamNG.drive…

ساخت سرور BeamMP برای BeamNG؛ آموزش نصب Mods و رفع خطای اتصال
خلاصه سریع این آموزش

ساخت سرور BeamMP برای BeamNG؛ آموزش نصب Mods و رفع خطای اتصال اگر می‌خواهید بازی BeamNG.drive را همراه دوستانتان به‌صورت آنلاین تجربه کنید، به BeamMP Server نیاز دارید. BeamMP یک…

۲۱ دقیقه مطالعه ۰ دیدگاه ۱۲ آبان ۱۴۰۵ آخرین به‌روزرسانی

فهرست مطالب

ساخت سرور BeamMP برای BeamNG؛ آموزش نصب Mods و رفع خطای اتصال

اگر می‌خواهید بازی BeamNG.drive را همراه دوستانتان به‌صورت آنلاین تجربه کنید، به BeamMP Server نیاز دارید. BeamMP یک پروژه چندنفره برای BeamNG.drive است که امکان رانندگی گروهی، مسابقه، دریفت و استفاده از خودروها و نقشه‌های سفارشی را فراهم می‌کند.

با ساخت سرور BeamMP می‌توانید یک محیط اختصاصی برای بازیکنان ایجاد کنید، تعداد خودروها و کاربران را محدود کنید، نقشه دلخواه انتخاب کنید و Modهای موردنیاز را در اختیار بازیکنان قرار دهید. سرور می‌تواند روی ویندوز، لینوکس یا سرور مجازی اجرا شود و نیازی به کارت گرافیک یا اجرای نسخه گرافیکی BeamNG.drive روی ماشین میزبان ندارد.

در این آموزش، نصب نسخه فعلی BeamMP Server، دریافت Auth Key، تنظیم فایل ServerConfig.toml، مدیریت Resources و Mods، باز کردن پورت‌های TCP و UDP، بررسی Logها و رفع خطاهای Connection Failed را مرحله‌به‌مرحله توضیح می‌دهیم.

BeamMP Server چیست و چگونه کار می‌کند؟

بازی BeamNG.drive به دلیل شبیه‌سازی دقیق فیزیک خودرو، تصادف و رانندگی شناخته می‌شود. BeamMP امکان تجربه چندنفره این بازی را با استفاده از یک کلاینت و سرور اختصاصی فراهم می‌کند.

در این ساختار، بازیکنان BeamNG.drive و کلاینت BeamMP را روی کامپیوتر خود اجرا می‌کنند و به یک سرور مشترک متصل می‌شوند. سرور اطلاعات ارتباطی بازیکنان و خودروها را هماهنگ می‌کند.

تفاوت مهم این است که BeamMP Server موتور کامل شبیه‌سازی گرافیکی BeamNG.drive را روی سرور اجرا نمی‌کند. بنابراین منابع موردنیاز آن با اجرای خود بازی روی کامپیوتر تفاوت دارد.

کاربردهای سرور اختصاصی BeamMP

  • رانندگی آزاد و گروهی در نقشه‌های مختلف.
  • برگزاری مسابقات و رویدادهای دریفت.
  • ساخت سرور خصوصی برای دوستان.
  • راه‌اندازی سرور عمومی در Server Browser.
  • افزودن خودروها و نقشه‌های سفارشی.
  • استفاده از اسکریپت‌های Lua سمت سرور.
  • مدیریت ظرفیت بازیکنان و تعداد خودروها.

حداقل منابع موردنیاز BeamMP Server

BeamMP Server در مقایسه با بسیاری از Dedicated Serverهای بازی، سبک است. مخزن رسمی پروژه برای خود برنامه سرور مصرف پایه حافظه در حدود ۳۰ تا ۱۰۰ مگابایت را تخمین می‌زند؛ البته این عدد شامل سیستم‌عامل، Modها، افزونه‌ها و شرایط واقعی سرور نیست.

برای انتخاب VPS بهتر است به‌جای تکیه بر مصرف پایه، تعداد بازیکنان، حجم Modها، پهنای باند و سرویس‌های جانبی را نیز در نظر بگیرید.

نوع استفاده RAM پیشنهادی VPS CPU فضای ذخیره‌سازی
تست و راه‌اندازی اولیه ۱ تا ۲ گیگابایت ۱ vCPU ۵ گیگابایت
سرور خصوصی کوچک ۲ گیگابایت ۱ تا ۲ vCPU ۱۰ گیگابایت
سرور عمومی با Mod ۴ گیگابایت ۲ vCPU ۲۰ گیگابایت
سرور پرترافیک و سفارشی ۴ تا ۸ گیگابایت ۲ تا ۴ vCPU متناسب با حجم Modها

این جدول پیشنهاد عملی برای VPS است و حداقل رسمی BeamMP محسوب نمی‌شود. ظرفیت واقعی باید با پایش مصرف سرور و کیفیت شبکه مشخص شود.

آیا BeamMP Server به GPU نیاز دارد؟

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

اهمیت پهنای باند

هرچه تعداد بازیکنان و خودروهای هم‌زمان بیشتر باشد، حجم اطلاعات تبادلی افزایش می‌یابد. همچنین Modهای بزرگ می‌توانند هنگام ورود بازیکنان باعث افزایش مصرف پهنای باند شوند.

برای سرور عمومی، علاوه بر CPU و RAM، اتصال پایدار و سرعت مناسب شبکه اهمیت زیادی دارد.

نسخه فعلی BeamMP Server و روش دانلود

فایل‌های سرور BeamMP از طریق مخزن رسمی GitHub منتشر می‌شوند. نسخه سرور و نسخه Launcher دو محصول جداگانه هستند و شماره نسخه یکسانی ندارند.

در بررسی انتشارهای رسمی تا زمان نگارش این راهنما، نسخه پایدار مشخص‌شده v3.9.3 است و نسخه v3.9.4 با وضعیت آزمایشی یا Pre-release ارائه شده است.

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

دانلود نسخه‌های رسمی BeamMP Server از GitHub

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

انتخاب فایل مناسب سیستم‌عامل

برای Windows فایل BeamMP-Server.exe را دریافت کنید. در Linux باید فایل مخصوص توزیع و معماری پردازنده را انتخاب کنید.

برای مثال، فایل مناسب Ubuntu 24.04 روی معماری x86_64 با الگوی زیر منتشر می‌شود:

BeamMP-Server.ubuntu.24.04.x86_64

فایل Ubuntu 24.04 را روی Debian یا توزیع دیگر بدون بررسی سازگاری استفاده نکنید.

آموزش دریافت Auth Key برای BeamMP Server

یکی از مهم‌ترین مراحل ساخت سرور، دریافت کلید احراز هویت یا Auth Key است. این کلید برای ثبت و شناسایی سرور عمومی در سرویس BeamMP استفاده می‌شود و استفاده از آن برای سرور خصوصی نیز توصیه شده است.

مرحله اول: ورود به Keymaster

وارد BeamMP Keymaster شوید و با حساب Discord خود وارد شوید.

مرحله دوم: ایجاد کلید جدید

از بخش Keys روی گزینه ایجاد کلید کلیک کنید. یک نام برای شناسایی کلید وارد کرده و آن را بسازید.

نام کلید صرفاً برای مدیریت آن در Keymaster است و الزاماً نام نمایشی سرور شما نیست.

مرحله سوم: کپی Auth Key

کلید ساخته‌شده را کپی کنید و در فایل تنظیمات سرور قرار دهید.

AuthKey = "YOUR_REAL_AUTH_KEY"

عبارت YOUR_REAL_AUTH_KEY را با کلید واقعی جایگزین کنید.

نکته امنیتی: Auth Key مانند رمز عبور است. آن را در اسکرین‌شات، فایل عمومی یا مخزن Git منتشر نکنید.

همچنین طبق مستندات BeamMP، یک کلید نباید هم‌زمان روی دو سرور فعال استفاده شود.

نصب BeamMP Server روی Windows Server

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

ابتدا بسته Microsoft Visual C++ Redistributable را از منبع رسمی مایکروسافت نصب کنید:

دانلود Visual C++ Redistributable

مرحله دوم: ساخت پوشه سرور

یک پوشه اختصاصی ایجاد کنید:

C:\BeamMPServer\

فایل BeamMP-Server.exe را داخل این پوشه قرار دهید.

مرحله سوم: اولین اجرا

فایل اجرایی را یک بار اجرا کنید. برنامه فایل‌های موردنیاز، از جمله ServerConfig.toml و Server.log را ایجاد می‌کند.

ممکن است در اجرای اول به دلیل تنظیم نشدن Auth Key خطا مشاهده کنید. پس از ایجاد فایل‌ها، برنامه را ببندید.

مرحله چهارم: تنظیم سرور

فایل ServerConfig.toml را با یک ویرایشگر متن باز کنید، Auth Key را وارد کنید و تنظیمات موردنظر را مطابق بخش پیکربندی این مقاله تغییر دهید.

سپس برنامه را دوباره اجرا کنید و پیام‌های کنسول را بررسی کنید.

آموزش نصب BeamMP Server روی Ubuntu 24.04

برای سرور مجازی لینوکسی، Ubuntu 24.04 یکی از گزینه‌های قابل استفاده است. BeamMP برای این توزیع فایل اجرایی مخصوص ارائه می‌کند.

مرحله اول: نصب پیش‌نیازها

sudo apt update
sudo apt install -y curl ca-certificates liblua5.3-0

در انتشارهای رسمی سرور، وابستگی کتابخانه Lua 5.3 ذکر شده است. پیش از نصب روی توزیع‌های دیگر، وابستگی‌های همان Build را بررسی کنید.

مرحله دوم: ساخت کاربر مستقل

برای امنیت بیشتر، سرور را با کاربر root اجرا نکنید.

sudo useradd -m -s /bin/bash beammpserver
sudo mkdir -p /home/beammpserver/server
sudo chown -R beammpserver:beammpserver /home/beammpserver

اگر این کاربر از قبل وجود دارد، دستور useradd را تکرار نکنید.

مرحله سوم: دانلود نسخه پایدار

دستور زیر فایل نسخه v3.9.3 مخصوص Ubuntu 24.04 x86_64 را از انتشار رسمی دریافت می‌کند:

sudo -u beammpserver -H bash -c '
cd /home/beammpserver/server
curl -fL -o BeamMP-Server \
https://github.com/BeamMP/BeamMP-Server/releases/download/v3.9.3/BeamMP-Server.ubuntu.24.04.x86_64
chmod +x BeamMP-Server
'

اگر فایل دانلود نشد، نام Asset و نسخه را در صفحه Releases بررسی کنید. برای سیستم ARM64 باید فایل متناسب با همان معماری انتخاب شود.

مرحله چهارم: اجرای اولیه

sudo -u beammpserver -H bash -c '
cd /home/beammpserver/server
./BeamMP-Server
'

پس از ساخته شدن فایل ServerConfig.toml، برنامه را با Ctrl+C متوقف کنید.

مرحله پنجم: تنظیم Auth Key

sudo -u beammpserver nano /home/beammpserver/server/ServerConfig.toml

تنظیمات را مطابق بخش بعدی تکمیل کنید.

مرحله ششم: اجرای خودکار با systemd

فایل سرویس را ایجاد کنید:

sudo nano /etc/systemd/system/beammp.service

محتوای زیر را قرار دهید:

[Unit]
Description=BeamMP Dedicated Server
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=beammpserver
Group=beammpserver
WorkingDirectory=/home/beammpserver/server
ExecStart=/home/beammpserver/server/BeamMP-Server
Restart=on-failure
RestartSec=10
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target

سرویس را فعال کنید:

sudo systemctl daemon-reload
sudo systemctl enable --now beammp
sudo systemctl status beammp --no-pager

اگر سرویس اجرا نشد، ابتدا مجوز اجرای فایل، وابستگی Lua و فایل ServerConfig.toml را بررسی کنید.

آموزش تنظیم فایل ServerConfig.toml

فایل اصلی پیکربندی BeamMP Server با فرمت TOML ذخیره می‌شود. این فایل معمولاً در کنار فایل اجرایی قرار دارد.

در نسخه‌های جدید، تنظیمات اصلی داخل بخش General تعریف می‌شوند.

نمونه تنظیمات سرور BeamMP

[General]
Port = 30814
AuthKey = "YOUR_REAL_AUTH_KEY"
AllowGuests = false
LogChat = false
Debug = false
IP = "::"
Private = true
InformationPacket = true
Name = "IranicaServer BeamMP"
Tags = "Freeroam,Modded,Racing"
MaxCars = 2
MaxPlayers = 10
Map = "/levels/gridmap_v2/info.json"
Description = "BeamMP Server by IranicaServer"
ResourceFolder = "Resources"

این نمونه برای یک سرور خصوصی اولیه طراحی شده است. مقدار AuthKey باید تغییر کند و نقشه انتخاب‌شده باید در نسخه نصب‌شده BeamNG.drive موجود باشد.

معنی گزینه‌های مهم

گزینه کاربرد
Port پورت اتصال بازیکنان
AuthKey کلید احراز هویت سرور
Private کنترل نمایش در فهرست عمومی
Name نام نمایشی سرور
MaxPlayers حداکثر بازیکنان هم‌زمان
MaxCars محدودیت تعداد خودرو برای هر بازیکن
Map مسیر نقشه فعال
ResourceFolder محل فایل‌های Resources
AllowGuests اجازه ورود کاربران مهمان
LogChat ثبت پیام‌های چت در Log
Debug فعال‌سازی گزارش‌های بیشتر برای عیب‌یابی

ساخت سرور عمومی

برای نمایش سرور در فهرست عمومی، مقدار Private را false کنید:

Private = false

سرور عمومی باید Auth Key معتبر و ارتباط شبکه صحیح داشته باشد. تغییر Private به‌تنهایی تضمین نمی‌کند که سرور در فهرست نمایش داده شود.

تفاوت Private با رمز ورود

گزینه Private عمدتاً روی نمایش سرور در فهرست عمومی تأثیر دارد. بنابراین نباید آن را معادل سیستم رمز عبور یا Whitelist بازیکنان در نظر گرفت.

اگر به کنترل دقیق اعضا نیاز دارید، از افزونه مدیریتی سازگار یا روش کنترل دسترسی متناسب با BeamMP استفاده کنید.

پورت‌های BeamMP Server و تنظیم Firewall

پورت پیش‌فرض BeamMP برابر 30814 است و طبق راهنمای رسمی، هر دو پروتکل TCP و UDP باید اجازه ارتباط داشته باشند.

پورت پروتکل کاربرد
30814 TCP ارتباطات موردنیاز کلاینت و سرور
30814 UDP تبادل داده‌های بازی

باز کردن پورت در Windows Firewall

PowerShell را با دسترسی Administrator باز کنید:

New-NetFirewallRule -DisplayName "BeamMP TCP" -Direction Inbound -Protocol TCP -LocalPort 30814 -Action Allow

New-NetFirewallRule -DisplayName "BeamMP UDP" -Direction Inbound -Protocol UDP -LocalPort 30814 -Action Allow

باز کردن پورت در Ubuntu

sudo ufw allow 30814/tcp
sudo ufw allow 30814/udp
sudo ufw status numbered

اگر UFW هنوز فعال نیست، قبل از فعال‌سازی مطمئن شوید دسترسی SSH مجاز است. همچنین اگر ارائه‌دهنده VPS فایروال جداگانه دارد، Ruleهای مربوط به پورت بازی را در آن نیز بررسی کنید.

Port Forwarding در سرور خانگی

اگر BeamMP را روی کامپیوتر خانگی اجرا می‌کنید، باید پورت‌های TCP و UDP انتخاب‌شده را در روتر به IP داخلی دستگاه میزبان هدایت کنید.

در سرور مجازی با IP عمومی مستقیم، معمولاً نیازی به Port Forwarding خانگی نیست.

اگر اینترنت خانگی پشت CGNAT قرار داشته باشد، Port Forwarding معمولی ممکن است کار نکند. در این شرایط استفاده از سرور مجازی دارای IPv4 عمومی می‌تواند راهکار مناسب‌تری باشد.

بررسی پورت در Linux

sudo ss -lntup | grep 30814

این دستور Socketهای فعال را نشان می‌دهد، اما برای اطمینان از دسترسی واقعی اینترنت باید اتصال را از دستگاه یا شبکه دیگری آزمایش کنید.

نصب Mods و خودروهای سفارشی روی BeamMP Server

یکی از قابلیت‌های مهم BeamMP، امکان افزودن خودروها و محتوای سفارشی است. Modهایی که باید برای بازیکنان ارسال شوند در پوشه Resources/Client قرار می‌گیرند.

مسیر نصب Modها

در نصب Linux این مقاله، مسیر موردنظر به شکل زیر است:

/home/beammpserver/server/Resources/Client/

در ویندوز:

C:\BeamMPServer\Resources\Client\

نصب Mod خودرو

فایل ZIP خودرو را دریافت کنید و بدون استخراج محتویات، در پوشه Resources/Client قرار دهید.

برای مثال:

Resources/
└── Client/
    ├── custom-car.zip
    └── drift-vehicle.zip

نام فایل‌ها صرفاً نمونه است.

پس از بارگذاری Mod توسط سرور، بازیکنانی که به آن متصل می‌شوند می‌توانند محتوای لازم را از سرور دریافت کنند.

آیا باید ZIP را Extract کنیم؟

برای Modهای معمول خودرو و نقشه، فایل ZIP را در همان حالت فشرده قرار دهید؛ مگر اینکه مستندات سازنده Mod دستور متفاوتی ارائه کرده باشد.

رفع مشکل Mod ناسازگار

اگر بعد از نصب یک Mod اتصال بازیکنان متوقف شد یا هنگام ورود فقط پیام‌هایی مانند done یا start مشاهده شد، احتمال ناسازگاری یا خرابی Mod وجود دارد.

برای عیب‌یابی، ابتدا Modهای جدید را موقتاً از پوشه Resources/Client خارج کنید. سپس هر Mod را جداگانه آزمایش کنید.

ناسازگاری ممکن است میان دو Mod یا بین Mod و نسخه فعلی BeamNG.drive نیز ایجاد شود.

Modهای خصوصی و محافظت‌شده

BeamMP امکان محافظت از برخی Modها را نیز فراهم کرده است. با این قابلیت می‌توان از دانلود مستقیم محتوای مشخص توسط بازیکنان جلوگیری کرد.

نمونه دستور کنسول:

protectmod custom-car.zip true

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

آموزش نصب نقشه سفارشی در BeamMP

نصب نقشه سفارشی کمی با نصب خودرو متفاوت است. علاوه بر کپی کردن فایل ZIP، باید مسیر صحیح نقشه را در ServerConfig.toml وارد کنید.

مرحله اول: کپی فایل نقشه

فایل ZIP نقشه را داخل Resources/Client قرار دهید.

مرحله دوم: پیدا کردن نام پوشه نقشه

فایل ZIP را بدون استخراج باز کنید و وارد پوشه levels شوید. نام پوشه داخل آن را یادداشت کنید.

برای مثال، اگر ساختار فایل به شکل زیر باشد:

levels/
└── custom_drift_map/
    └── info.json

مسیر نقشه در فایل تنظیمات چنین خواهد بود:

Map = "/levels/custom_drift_map/info.json"

مرحله سوم: بررسی مسیر واقعی نقشه

اگر نقشه اجرا نشد، آن را ابتدا در حالت تک‌نفره BeamNG.drive باز کنید. سپس کنسول بازی را اجرا کرده و دستور زیر را وارد کنید:

print(getMissionFilename())

خروجی این دستور به پیدا کردن مسیر صحیح نقشه کمک می‌کند.

تفاوت Resources/Client و Resources/Server

در BeamMP دو نوع محتوای مهم وجود دارد که نباید با یکدیگر اشتباه گرفته شوند.

پوشه کاربرد
Resources/Client محتوای موردنیاز بازیکنان مانند خودرو و نقشه
Resources/Server منابع و افزونه‌های سمت سرور، مانند اسکریپت‌های Lua

برای مثال، یک افزونه مدیریتی سمت سرور ممکن است دارای فایل main.lua و فایل‌های تنظیمات مخصوص خود باشد.

ساختار نصب هر افزونه می‌تواند متفاوت باشد؛ بنابراین فایل‌ها را مطابق مستندات همان افزونه قرار دهید و فرض نکنید تمام افزونه‌ها با کپی یک ZIP در Resources/Client نصب می‌شوند.

برای توسعه یا بررسی افزونه‌های سمت سرور از مستندات BeamMP استفاده کنید.

روش اتصال بازیکنان به BeamMP Server

برای ورود به سرور، بازیکنان باید نسخه سازگار BeamNG.drive و کلاینت BeamMP را نصب کرده باشند.

اتصال مستقیم با IP

در بخش Multiplayer، گزینه Direct Connect را انتخاب کنید و IP عمومی سرور و پورت را وارد کنید.

نمونه:

YOUR_SERVER_IP:30814

آدرس YOUR_SERVER_IP باید با IPv4 عمومی واقعی سرور جایگزین شود.

اتصال به سرور خصوصی

اگر Private برابر true باشد، سرور در فهرست عمومی نمایش داده نمی‌شود. بازیکنان می‌توانند با آدرس مستقیم به آن متصل شوند، مشروط بر اینکه سرور و شبکه به‌درستی پیکربندی شده باشند.

اتصال از طریق Server Browser

برای نمایش سرور در فهرست عمومی، Private را false کنید و مطمئن شوید Auth Key معتبر است.

سپس نام سرور را در Server Browser جست‌وجو کنید. اگر نتیجه‌ای نمایش داده نشد، فیلترهای جست‌وجو را بررسی کنید.

رفع خطای Connection Failed در BeamMP Server

خطاهای اتصال از رایج‌ترین مشکلات هنگام راه‌اندازی BeamMP هستند. در بسیاری از موارد، مشکل از بسته بودن پورت، CGNAT، آدرس اشتباه یا اجرا نشدن سرور ایجاد می‌شود.

۱. خطاهای 10060 و 10061

این کدها معمولاً به مشکل در برقراری اتصال شبکه اشاره می‌کنند. برای بررسی، ابتدا مطمئن شوید برنامه سرور در حال اجرا است و هر دو پورت TCP و UDP مجاز هستند.

اگر از اینترنت خانگی استفاده می‌کنید، Port Forwarding و احتمال CGNAT را نیز بررسی کنید.

۲. خطای 10030

این خطا نیز می‌تواند با تنظیمات شبکه یا دسترسی به سرور مرتبط باشد. طبق راهنمای رسمی BeamMP، هنگام مشاهده این دسته از خطاها باید Port Forwarding، Firewall و وضعیت آدرس عمومی را بررسی کنید.

۳. سرور در فهرست عمومی نمایش داده نمی‌شود

ابتدا موارد زیر را بررسی کنید:

  • مقدار Private برابر false باشد.
  • Auth Key معتبر باشد.
  • از یک کلید روی دو سرور هم‌زمان استفاده نشده باشد.
  • پورت‌های TCP و UDP در دسترس باشند.
  • سرور بتواند با سرویس‌های BeamMP ارتباط برقرار کند.
  • فیلترهای Server Browser نتیجه را پنهان نکرده باشند.

۴. اتصال هنگام دانلود Mod متوقف می‌شود

اگر مشکل فقط بعد از نصب Mod ایجاد شده است، Modهای جدید را موقتاً غیرفعال کنید.

حجم فایل‌های ZIP، سازگاری با نسخه بازی و سلامت فایل‌ها را بررسی کنید. برای تشخیص دقیق، Modها را یکی‌یکی به سرور بازگردانید.

۵. مشکل CGNAT

اگر سرور را در خانه میزبانی می‌کنید، IP سمت WAN روتر را با IP عمومی اینترنت مقایسه کنید.

اگر آدرس‌ها متفاوت هستند یا روتر IP خصوصی/CGNAT دریافت کرده است، ممکن است اتصال مستقیم از اینترنت امکان‌پذیر نباشد.

در این شرایط استفاده از VPS با IPv4 عمومی می‌تواند نیاز به Port Forwarding خانگی را برطرف کند.

۶. مشکل IPv6

طبق مستندات راه‌اندازی BeamMP، اتصال مستقیم سرور بر مبنای IPv4 پشتیبانی می‌شود و نباید صرفاً به داشتن آدرس IPv6 اتکا کنید.

برای اتصال کاربران اینترنت، از IPv4 عمومی قابل دسترسی استفاده کنید.

۷. بررسی Packetهای ورودی

در Linux، هنگام تلاش بازیکن برای اتصال می‌توانید ترافیک پورت بازی را بررسی کنید:

sudo apt install -y tcpdump
sudo tcpdump -ni any 'tcp port 30814 or udp port 30814'

اگر هیچ Packet ورودی دریافت نمی‌شود، مسیر شبکه و Firewall بیرونی را بررسی کنید. اگر Packetها می‌رسند ولی اتصال کامل نمی‌شود، Logهای سرور را بررسی کنید.

محل Logهای BeamMP Server و بررسی خطاها

BeamMP معمولاً فایل Server.log را در پوشه اجرای برنامه ایجاد می‌کند.

در نصب Linux این مقاله:

/home/beammpserver/server/Server.log

مشاهده آخرین خطاها

tail -n 100 /home/beammpserver/server/Server.log

مشاهده زنده Log

sudo journalctl -u beammp -f

جست‌وجوی پیام‌های خطا

grep -niE 'error|warn|auth|connect|resource|mod' /home/beammpserver/server/Server.log

برای عیب‌یابی موقت می‌توانید Debug را در ServerConfig.toml فعال کنید. پس از پایان بررسی، در صورت افزایش غیرضروری حجم Log آن را دوباره غیرفعال کنید.

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

هرچند خود BeamMP Server سبک است، اما عملکرد نهایی تجربه چندنفره به شبکه، تعداد خودروها، Modها و سخت‌افزار بازیکنان نیز وابسته است.

محدود کردن تعداد خودروها

یکی از تنظیمات کاربردی MaxCars است. برای مثال:

MaxCars = 2

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

مدیریت تعداد بازیکنان

ظرفیت سرور را با MaxPlayers تنظیم کنید:

MaxPlayers = 10

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

کاهش حجم Modهای غیرضروری

Modهای زیاد یا حجیم می‌توانند زمان اتصال بازیکنان را افزایش دهند. فقط فایل‌هایی را روی سرور نگه دارید که واقعاً برای تجربه بازی موردنیاز هستند.

پایش منابع سرور

free -h
df -h
ps -eo pid,comm,%cpu,%mem --sort=-%cpu | head

اگر مصرف RAM و CPU پایین است اما کاربران با تأخیر مواجه‌اند، کیفیت شبکه، مسیر ارتباطی و عملکرد سیستم بازیکنان را نیز بررسی کنید.

آموزش آپدیت و Backup سرور BeamMP

برای جلوگیری از مشکلات ناشی از نسخه‌های قدیمی، بهتر است سرور را با انتشارهای پایدار BeamMP به‌روز نگه دارید.

مرحله اول: توقف سرویس

sudo systemctl stop beammp

مرحله دوم: تهیه Backup

از فایل تنظیمات و پوشه Resources نسخه پشتیبان بگیرید:

sudo mkdir -p /var/backups/beammp

sudo tar -czf "/var/backups/beammp/beammp-$(date +%Y%m%d-%H%M%S).tar.gz" \
-C /home/beammpserver/server ServerConfig.toml Resources

اگر افزونه‌های شما اطلاعات دیگری مانند پایگاه داده یا فایل‌های ذخیره‌سازی مستقل دارند، از آن‌ها نیز Backup بگیرید.

مرحله سوم: دریافت نسخه جدید

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

فایل اجرایی قبلی را در Backup نگه دارید و نسخه جدید را جایگزین کنید. فایل ServerConfig.toml و پوشه Resources را حذف نکنید.

مرحله چهارم: بررسی نسخه جدید

پس از جایگزینی فایل، مجوز اجرا را بررسی کنید:

sudo chmod +x /home/beammpserver/server/BeamMP-Server
sudo systemctl start beammp
sudo systemctl status beammp --no-pager

سپس اتصال مستقیم، نمایش در Server Browser، دانلود Modها و اجرای افزونه‌های Lua را آزمایش کنید.

جدول مشکلات رایج BeamMP Server

مشکل علت احتمالی راه‌حل
Connection Failed Firewall یا Port Forwarding بررسی TCP/UDP 30814
خطای 10060 Timeout شبکه بررسی مسیر اتصال و IP عمومی
خطای 10061 اتصال رد شده یا سرویس در دسترس نیست بررسی اجرای سرور و پورت
سرور در Browser نیست Private یا Auth Key بررسی تنظیمات عمومی
Auth Key نامعتبر کلید اشتباه یا استفاده هم‌زمان بررسی Keymaster
Mod دانلود نمی‌شود ZIP خراب یا ناسازگار بررسی Resources/Client
نقشه اجرا نمی‌شود مسیر Map اشتباه بررسی levels و info.json
سرور در Linux اجرا نمی‌شود وابستگی یا Permission بررسی Lua و chmod
کندی هنگام ورود Mod حجیم یا شبکه ضعیف کاهش Modها و بررسی پهنای باند

سؤالات متداول درباره BeamMP Server

BeamMP Server چیست؟

BeamMP Server برنامه‌ای برای میزبانی جلسات چندنفره بازی BeamNG.drive است که ارتباط بازیکنان و محتوای موردنیاز آن‌ها را مدیریت می‌کند.

آیا ساخت سرور BeamMP رایگان است؟

نرم‌افزار سرور BeamMP رایگان ارائه می‌شود، اما در صورت استفاده از VPS باید هزینه میزبانی را پرداخت کنید.

آیا BeamMP Server روی Linux اجرا می‌شود؟

بله. نسخه‌های Linux برای توزیع‌ها و معماری‌های مختلف در GitHub رسمی منتشر می‌شوند.

نسخه پایدار BeamMP Server چیست؟

در زمان بررسی این مقاله، نسخه v3.9.3 به‌عنوان Latest پایدار و v3.9.4 به‌عنوان Pre-release نمایش داده شده است. برای اطلاع از نسخه جدیدتر، صفحه Releases رسمی را بررسی کنید.

Auth Key را از کجا دریافت کنیم؟

از وب‌سایت Keymaster BeamMP و با ورود از طریق Discord می‌توانید کلید سرور ایجاد کنید.

پورت پیش‌فرض BeamMP چیست؟

پورت 30814 برای هر دو پروتکل TCP و UDP استفاده می‌شود.

چگونه سرور را خصوصی کنیم؟

مقدار Private را در فایل ServerConfig.toml برابر true قرار دهید. این گزینه سرور را از فهرست عمومی پنهان می‌کند، اما به‌تنهایی سیستم رمز عبور نیست.

چرا سرور در Server Browser نمایش داده نمی‌شود؟

ممکن است Private فعال باشد، Auth Key معتبر نباشد یا اتصال شبکه و پورت‌ها مشکل داشته باشند.

چگونه Mod خودرو نصب کنیم؟

فایل ZIP خودرو را در پوشه Resources/Client قرار دهید تا برای بازیکنان قابل دریافت باشد.

چگونه نقشه سفارشی نصب کنیم؟

فایل ZIP نقشه را در Resources/Client قرار دهید و مسیر صحیح /levels/MAPNAME/info.json را در تنظیمات Map وارد کنید.

چرا هنگام ورود به سرور خطای Connection Failed دریافت می‌کنیم؟

ابتدا وضعیت اجرای سرور، IP عمومی، پورت‌های TCP و UDP، Firewall و Port Forwarding را بررسی کنید.

آیا CGNAT باعث مشکل اتصال می‌شود؟

بله. CGNAT می‌تواند مانع اتصال مستقیم کاربران اینترنت به سرور خانگی شود.

آیا سرور BeamMP به کارت گرافیک نیاز دارد؟

خیر. برنامه Dedicated Server به GPU نیاز ندارد.

چگونه تعداد خودروها را محدود کنیم؟

با گزینه MaxCars در ServerConfig.toml می‌توانید تعداد خودروهای مجاز هر بازیکن را کنترل کنید.

Logهای BeamMP کجا هستند؟

فایل Server.log معمولاً در پوشه اجرای سرور ایجاد می‌شود. در Linux همچنین می‌توانید خروجی سرویس را با journalctl بررسی کنید.

آیا آپدیت سرور باعث حذف Modها می‌شود؟

اگر فقط فایل اجرایی را به‌درستی جایگزین کنید، معمولاً Resources دست‌نخورده باقی می‌ماند؛ با این حال، قبل از هر آپدیت Backup بگیرید.

جمع‌بندی

برای ساخت BeamMP Server ابتدا فایل اجرایی متناسب با سیستم‌عامل را از GitHub رسمی دانلود کنید. سپس از BeamMP Keymaster یک Auth Key دریافت کرده و آن را در فایل ServerConfig.toml وارد کنید.

برای اتصال بازیکنان باید پورت 30814 روی هر دو پروتکل TCP و UDP در دسترس باشد. اگر سرور خانگی دارید، Port Forwarding و CGNAT را نیز بررسی کنید.

برای نصب خودروها و نقشه‌های سفارشی از پوشه Resources/Client استفاده کنید و برای محتوای سمت سرور، ساختار افزونه‌های Lua را مطابق مستندات آن‌ها رعایت کنید.

در صورت بروز خطای Connection Failed، ابتدا وضعیت سرور، Firewall، IP عمومی و Logها را بررسی کنید. همچنین برای جلوگیری از ناسازگاری Modها و اختلال پس از آپدیت، پیش از هر تغییر مهم از تنظیمات و Resources نسخه پشتیبان تهیه کنید.

منابع و مستندات معتبر

برای تهیه این آموزش از راهنمای رسمی BeamMP و مخزن انتشار فایل‌های سرور استفاده شده است.

۱. BeamMP — Server Installation

آموزش رسمی نصب سرور، دریافت Auth Key، تنظیم Firewall، افزودن Mods و اتصال بازیکنان.

مشاهده مستندات نصب سرور BeamMP

۲. BeamMP Server — GitHub Releases

مرجع رسمی دریافت فایل‌های اجرایی Windows و Linux و بررسی نسخه‌های پایدار و آزمایشی.

مشاهده نسخه‌های BeamMP Server

۳. BeamMP Server — Source Repository

مخزن رسمی پروژه، پیش‌نیازهای اجرایی و اطلاعات توسعه سرور.

مشاهده مخزن BeamMP Server

۴. BeamMP Keymaster

سامانه رسمی ایجاد و مدیریت Auth Key سرورهای BeamMP.

ورود به BeamMP Keymaster

۵. BeamMP — Official Website

وب‌سایت رسمی پروژه برای دریافت Launcher و دسترسی به منابع پشتیبانی.

مشاهده وب‌سایت BeamMP

اشتراک‌گذاری مقاله
گفت‌وگو درباره آموزش

دیدگاه‌ها (۰)

هنوز دیدگاهی ثبت نشده است.

دیدگاه یا سؤال خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *