ساخت سرور 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 Server — GitHub Releases
مرجع رسمی دریافت فایلهای اجرایی Windows و Linux و بررسی نسخههای پایدار و آزمایشی.
۳. BeamMP Server — Source Repository
مخزن رسمی پروژه، پیشنیازهای اجرایی و اطلاعات توسعه سرور.
۵. BeamMP — Official Website
وبسایت رسمی پروژه برای دریافت Launcher و دسترسی به منابع پشتیبانی.






دیدگاهها (۰)