ساخت سرور Barotrauma؛ آموزش نصب Mods و رفع خطای Client/Server Mismatch
Barotrauma Server یک سرور اختصاصی برای بازی چندنفره Barotrauma است که به بازیکنان اجازه میدهد در محیط زیرآبی قمر اروپا، همراه یکدیگر زیردریایی را هدایت کنند، مأموریت انجام دهند و در برابر موجودات خطرناک زنده بمانند.
با ساخت Dedicated Server میتوانید یک سرور مستقل برای دوستان یا جامعه بازیکنان ایجاد کنید، بدون اینکه لازم باشد کامپیوتر میزبان همیشه وارد بازی باشد. همچنین امکان مدیریت دسترسی بازیکنان، نصب Modهای Steam Workshop، تنظیم قوانین بازی و نگهداری Campaignهای چندنفره وجود دارد.
یکی از مشکلات رایج هنگام راهاندازی سرور، خطای Client/Server Mismatch یا Content Package Mismatch است. این خطا معمولاً زمانی رخ میدهد که نسخه بازی یا فایلهای محتوایی فعال در سرور با نسخه مورد استفاده بازیکن هماهنگ نباشند.
در این آموزش، نصب Barotrauma Dedicated Server با SteamCMD، تنظیم پورتها، نصب Workshop Mods، رفع خطاهای Mismatch، مدیریت Permissions، بررسی Logها، انتقال Save و آپدیت ایمن سرور را مرحلهبهمرحله بررسی میکنیم.
Barotrauma Dedicated Server چیست و چه کاربردی دارد؟
Barotrauma یک بازی چندنفره با عناصر Survival، نقشآفرینی و مدیریت زیردریایی است. بازیکنان نقشهایی مانند کاپیتان، مهندس، مکانیک، پزشک و افسر امنیتی را برعهده میگیرند.
در حالت معمول، یک بازیکن میتواند از داخل بازی میزبان شود؛ اما اگر از بازی خارج شود، جلسه میزبانی او نیز پایان پیدا میکند.
Dedicated Server یک برنامه مستقل است که بدون اجرای رابط گرافیکی بازی فعالیت میکند.
مزایای آن عبارتاند از:
- اجرای سرور مستقل از کامپیوتر بازیکنان.
- مدیریت Campaignهای چندنفره.
- تنظیم نام، رمز و ظرفیت سرور.
- نصب Content Packageهای سفارشی.
- مدیریت دسترسی کاپیتان و ادمینها.
- مشاهده Logها و خطاهای اتصال.
- نگهداری Save و اطلاعات شخصیتها.
- آپدیت سرور با SteamCMD.
ابزار رسمی Barotrauma Dedicated Server با Steam App ID شماره 1026340 عرضه میشود و برای Windows و Linux در دسترس است.
این شناسه با App ID بازی اصلی یعنی 602960 تفاوت دارد. شناسه اول برای دریافت سرور و شناسه دوم برای شناسایی بازی اصلی و محتوای Workshop استفاده میشود.
برای ساخت Barotrauma Server چه مقدار RAM و CPU لازم است؟
مصرف منابع سرور Barotrauma به تعداد بازیکنان، زیردریایی انتخابشده، موجودات فعال، تعداد مأموریتها و Modهای نصبشده بستگی دارد.
برخلاف بازیهایی با World بسیار گسترده، در Barotrauma پیچیدگی سیستمهای زیردریایی، تعداد آیتمها و پردازش رویدادها نیز اهمیت زیادی دارد.
جدول منابع پیشنهادی
| نوع سرور | RAM پیشنهادی | CPU پیشنهادی | کاربرد |
|---|---|---|---|
| آزمایشی | ۲ تا ۴ گیگابایت | ۲ vCPU | بررسی نصب و اتصال اولیه |
| خصوصی کوچک | ۴ تا ۶ گیگابایت | ۲ تا ۴ vCPU | بازی دوستانه با Modهای محدود |
| Modded | ۸ تا ۱۲ گیگابایت | ۴ vCPU سریع | زیردریایی سفارشی و Modهای متعدد |
| سنگین | ۱۲ تا ۱۶ گیگابایت یا بیشتر | ۴ تا ۶ vCPU | محتوای پیچیده و ظرفیت بالاتر |
این مقادیر پیشنهاد اولیه برای ظرفیتسنجی هستند و حداقل رسمی محسوب نمیشوند. مصرف واقعی را باید با توجه به Modها و شرایط بازی اندازهگیری کرد.
در نسخههای فعلی Barotrauma، ظرفیت معمول سرور حداکثر ۱۶ بازیکن است؛ بنابراین افزایش RAM بهتنهایی این محدودیت نرمافزاری را تغییر نمیدهد.
آیا SSD ضروری است؟
استفاده از SSD یا NVMe برای بارگذاری فایلها، ذخیره Campaign و مدیریت Modها پیشنهاد میشود. همچنین باید فضای کافی برای Backupها و نسخههای قبلی Modها داشته باشید.
آموزش نصب Barotrauma Dedicated Server با SteamCMD
SteamCMD ابزار رسمی Valve برای دریافت و بهروزرسانی برنامههای Steam از طریق خط فرمان است.
مرحله اول: دریافت SteamCMD
SteamCMD را از مستندات رسمی Valve دانلود کنید.
در ویندوز میتوانید آن را در مسیر زیر استخراج کنید:
C:\SteamCMD\
مرحله دوم: دانلود فایلهای سرور
Command Prompt را باز کنید و دستور زیر را اجرا کنید:
C:\SteamCMD\steamcmd.exe +force_install_dir C:\BarotraumaServer +login anonymous +app_update 1026340 validate +quit
در این دستور:
- force_install_dir مسیر نصب را مشخص میکند.
- login anonymous ورود بدون حساب شخصی Steam است.
- app_update 1026340 فایلهای Dedicated Server را دریافت میکند.
- validate فایلهای نصب را بررسی میکند.
مرحله سوم: اجرای سرور
وارد پوشه نصب شوید و فایل زیر را اجرا کنید:
C:\BarotraumaServer\DedicatedServer.exe
پس از بارگذاری تنظیمات، پیام Server started نشان میدهد که سرور مرحله راهاندازی را طی کرده است.
در این مرحله هنوز باید پورتها و دسترسی بازیکنان را بررسی کنید.
نصب Barotrauma Server روی Ubuntu Linux
برای اجرای Barotrauma روی Linux میتوانید از SteamCMD استفاده کنید. در این بخش از Ubuntu Server استفاده میکنیم.
مرحله اول: نصب SteamCMD
SteamCMD را مطابق راهنمای رسمی Valve روی توزیع خود نصب کنید.
اگر SteamCMD در PATH سیستم موجود باشد، میتوانید با دستور زیر آن را بررسی کنید:
command -v steamcmd
بهتر است SteamCMD و سرور بازی را با کاربر معمولی مخصوص بازی اجرا کنید، نه root.
مرحله دوم: دانلود Dedicated Server
پس از ساخت کاربر مخصوص بازی و ورود به حساب آن، دستور زیر را اجرا کنید:
steamcmd +force_install_dir /home/barotrauma/server +login anonymous +app_update 1026340 validate +quit
این دستور فرض میکند مسیر /home/barotrauma از قبل ایجاد شده و کاربر اجراکننده مجوز نوشتن در آن را دارد.
مرحله سوم: اجرای سرور Linux
cd /home/barotrauma/server
./DedicatedServer
اگر فایل اجازه اجرا ندارد، ابتدا مجوز آن را بررسی کنید.
برای اجرای دائمی میتوانید از systemd یا ابزارهایی مانند screen استفاده کنید. اگر به کنسول تعاملی سرور نیاز دارید، باید روش مدیریت Console را نیز در نظر بگیرید.
رفع مشکل Steam Authentication در Linux
اگر در Log خطایی مانند InitGameServer returned false مشاهده شد، ممکن است کتابخانه Steam موردنیاز پیدا نشده باشد.
در این شرایط، مسیر steamclient.so و پوشه ~/.steam/sdk64 را بررسی کنید.
راهکار دقیق به محل نصب SteamCMD و معماری سرور بستگی دارد. از کپی کردن فایلهای ناشناس یا کتابخانههای قدیمی OpenSSL از منابع نامعتبر خودداری کنید.
مستندات رسمی: Barotrauma Dedicated Server Hosting.
تنظیم فایل serversettings.xml در Barotrauma Server
فایل serversettings.xml تنظیمات اصلی سرور را نگهداری میکند.
در نصب ویندوز این مقاله، مسیر آن معمولاً به شکل زیر است:
C:\BarotraumaServer\serversettings.xml
قبل از ویرایش، سرور را متوقف کنید و از فایل اصلی کپی بگیرید.
تنظیمات مهم سرور
| گزینه | کاربرد |
|---|---|
| ServerName | نام نمایشی سرور |
| Port | پورت اصلی اتصال بازیکنان |
| QueryPort | پورت Query و فهرست سرورها |
| IsPublic | نمایش در Server Browser |
| MaxPlayers | حداکثر تعداد بازیکنان |
| password | رمز ورود سرور |
| AllowModDownloads | اجازه دریافت Modهای موردنیاز |
| SaveServerLogs | ذخیره Logهای سرور |
نام و حروف بزرگ یا کوچک Attributeها را مطابق فایل تولیدشده توسط Build خودتان حفظ کنید. بعضی راهنماهای قدیمی نامگذاری متفاوتی دارند.
نمونه تنظیمات اصلی
نمونه زیر فقط Attributeهای مهم را نشان میدهد و نباید جایگزین کل فایل serversettings.xml شود:
ServerName="Iranica Barotrauma Server"
Port="27015"
QueryPort="27016"
IsPublic="true"
MaxPlayers="12"
password="CHANGE_THIS_PASSWORD"
این مقادیر باید به Attributeهای موجود در عنصر اصلی XML اضافه شوند، نه اینکه بهصورت مستقل در انتهای فایل قرار بگیرند.
برای یک سرور خصوصی، بهتر است از رمز قوی استفاده کنید و دسترسیهای مدیریتی را محدود نگه دارید.
پورتهای Barotrauma Server و تنظیم Firewall
در پیکربندی پیشفرض Barotrauma، دو پورت UDP اهمیت دارند.
| پورت | پروتکل | کاربرد |
|---|---|---|
| 27015 | UDP | ارتباط اصلی بازی |
| 27016 | UDP | Steam Query و شناسایی سرور |
اگر پورتها را در تنظیمات تغییر دادهاید، Firewall نیز باید با همان مقادیر هماهنگ شود.
باز کردن پورتها در Windows Firewall
PowerShell را با دسترسی Administrator اجرا کنید:
New-NetFirewallRule -DisplayName "Barotrauma Game UDP" -Direction Inbound -Protocol UDP -LocalPort 27015 -Action Allow
New-NetFirewallRule -DisplayName "Barotrauma Query UDP" -Direction Inbound -Protocol UDP -LocalPort 27016 -Action Allow
باز کردن پورتها در Ubuntu
sudo ufw allow 27015/udp
sudo ufw allow 27016/udp
sudo ufw status
قبل از فعال کردن UFW روی سرور مجازی، مطمئن شوید دسترسی SSH شما مجاز است تا ارتباط مدیریتی قطع نشود.
بررسی پورت در Linux
sudo ss -lunp | grep -E '27015|27016'
اگر پورتها در وضعیت Listen هستند ولی بازیکنان متصل نمیشوند، Firewall شبکه، Port Forwarding و IP عمومی را بررسی کنید.
وجود پورت در خروجی ss به معنی دسترسی قطعی از اینترنت نیست.
آموزش نصب Mods از Steam Workshop روی Barotrauma Server
Barotrauma از Content Packageها برای اضافه کردن محتوا و تغییر Gameplay استفاده میکند.
این بستهها ممکن است شامل آیتمهای جدید، موجودات، مأموریتها، زیردریاییها، شغلها و تغییرات گرافیکی باشند.
برای مشاهده Modها به Steam Workshop بازی Barotrauma مراجعه کنید.
مرحله اول: انتخاب Mod سازگار
قبل از نصب، موارد زیر را بررسی کنید:
- نسخه بازی موردنیاز Mod.
- تاریخ آخرین آپدیت.
- وابستگی به Content Packageهای دیگر.
- نیاز احتمالی به Lua For Barotrauma.
- ترتیب بارگذاری پیشنهادشده توسط سازنده.
- سازگاری با Campaign و Save موجود.
مرحله دوم: دانلود از Workshop
در رایانهای که Steam و بازی Barotrauma نصب است، Mod را Subscribe کنید.
پس از دانلود و اجرای بازی، فایلهای نصبشده معمولاً در مسیر زیر قرار میگیرند:
%LocalAppData%\Daedalic Entertainment GmbH\Barotrauma\WorkshopMods\Installed\
در Linux مسیر معمول دادههای Workshop به شکل زیر است:
~/.local/share/Daedalic Entertainment GmbH/Barotrauma/WorkshopMods/Installed/
هر Mod معمولاً با شناسه Workshop خودش مشخص میشود.
مرحله سوم: انتقال Mod به سرور
سرور را متوقف کنید و پوشه Mod را به مسیر LocalMods در Dedicated Server انتقال دهید.
برای مثال:
C:\BarotraumaServer\LocalMods\ExampleMod\
در Linux:
/home/barotrauma/server/LocalMods/ExampleMod/
نام ExampleMod فقط نمونه است و باید با پوشه واقعی Mod جایگزین شود.
مرحله چهارم: بررسی filelist.xml
هر Content Package معمولاً فایل معرفی محتوا با نام filelist.xml دارد.
برای مثال:
LocalMods/ExampleMod/filelist.xml
در Linux، حروف بزرگ و کوچک نام فایل اهمیت دارند. filelist.xml با FileList.xml یکسان نیست.
تنظیم Content Packages و ترتیب بارگذاری Mods
صرفاً کپی کردن فایلهای Mod به سرور کافی نیست. باید Content Packageهای موردنظر در تنظیمات سرور فعال شوند.
در نسخههای فعلی، فایل config_player.xml در پوشه اصلی نصب، فهرست بستههای محتوایی فعال را نگهداری میکند.
مسیر نمونه:
C:\BarotraumaServer\config_player.xml
ساختار بستههای فعال
در بخش ContentPackages معمولاً یک Core Package و مجموعهای از Regular Packageها تعریف میشود.
نمونه مفهومی:
<ContentPackages>
<CorePackage path="Content/ContentPackages/Vanilla.xml" />
<RegularPackages>
<Package path="LocalMods/ExampleMod/filelist.xml" enabled="true" />
</RegularPackages>
</ContentPackages>
این قطعه برای توضیح ساختار است. مسیر Core Package و نام Attributeها را باید از فایل واقعی Build فعلی سرور بردارید و همان ساختار را حفظ کنید.
بهترین روش این است که Modها را ابتدا در Client سازگار فعال کنید و بخش ContentPackages را با ساختار موجود در سرور مقایسه کنید.
چرا ترتیب Modها مهم است؟
بعضی Modها فایلها یا ویژگیهای Modهای دیگر را تغییر میدهند. اگر ترتیب بارگذاری متفاوت باشد، نتیجه نهایی نیز ممکن است تغییر کند.
برای مثال، یک Mod اصلی ممکن است قبل از Patch سازگاری آن بارگذاری شود.
همیشه ترتیب پیشنهادی سازنده Mod را رعایت کنید.
آیا بازیکنان باید Modها را دستی نصب کنند؟
Barotrauma از دریافت Content Packageهای موردنیاز هنگام اتصال پشتیبانی میکند. با این حال، همه Modها رفتار یکسانی ندارند و بعضی تغییرات Client یا Lua نیازمند مراحل اضافی هستند.
گزینه AllowModDownloads را در تنظیمات سرور بررسی کنید. اگر غیرفعال باشد، دریافت مستقیم بستههای موردنیاز از سرور محدود میشود.
بهتر است فهرست Workshop IDها و نسخههای Modهای فعال را در اختیار بازیکنان قرار دهید.
رفع خطای Client/Server Mismatch در Barotrauma
خطای Client/Server Mismatch معمولاً نشان میدهد که نسخه برنامه Client با Dedicated Server هماهنگ نیست.
اما خطای Content Package Mismatch به فایلهای محتوایی و Modها مربوط میشود. تشخیص این دو حالت اهمیت زیادی دارد؛ زیرا روش رفع آنها متفاوت است.
حالت اول: نسخه Client و Server متفاوت است
اگر سرور نسخه قدیمیتری دارد، آن را با SteamCMD آپدیت کنید.
در Windows:
C:\SteamCMD\steamcmd.exe +force_install_dir C:\BarotraumaServer +login anonymous +app_update 1026340 validate +quit
در Linux:
steamcmd +force_install_dir /home/barotrauma/server +login anonymous +app_update 1026340 validate +quit
قبل از Update، سرور را متوقف کنید و از Save و تنظیمات نسخه پشتیبان بگیرید.
پس از Update، سرور را Restart کنید و مطمئن شوید بازیکنان نیز از نسخه سازگار استفاده میکنند.
حالت دوم: Content Package Mismatch
اگر پیام خطا به Content Package اشاره میکند، فهرست Modهای فعال را بررسی کنید.
موارد زیر میتوانند باعث Mismatch شوند:
- Mod در سرور نصب شده اما در Client موجود نیست.
- Client نسخه جدیدتر Mod را دارد.
- سرور از نسخه قدیمی Mod استفاده میکند.
- ترتیب بارگذاری Modها نادرست است.
- فایلهای Mod در سرور ناقص هستند.
- یکی از فایلهای Content Package تغییر کرده است.
- وابستگیهای موردنیاز Mod نصب نشدهاند.
روش مرحلهبهمرحله رفع Content Package Mismatch
- سرور را متوقف کنید.
- از پوشه LocalMods و فایل config_player.xml Backup بگیرید.
- فهرست Modهای فعال و Workshop ID آنها را تهیه کنید.
- نسخه Modها را با Client مقایسه کنید.
- Modهای قدیمی یا ناقص را با نسخه سازگار جایگزین کنید.
- ترتیب بارگذاری را مطابق توضیحات سازندگان تنظیم کنید.
- ساختار XML را بررسی کنید.
- سرور را اجرا کرده و دوباره اتصال را آزمایش کنید.
تست بدون Mod برای پیدا کردن مشکل
اگر علت مشخص نیست، ابتدا از تنظیمات و Save بکاپ بگیرید و یک سرور آزمایشی Vanilla راهاندازی کنید.
اگر Client بدون Mod به سرور آزمایشی متصل شد، مشکل احتمالاً در یکی از Content Packageها یا وابستگیهای آنهاست.
سپس Modها را بهصورت مرحلهای فعال کنید تا بسته ناسازگار مشخص شود.
این تست را روی Campaign اصلی انجام ندهید؛ زیرا حذف Modهای محتوایی از World موجود ممکن است اطلاعات بازی را تغییر دهد.
بررسی سلامت فایلهای XML
در Linux میتوانید ابزار xmllint را نصب کنید:
sudo apt install -y libxml2-utils
سپس فایل تنظیمات را بررسی کنید:
xmllint --noout /home/barotrauma/server/config_player.xml
این دستور ساختار نحوی XML را بررسی میکند، اما سازگاری Modها با نسخه بازی را تضمین نمیکند.
مدیریت Permissions و دسترسی ادمین در Barotrauma
در سرورهای عمومی و Campaignهای چندنفره، مدیریت Permissions اهمیت زیادی دارد.
برای مثال، ممکن است بخواهید یک بازیکن اجازه شروع Round یا مدیریت Campaign را داشته باشد، اما نتواند بازیکنان دیگر را Ban کند.
فایل clientpermissions.xml
فایل دسترسی بازیکنان معمولاً در مسیر زیر قرار دارد:
C:\BarotraumaServer\Data\clientpermissions.xml
در Linux نیز فایل داخل پوشه Data نصب سرور قرار میگیرد.
دسترسیهای مهم
| Permission | کاربرد |
|---|---|
| ManageRound | شروع و پایان Round |
| ManageCampaign | مدیریت بخشهای Campaign |
| ManageMap | انتخاب مقصد روی نقشه |
| ManageHires | مدیریت استخدام خدمه |
| ManageMoney | مدیریت منابع مالی |
| Kick | اخراج بازیکن |
| Ban | مسدود کردن بازیکن |
| ServerLog | مشاهده Logهای سرور |
| ManageSettings | تغییر تنظیمات سرور |
| ManagePermissions | مدیریت دسترسی دیگران |
| ConsoleCommands | دسترسی به فرمانهای مجاز کنسول |
دادن Rank به بازیکن
در کنسول مدیریتی، دستور giverank برای اختصاص Rank قابل استفاده است.
قبل از اجرای دستور، فهرست Rankها و نحو دقیق فرمان را از Help نسخه فعلی سرور بررسی کنید؛ زیرا شناسه Rank و نحوه شناسایی بازیکن باید با تنظیمات همان سرور هماهنگ باشد.
برای امنیت بیشتر، دسترسیهای Ban، ConsoleCommands و ManagePermissions را فقط به مدیران قابل اعتماد بدهید.
Logهای Barotrauma Server کجا ذخیره میشوند؟
Logها برای تشخیص خطاهای اتصال، Modهای ناسازگار، مشکلات Steam و توقف ناگهانی سرور کاربرد دارند.
در تنظیمات Barotrauma گزینه SaveServerLogs مشخص میکند که گزارشهای سرور ذخیره شوند یا خیر.
پوشه رایج Logهای ذخیرهشده:
ServerLogs/
مسیر دقیق را در پوشه نصب یا دادههای سرور بررسی کنید.
جستوجوی خطاهای مهم در Linux
برای جستوجوی پیامهای مربوط به Mismatch، Package و Exception در فایلهای Log متنی:
grep -RniE 'mismatch|package|exception|error|steam' /home/barotrauma/server/ServerLogs/
اگر پوشه ServerLogs در مسیر دیگری قرار دارد، آدرس دستور را تغییر دهید.
Logهای مهم هنگام عیبیابی
- Version Mismatch: بررسی نسخه Client و Server.
- Content Package Error: بررسی Modها و filelist.xml.
- Steam Authentication Error: بررسی کتابخانه Steam و ارتباط شبکه.
- Connection Timed Out: بررسی پورت، Firewall و تأخیر شبکه.
- Missing File: بررسی نصب ناقص Mod یا فایل بازی.
- Unhandled Exception: بررسی خطای برنامه یا Modهای کدنویسیشده.
هنگام ارسال Log برای پشتیبانی، اطلاعات حساس مانند رمز سرور و شناسههای خصوصی را بررسی و در صورت نیاز حذف کنید.
محل ذخیره Campaign و روش Backup گرفتن از Barotrauma Server
در Barotrauma، Campaign چندنفره فقط به فایل اصلی Save محدود نیست.
اطلاعات شخصیتهای بازیکنان نیز در فایل همراه ذخیره میشود. هنگام انتقال Campaign، حذف یا فراموش کردن این فایل میتواند باعث شود بازیکنان پیشرفت شخصیت خود را از دست بدهند.
مسیر Save در Windows
%LocalAppData%\Daedalic Entertainment GmbH\Barotrauma\Multiplayer\
مسیر Save در Linux
~/.local/share/Daedalic Entertainment GmbH/Barotrauma/Multiplayer/
علامت ~ به پوشه Home همان کاربری اشاره میکند که Dedicated Server را اجرا میکند.
چه فایلهایی را منتقل کنیم؟
برای یک Campaign نمونه، فایلهای زیر ممکن است وجود داشته باشند:
IranicaCampaign.save
IranicaCampaign_CharacterData.xml
برای انتقال صحیح، هر دو فایل را نگهداری کنید.
Backup در Linux
ابتدا سرور را بهصورت صحیح متوقف کنید.
سپس برای تهیه Backup از پوشه Multiplayer:
mkdir -p "$HOME/barotrauma-backups"
tar -czf "$HOME/barotrauma-backups/campaign-$(date +%Y%m%d-%H%M%S).tar.gz" \
-C "$HOME/.local/share/Daedalic Entertainment GmbH/Barotrauma" Multiplayer
این دستور باید با همان کاربری اجرا شود که فایلهای Save در Home آن قرار دارند.
برای Backup کاملتر، فایلهای serversettings.xml، config_player.xml، پوشه LocalMods و تنظیمات Permissions را نیز ذخیره کنید.
آپدیت Barotrauma Server و Workshop Mods
آپدیت Barotrauma معمولاً شامل دو بخش مستقل است: فایلهای اصلی Dedicated Server و Content Packageهای نصبشده.
مرحله اول: Backup
از Campaign، فایل شخصیتها، Modها و تنظیمات سرور Backup بگیرید.
مرحله دوم: آپدیت فایلهای سرور
سرور را متوقف کنید و SteamCMD را اجرا کنید:
steamcmd +force_install_dir /home/barotrauma/server +login anonymous +app_update 1026340 validate +quit
مرحله سوم: آپدیت Modها
Modهایی که بهصورت دستی در LocalMods قرار دادهاید، الزاماً همراه با آپدیت Dedicated Server بهروزرسانی نمیشوند.
نسخه جدید Modها را از Workshop دریافت کنید و پس از بررسی سازگاری، فایلهای قبلی را جایگزین کنید.
اگر Mod جدید نیازمند تغییر ترتیب بارگذاری یا نصب Dependency تازه است، فایل config_player.xml را نیز اصلاح کنید.
مرحله چهارم: تست اتصال
پس از Restart، ابتدا با یک Client سازگار وارد شوید و بررسی کنید:
- نسخه بازی و سرور یکسان باشد.
- Content Packageها بدون خطا بارگذاری شوند.
- Campaign قبلی نمایش داده شود.
- شخصیتهای بازیکنان حفظ شده باشند.
- Round بدون Crash اجرا شود.
چگونه مصرف RAM و CPU سرور Barotrauma را کاهش دهیم؟
برای بهینهسازی عملکرد Barotrauma، فقط به افزایش RAM توجه نکنید. پیچیدگی زیردریایی، تعداد سیستمهای فعال و Modها میتوانند مصرف CPU را نیز افزایش دهند.
۱. Modهای غیرضروری را کاهش دهید
Modهایی که موجودات، آیتمها و سیستمهای پردازشی جدید اضافه میکنند، ممکن است مصرف منابع را افزایش دهند.
برای تشخیص Mod سنگین، از یک سرور آزمایشی استفاده کنید و Modها را بهصورت مرحلهای فعال کنید.
۲. زیردریاییهای پیچیده را بررسی کنید
زیردریاییهای سفارشی با تعداد زیاد تجهیزات، مدارها و قطعات تعاملی ممکن است فشار بیشتری ایجاد کنند.
اگر Lag فقط هنگام استفاده از یک زیردریایی خاص رخ میدهد، عملکرد آن را با یک زیردریایی پیشفرض مقایسه کنید.
۳. مصرف منابع در Linux
free -h
ps -eo pid,comm,%cpu,%mem,rss --sort=-rss | head -15
۴. وضعیت شبکه را بررسی کنید
تأخیر بالا، Packet Loss و مسیر شبکه نامناسب میتوانند باعث شوند بازیکنان Lag تجربه کنند، حتی اگر CPU و RAM سرور کافی باشد.
اگر فقط بازیکنان یک منطقه جغرافیایی مشکل دارند، مسیر ارتباطی و Ping آنها را بررسی کنید.
جدول رفع مشکلات رایج Barotrauma Server
| مشکل | علت احتمالی | راهحل |
|---|---|---|
| Client/Server Mismatch | نسخه متفاوت بازی | آپدیت Client و Dedicated Server |
| Content Package Mismatch | Mod متفاوت یا ناقص | هماهنگ کردن Packageها |
| Server not responding | پورت بسته یا سرویس غیرفعال | بررسی UDP و وضعیت سرور |
| Timed Out | Firewall، NAT یا تأخیر شبکه | بررسی اتصال خارجی |
| Mod not found | مسیر filelist.xml اشتباه | اصلاح LocalMods و config_player.xml |
| Steam Authentication Error | کتابخانه یا ارتباط Steam | بررسی steamclient.so و Log |
| بازیکن دسترسی ادمین ندارد | Permission تعریف نشده | بررسی clientpermissions.xml |
| شخصیت بازیکن حذف شده | CharacterData منتقل نشده | بازیابی فایل همراه Campaign |
| Crash پس از نصب Mod | ناسازگاری یا Dependency ناقص | بررسی Log و تست Mod |
| مشکل پس از Update | Mod قدیمی یا Save ناسازگار | بررسی نسخهها و Backup |
سؤالات متداول درباره Barotrauma Server
آیا میتوان Barotrauma Dedicated Server رایگان ساخت؟
ابزار Dedicated Server بهصورت جداگانه و رایگان در Steam عرضه میشود. البته برای اجرای آن روی VPS باید هزینه منابع میزبانی را در نظر بگیرید.
App ID سرور Barotrauma چیست؟
شناسه Dedicated Server برابر 1026340 و شناسه بازی اصلی برابر 602960 است.
پورت پیشفرض Barotrauma چیست؟
پورت اصلی 27015/UDP و پورت Query برابر 27016/UDP است.
Barotrauma Server روی Linux اجرا میشود؟
بله. نسخه Dedicated Server برای Linux ارائه میشود و میتوان آن را با SteamCMD نصب کرد.
چرا Client/Server Mismatch دریافت میکنم؟
معمولاً نسخه بازی روی Client و سرور متفاوت است. ابتدا نسخهها و شاخههای نصب را بررسی کنید.
چرا Content Package Mismatch رخ میدهد؟
ممکن است نسخه Mod، فایلهای محتوایی یا فهرست بستههای فعال با سرور هماهنگ نباشد.
آیا سرور Modهای Workshop را خودکار آپدیت میکند؟
Modهایی که دستی در LocalMods کپی شدهاند، همراه با آپدیت فایلهای اصلی سرور لزوماً بهروزرسانی نمیشوند و باید جداگانه بررسی شوند.
فایل فعالسازی Modها کجاست؟
فایل config_player.xml در پوشه نصب سرور، Content Packageهای فعال را مشخص میکند.
آیا ترتیب بارگذاری Modها مهم است؟
بله. بعضی Modها به Modهای دیگر وابستهاند و ترتیب نادرست میتواند باعث ناسازگاری شود.
چگونه ادمین Barotrauma Server شویم؟
میتوانید از سیستم Rank و Permissions بازی استفاده کنید. دسترسیها در فایل clientpermissions.xml مدیریت میشوند.
Logهای سرور کجا هستند؟
گزارشهای ذخیرهشده معمولاً در ServerLogs قرار میگیرند. مسیر دقیق به نصب و تنظیمات سرور بستگی دارد.
چگونه Campaign را به Dedicated Server منتقل کنیم؟
فایل Save و فایل همراه CharacterData را به پوشه Multiplayer سرور منتقل کنید و از سازگاری نسخه و Modها مطمئن شوید.
چرا شخصیت بازیکنان بعد از انتقال Campaign از بین رفته است؟
یکی از علتهای مهم، منتقل نشدن فایل _CharacterData.xml است که اطلاعات شخصیتها را نگهداری میکند.
چگونه مصرف RAM سرور را کاهش دهیم؟
Modهای غیرضروری را کاهش دهید، زیردریاییهای پیچیده را بررسی کنید و مصرف CPU و RAM را هنگام اجرای Round اندازهگیری کنید.
آیا باز کردن پورت مشکل Mismatch را رفع میکند؟
خیر. اگر خطا مربوط به نسخه بازی یا Content Package باشد، باید فایلها و نسخهها هماهنگ شوند. باز کردن پورت برای رفع مشکلات دسترسی شبکه کاربرد دارد.
جمعبندی
برای ساخت Barotrauma Server ابتدا Dedicated Server را با SteamCMD و شناسه 1026340 نصب کنید. سپس نام سرور، ظرفیت، رمز و پورتها را در serversettings.xml تنظیم کنید.
برای نصب Workshop Mods، فایلهای Content Package را در مسیر مناسب قرار دهید و فهرست بستههای فعال را در config_player.xml مدیریت کنید.
اگر بازیکنان با خطای Client/Server Mismatch مواجه شدند، ابتدا نسخه بازی را بررسی کنید. اگر خطا مربوط به Content Package است، Modها، وابستگیها و ترتیب بارگذاری را با سرور هماهنگ کنید.
همچنین با تنظیم Permissions، نگهداری Logها و تهیه Backup از Campaign و CharacterData میتوانید سرور را مطمئنتر مدیریت کنید و احتمال از دست رفتن پیشرفت بازیکنان را کاهش دهید.
منابع و مستندات معتبر
برای بررسی نصب Dedicated Server، پورتها، Content Packageها، دسترسیها و رفع خطاهای Mod از منابع زیر استفاده شده است.
۱. Official Barotrauma Wiki — Hosting a Dedicated Server
راهنمای نصب با SteamCMD، پورتها، تنظیمات سرور و اجرای Linux.
۲. Official Barotrauma Wiki — Content Packages
مستندات نصب و مدیریت Content Packageها، Steam Workshop و ترتیب بارگذاری Modها.
۳. Official Barotrauma Wiki — Enabling Mods on a Dedicated Server
راهنمای انتقال Modها به سرور و فعالسازی آنها در config_player.xml.
۴. Official Barotrauma Wiki — Server Settings
مرجع تنظیمات serversettings.xml شامل پورتها، دریافت Mod و ذخیره Logها.
۵. Official Barotrauma Wiki — Permissions
معرفی دسترسیهای مدیریتی شامل ManageRound، Ban، ManageCampaign و ConsoleCommands.
۶. Official Barotrauma Wiki — List of Config Files
فهرست فایلهای تنظیمات، دسترسیها و Logهای مورد استفاده سرور.
۷. Steam Workshop — Barotrauma
مرجع رسمی دریافت Modها و Content Packageهای ساختهشده توسط کاربران.
۸. Valve Developer Community — SteamCMD
مستندات نصب و بهروزرسانی برنامههای Steam با خط فرمان.






دیدگاهها (۰)