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

ساخت سرور Barotrauma؛ آموزش نصب Mods و رفع خطای Client/Server Mismatch

ساخت سرور Barotrauma؛ آموزش نصب Mods و رفع خطای Client/Server Mismatch Barotrauma Server یک سرور اختصاصی برای بازی چندنفره Barotrauma است که به بازیکنان اجازه می‌دهد در محیط زیرآبی قمر اروپا، همراه یکدیگر زیردریایی…

ساخت سرور Barotrauma؛ آموزش نصب Mods و رفع خطای Client/Server Mismatch
خلاصه سریع این آموزش

ساخت سرور Barotrauma؛ آموزش نصب Mods و رفع خطای Client/Server Mismatch Barotrauma Server یک سرور اختصاصی برای بازی چندنفره Barotrauma است که به بازیکنان اجازه می‌دهد در محیط زیرآبی قمر…

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

فهرست مطالب

ساخت سرور 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

  1. سرور را متوقف کنید.
  2. از پوشه LocalMods و فایل config_player.xml Backup بگیرید.
  3. فهرست Modهای فعال و Workshop ID آن‌ها را تهیه کنید.
  4. نسخه Modها را با Client مقایسه کنید.
  5. Modهای قدیمی یا ناقص را با نسخه سازگار جایگزین کنید.
  6. ترتیب بارگذاری را مطابق توضیحات سازندگان تنظیم کنید.
  7. ساختار XML را بررسی کنید.
  8. سرور را اجرا کرده و دوباره اتصال را آزمایش کنید.

تست بدون 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.

مشاهده راهنمای Dedicated Server

۲. Official Barotrauma Wiki — Content Packages

مستندات نصب و مدیریت Content Packageها، Steam Workshop و ترتیب بارگذاری Modها.

مشاهده مستندات Content Packages

۳. Official Barotrauma Wiki — Enabling Mods on a Dedicated Server

راهنمای انتقال Modها به سرور و فعال‌سازی آن‌ها در config_player.xml.

آموزش فعال‌سازی Modها

۴. Official Barotrauma Wiki — Server Settings

مرجع تنظیمات serversettings.xml شامل پورت‌ها، دریافت Mod و ذخیره Logها.

مشاهده تنظیمات سرور

۵. Official Barotrauma Wiki — Permissions

معرفی دسترسی‌های مدیریتی شامل ManageRound، Ban، ManageCampaign و ConsoleCommands.

مشاهده راهنمای Permissions

۶. Official Barotrauma Wiki — List of Config Files

فهرست فایل‌های تنظیمات، دسترسی‌ها و Logهای مورد استفاده سرور.

مشاهده فهرست فایل‌ها

۷. Steam Workshop — Barotrauma

مرجع رسمی دریافت Modها و Content Packageهای ساخته‌شده توسط کاربران.

ورود به Steam Workshop

۸. Valve Developer Community — SteamCMD

مستندات نصب و به‌روزرسانی برنامه‌های Steam با خط فرمان.

مشاهده مستندات SteamCMD

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

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

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

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

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