Soulmask Dedicated Server برای زمانی است که میخواهید دنیای Soulmask همیشه روشن بماند، بازیکنها بدون حضور Host وارد شوند و مدیریت Tribe، Save، Backup، PvE/PvP و تنظیمات World در اختیار خودتان باشد. بر خلاف Host کردن از داخل بازی، Dedicated Server یک سرویس مستقل است و روی Windows یا Linux اجرا میشود.
در زمان بازبینی این مقاله در ۲۰ اکتبر ۲۰۲۶، آخرین بهروزرسانی رسمی بازی Soulmask 1.0 Patch #21 است که ۱۵ اکتبر منتشر شد. نسخه Linux Dedicated Server نیز در همان روز Build جدید دریافت کرده است. برای نصب رسمی، App ID لینوکس 3017300 و App ID ویندوز 3017310 است.
بخش مهم این راهنما مصرف حافظه است. Soulmask از آن بازیهایی نیست که بتوان فقط از روی «تعداد بازیکن» RAM را حدس زد؛ تعداد Tribesmen فعال، Baseهای بزرگ، World قدیمی، حیوانات، Automation و مدتزمان روشنبودن Server میتوانند بار حافظه را بهشدت تغییر دهند. در منابع رسمی یک جدول دقیق RAM مخصوص Dedicated Server پیدا نمیشود، بنابراین اعداد این مقاله برای ظرفیتسنجی Server با برچسب تجربه عملی/Community ارائه میشوند و باید با Monitoring واقعی خودتان تأیید شوند.
پیشنهاد سریع: برای Soulmask یک VPS کوچک ۴ یا ۸ گیگابایتی را نقطه شروع مطمئن در نظر نگیرید. گزارشهای Server Adminها معمولاً مصرف بالاتر از ۱۲GB را پس از Load کامل World نشان میدهند. برای گروه کوچک، 16GB RAM نقطه شروع عملیتری است و برای Worldهای بزرگ یا Public Server باید بر اساس Peak واقعی به 24GB یا بیشتر فکر کنید.
Soulmask Server در ۲۰۲۶؛ الان روی چه نسخهای هستیم؟
Soulmask از Early Access عبور کرده و خط فعلی بازی 1.0 است. آخرین Patch رسمی در زمان نگارش 1.0 Patch #21 است. این موضوع در Game Server مهم است، چون Client قدیمی ممکن است بعد از Patch نتواند به Server جدید وصل شود و برعکس.
برای Dedicated Server دو App مستقل وجود دارد:
| سیستمعامل | SteamCMD App ID | وضعیت |
|---|---|---|
| Linux 64-bit | 3017300 |
نسخه رسمی و فعال |
| Windows 64-bit | 3017310 |
نسخه رسمی و فعال |
SteamDB برای Linux Dedicated Server در ۱۵ اکتبر ۲۰۲۶ Build عمومی جدید ثبت کرده است. بنابراین در روز Patch، فقط Client را Update نکنید؛ Server را هم با SteamCMD بهروزرسانی و سپس Restart کنید.
برای Soulmask چقدر RAM و CPU لازم است؟
یک عدد قطعی برای همه Worldها وجود ندارد. Server باید علاوه بر Playerها، Tribe NPCها، Pathfinding، حیوانات، Structureها و World State را نگه دارد. به همین دلیل دو Server با ۱۰ بازیکن میتوانند مصرف RAM کاملاً متفاوتی داشته باشند.
| سناریو | RAM شروع پیشنهادی | CPU | توضیح |
|---|---|---|---|
| ۲ تا ۶ نفر، World تازه | 12–16GB | ۳ تا ۴ Core سریع | حداقل عملی بر اساس گزارش Community |
| ۶ تا ۱۵ نفر، چند Tribe و Base | 16GB | ۴ Core سریع | برای VPS عمومی نقطه شروع منطقیتر |
| Public Server یا World قدیمی | 16–24GB | ۴ تا ۶ Core سریع | باید Peak واقعی اندازهگیری شود |
| World بسیار بزرگ و Tribeهای متعدد | 24GB+ | ۶ Core یا بیشتر | ظرفیت فقط با تست واقعی تعیین شود |
این جدول Requirement رسمی توسعهدهنده نیست. منابع Community در ۲۰۲۶ مصرف بیش از ۱۲GB را برای World Loadشده گزارش میکنند. خود صفحه Steam بازی نیز برای Client حداقل 16GB و پیشنهاد 24GB RAM دارد، اما Requirement Client را نباید بهعنوان Requirement رسمی Dedicated Server جا زد.
چه چیزی RAM را بیشتر از تعداد Player بالا میبرد؟
🔹 تعداد Tribesmen و NPCهای فعال در Tribeها.
🔹 Baseهای بزرگ و پراکنده در Map.
🔹 World قدیمی با داده و ساختوساز زیاد.
🔹 تعداد حیوانات، Workerها و Jobهای Automation.
🔹 Modها و تنظیمات Gameplay سنگین.
🔹 Uptime طولانی و رشد حافظه Process در طول زمان.
پس «۱۰ Player» بهتنهایی Benchmark نیست. ۱۰ بازیکنی که هر کدام Tribe بزرگی با دهها Worker دارند میتوانند از یک سرور ۲۰نفره با Baseهای کوچک سنگینتر باشند.
مطلب مرتبط: اگر RAM زیاد دارید ولی Server هنوز کند است، Bottleneck را فقط به حافظه نسبت ندهید.
نصب Soulmask Dedicated Server روی Linux
روی Ubuntu/Debian، Server را با User جدا اجرا کنید:
sudo apt update
sudo apt install -y steamcmd
sudo useradd --system --create-home \
--home-dir /home/soulmask \
--shell /bin/bash soulmask
sudo mkdir -p /home/soulmask/server
sudo chown -R soulmask:soulmask /home/soulmask
دانلود نسخه رسمی Linux:
sudo -u soulmask /usr/games/steamcmd \
+force_install_dir /home/soulmask/server \
+login anonymous \
+app_update 3017300 validate \
+quit
بعد وارد پوشه Server شوید:
cd /home/soulmask/server
sudo -u soulmask ./StartServer.sh
در اولین Start، ساخت World و فایلهای Configuration زمان میبرد. قبل از تلاش برای Join، اجازه دهید Log نشان دهد Server کامل بالا آمده است.
نصب Soulmask Dedicated Server روی Windows
SteamCMD را در یک پوشه جدا قرار دهید، مثلاً:
C:\\SteamCMD
C:\\SoulmaskServer
دانلود:
C:\\SteamCMD\\steamcmd.exe ^
+force_install_dir C:\\SoulmaskServer ^
+login anonymous ^
+app_update 3017310 validate ^
+quit
نسخه Windows App ID متفاوتی از Linux دارد؛ این یکی از خطاهای رایج است. اگر روی Windows از 3017300 استفاده کنید، SteamCMD نسخه Linux را میگیرد.
یک Startup مناسب برای PvE
پیکربندی اصلی Soulmask بیشتر با Launch Parameterها انجام میشود. نمونه Linux:
./StartServer.sh \
-SteamServerName='Iranica Soulmask' \
-MaxPlayers=12 \
-PSW='CHANGE_JOIN_PASSWORD' \
-adminpsw='CHANGE_ADMIN_PASSWORD' \
-pve \
-Port=8777 \
-QueryPort=27015 \
-EchoPort=18888 \
-saving=600 \
-backup=900
سه نکته مهم:
🔹 Password ورود و Admin Password را یکسان نگذارید.
🔹 -pve و -pvp را همزمان استفاده نکنید.
🔹 مقدارهای Password و Server Name که Space دارند داخل Quote قرار بگیرند.
پورتهای Soulmask Server
در راهنماهای فعلی Dedicated Server، مقادیر رایج به این شکلاند:
| پورت | پروتکل | کاربرد |
|---|---|---|
| 8777 | UDP | Game Traffic |
| 27015 | UDP | Steam Query / Server Browser |
| 18888 | TCP | Echo/Telnet Management؛ بهتر است عمومی نباشد |
| 19000 | TCP | RCON در صورت فعالسازی |
روی Ubuntu با UFW:
sudo ufw allow 8777/udp
sudo ufw allow 27015/udp
# Echo/RCON را برای اینترنت عمومی باز نکنید.
sudo ufw status
اگر برای Management به EchoPort نیاز دارید، آن را فقط به IP مدیریتی محدود کنید:
sudo ufw allow from 203.0.113.10 \
to any port 18888 proto tcp
IP بالا فقط نمونه مستنداتی است و باید با IP واقعی مدیریت جایگزین شود.
Admin Password و پنل GM
پارامتر:
-adminpsw='LONG_UNIQUE_ADMIN_PASSWORD'
رمز GM باید با Password ورود بازیکنان متفاوت باشد. اگر این دو یکسان باشند، هر کسی که Join Password را دارد عملاً میتواند به Credential مدیریتی هم دسترسی داشته باشد.
برای Public Server:
🔹 Admin Password را فقط بین مدیران محدود توزیع کنید.
🔹 با خروج یک Moderator، رمز را عوض کنید.
🔹 RCON/Echo را از اینترنت عمومی محدود کنید.
🔹 Server و SteamCMD را با User غیر Administrator/Root اجرا کنید.
GameXishu.json؛ تنظیمات World را از Startup جدا ببینید
مواردی مثل Server Name، Port و Admin Password با Launch Parameterها کنترل میشوند، اما Gameplay Multiplierها در فایل دیگری هستند:
WS/Saved/GameplaySettings/GameXishu.json
این فایل بعد از اولین Start کامل Server ساخته میشود و شامل تنظیمهایی برای مواردی مثل XP، Gathering، Crafting، Hunger، Tribe، Raid و Day/Night است.
چون Keyهای این فایل بین Updateها ممکن است تغییر کنند، فایل یک Server قدیمی را کورکورانه روی Patch جدید جایگزین نکنید. قبل از Update از نسخه فعلی Backup بگیرید، Server جدید را یک بار بالا بیاورید و در صورت ایجاد Keyهای تازه، تنظیمهای قبلی را با احتیاط Merge کنید.
Save اصلی Soulmask کجا است؟
برای World پایه، مسیر مهم این است:
WS/Saved/Worlds/Dedicated/Level01_Main/
فایل اصلی Database:
world.db
اما فقط world.db را Backup نکنید. Database ممکن است فایلهای همراه یا دادهای داشته باشد که در لحظه نوشتن مهم هستند. امنترین روش این است که Server را متوقف کنید و کل پوشه World را Backup بگیرید.
saving و backup چه تفاوتی دارند؟
دو پارامتر مهم:
-saving=600
-backup=900
-saving فاصله نوشتن داده World را تعیین میکند و -backup فاصله Backup داخلی را. مقدارها بر حسب ثانیه هستند.
کوتاهکردن بیشازحد -saving دو اثر دارد: در Crash مقدار کمتری Progress از دست میرود، اما روی World بزرگ تعداد دفعات Disk Write بیشتر میشود و ممکن است Hitch یا فشار I/O بیشتری ایجاد کند.
| تنظیم | مزیت | ریسک |
|---|---|---|
| Save کوتاهتر | Rollback کمتر بعد از Crash | Disk I/O بیشتر |
| Save بلندتر | I/O کمتر | از دست رفتن Progress بیشتر در Crash |
| Backup کوتاهتر | Recovery Point بیشتر | فضای Disk و I/O بیشتر |
Server را با بستن پنجره ناگهانی خاموش نکنید
یکی از دلایل World Rollback یا خرابشدن داده، Kill کردن ناگهانی Process هنگام Write است. Echo Console برای Shutdown کنترلشده استفاده میشود.
از خود Server:
telnet 127.0.0.1 18888
سپس:
quit 180
این فرمان Shutdown را با Countdown انجام میدهد تا Server فرصت Save کردن داشته باشد. اگر Telnet Client روی Windows فعال نیست، میتوانید آن را از Optional Features اضافه کنید یا از ابزار سازگار دیگری استفاده کنید.
Backup خارجی؛ نسخه داخلی بهتنهایی کافی نیست
Backup داخلی Soulmask روی همان Disk قرار میگیرد. اگر VPS حذف شود، File System خراب شود یا Storage از دست برود، World و Backup داخلی با هم از بین میروند.
قبل از Update یا Maintenance، Server را Graceful Stop کنید و پوشه World و Settings را Archive کنید.
Linux:
mkdir -p /home/soulmask/backups
tar -czf \
/home/soulmask/backups/soulmask-$(date +%F-%H%M).tar.gz \
-C /home/soulmask/server \
WS/Saved/Worlds \
WS/Saved/GameplaySettings \
WS/Saved/Config
Windows PowerShell:
$Stamp = Get-Date -Format "yyyy-MM-dd-HHmm"
$Source = "C:\\SoulmaskServer\\WS\\Saved"
$Dest = "D:\\SoulmaskBackups"
New-Item -ItemType Directory -Force -Path $Dest | Out-Null
Compress-Archive `
-Path "$Source\\Worlds","$Source\\GameplaySettings","$Source\\Config" `
-DestinationPath "$Dest\\soulmask-$Stamp.zip"
بعد نسخه را به Storage دیگری منتقل کنید.
مطلب مرتبط: برای نگهداری Backup خارج از همان VPS میتوانید Restic را استفاده کنید.
چرا مصرف RAM Soulmask بالا میرود؟
اول باید بین سه حالت فرق بگذاریم:
| الگو | برداشت احتمالی | اقدام |
|---|---|---|
| RAM با ورود Player و Load Base بالا میرود | Workload عادی | Capacity Planning |
| RAM با World قدیمی و Tribeهای زیاد بالا است | World Simulation سنگین | Tribe/Base/Activity را بررسی کنید |
| RAM ساعتها رشد میکند و بعد از خروج همه پایین نمیآید | Memory Growth یا Leak احتمالی | Update، Log، Trend و Restart کنترلشده |
| RAM پر + Swap بالا + Stutter | Memory Pressure واقعی | RAM بیشتر یا Load کمتر |
| RAM نرمال ولی Lag شدید | CPU، Disk یا Network | RAM را متهم نکنید |
هر مصرف بالای حافظه را «Memory Leak قطعی» ننامید. اگر Process 14GB مصرف میکند ولی چند ساعت روی همان مقدار ثابت میماند و سیستم Swap نمیکند، وضعیت با Processی که هر ساعت چندصد مگابایت رشد میکند متفاوت است.
روی Linux مصرف حافظه را درست اندازه بگیرید
Processهای اصلی Soulmask را پیدا کنید:
ps -eo pid,etime,rss,%mem,%cpu,cmd \
--sort=-rss | head -n 20
RAM کل سیستم:
free -h
vmstat 5
اگر Crash داشتید:
journalctl -k \
| grep -Ei 'out of memory|oom|killed process'
برای یک تشخیص قابلاعتماد، مقدار RSS را در چهار زمان ثبت کنید: قبل از ورود کاربران، بعد از یک ساعت، در Peak و بعد از خروج همه. یک Screenshot از htop بهتنهایی Memory Leak را ثابت نمیکند.
World Size را فقط با حجم world.db نسنجید
اندازه world.db مهم است، اما «World بزرگ» فقط به File Size معنی نمیشود. Worldهایی با Baseهای پراکنده و Tribeهای پرجمعیت میتوانند Simulation سنگینتری از Worldی با DB مشابه داشته باشند.
اندازه World را ثبت کنید:
du -sh \
/home/soulmask/server/WS/Saved/Worlds/Dedicated/Level01_Main
du -h \
/home/soulmask/server/WS/Saved/Worlds/Dedicated/Level01_Main/world.db
بهتر است این اعداد را کنار Peak RAM و تعداد Player/Tribesmen ذخیره کنید. بعد از چند هفته متوجه میشوید رشد حافظه واقعاً با World Size همبستگی دارد یا فقط Uptime/Build خاص عامل آن است.
برای کاهش مصرف RAM از کجا شروع کنیم؟
🔹 Server را با SteamCMD به Build روز Update کنید.
🔹 Modها را در زمان عیبیابی موقتاً حذف یا دستهبندی کنید.
🔹 تعداد Slot را بیش از نیاز واقعی نگذارید.
🔹 Tribe Size و NPC/Workerهای بسیار زیاد را در Public Server کنترل کنید.
🔹 Baseهای متروکه و World بسیار قدیمی را در Test Copy بررسی کنید.
🔹 Swap Thrashing را از مصرف RAM عادی جدا کنید.
🔹 Restart دورهای را فقط بعد از Save و Backup انجام دهید.
اگر Memory Usage پس از Restart مثلاً 12GB است و طی ۲۴ ساعت به 20GB میرسد، Restart روزانه میتواند جلوی OOM را بگیرد؛ اما این درمان Memory Leak نیست. باید Build، Mods و World Load نیز بررسی شوند.
آیا Restart روزانه مفید است؟
برای Serverهایی که Memory Growth دارند، Restart در ساعت کمترافیک میتواند Workaround خوبی باشد؛ به شرطی که Graceful باشد.
Workflow:
1. announce maintenance
2. graceful quit 180
3. wait for process exit
4. copy external backup
5. steamcmd app_update ... validate
6. start server
7. verify ports + log + memory
Server را با Task Scheduler یا systemd میتوانید خودکار کنید، اما Update و Restart بدون Backup برای World مهم توصیه نمیشود.
Update کردن Soulmask Server
Linux:
sudo -u soulmask /usr/games/steamcmd \
+force_install_dir /home/soulmask/server \
+login anonymous \
+app_update 3017300 validate \
+quit
Windows:
C:\\SteamCMD\\steamcmd.exe ^
+force_install_dir C:\\SoulmaskServer ^
+login anonymous ^
+app_update 3017310 validate ^
+quit
قبل از Update، World را Graceful Stop کنید و Backup بگیرید. بعد از Update، Log و Join یک Player آزمایشی را بررسی کنید.
Restore کردن World
اگر World خراب یا Rollback شده است:
🔹 Server را کامل Stop کنید.
🔹 از وضعیت فعلی خراب هم یک Copy نگه دارید.
🔹 پوشه فعلی Level01_Main را Rename کنید.
🔹 Backup سالم کل پوشه World را برگردانید.
🔹 Ownership/Permission را روی Linux اصلاح کنید.
🔹 Server را Start کنید و قبل از عمومیکردن، Base و Tribeها را بررسی کنید.
Linux:
sudo chown -R soulmask:soulmask \
/home/soulmask/server/WS/Saved/Worlds
اگر Restore روی Build قدیمی انجام میشود، Binary و Save Compatibility را هم در نظر بگیرید. همیشه Restore Test روی یک کپی جدا امنتر از دستکاری مستقیم World Production است.
اشتباههای رایج
🔹 استفاده از App ID ویندوز برای Linux یا برعکس.
🔹 انتخاب VPS با ۸GB صرفاً چون تعداد Player کم است.
🔹 یکسان گذاشتن Join Password و Admin Password.
🔹 Public کردن EchoPort یا RCON بدون ACL.
🔹 بستن مستقیم پنجره Server هنگام Save.
🔹 Backup گرفتن فقط از world.db در حالی که Server روشن است.
🔹 نگهداشتن همه Backupها روی همان VPS.
🔹 نامیدن هر RAM Usage بالا بهعنوان Memory Leak.
🔹 کاهش خیلی زیاد -saving روی World سنگین.
🔹 کپی کامل GameXishu.json قدیمی بعد از Patch بدون بررسی Keyهای جدید.
چکلیست قبل از بازکردن Server برای بازیکنان
| بخش | وضعیت مطلوب |
|---|---|
| Version | Client و Server روی Build سازگار |
| RAM | Peak بدون Swap Thrashing |
| CPU | Host Oversold نباشد |
| Ports | UDP 8777 و 27015 باز |
| Management | Echo/RCON فقط محدود |
| Admin | Join Password و Admin Password متفاوت |
| World | مسیر Save مشخص |
| Backup | نسخه خارج از VPS وجود دارد |
| Shutdown | Graceful Stop تست شده |
| Monitoring | RAM، CPU، Disk و Restart ثبت میشوند |
مطلب مرتبط: اگر در حال مقایسه چند Game Server برای VPS هستید، این راهنما را هم ببینید.
برای Soulmask یک سرور دائمی میخواهید؟
اگر تعداد بازیکنها، PvE/PvP، اندازه Tribeها و محل کاربران مشخص باشد، میتوان VPS را با RAM، CPU و مسیر شبکه مناسب انتخاب کرد و قبل از انتقال World، Port، Admin و Backup را آماده کرد.
تماس با پشتیبانی ایرانیکاسرور: 021-91302467
پرسشهای رایج
آخرین نسخه Soulmask در زمان این مقاله چیست؟
در زمان بازبینی ۲۰ اکتبر ۲۰۲۶، آخرین Patch رسمی بازی Soulmask 1.0 Patch #21 است که ۱۵ اکتبر منتشر شد.
App ID سرور Soulmask چیست؟
برای Linux از 3017300 و برای Windows از 3017310 استفاده کنید. این دو App جدا هستند.
Soulmask Server چقدر RAM لازم دارد؟
توسعهدهنده جدول دقیق رسمی Dedicated Server منتشر نکرده است. گزارشهای Community معمولاً بیش از ۱۲GB مصرف پس از Load کامل World را نشان میدهند؛ 16GB برای گروه کوچک نقطه شروع عملیتری است و Public World بزرگ ممکن است 24GB یا بیشتر نیاز داشته باشد.
پورتهای Soulmask Server کداماند؟
پیکربندی رایج فعلی UDP 8777 برای Game و UDP 27015 برای Query است. TCP 18888 مربوط به Echo/Management است و نباید بدون محدودیت روی اینترنت باز شود.
Save سرور Soulmask کجا قرار دارد؟
برای World پایه، مسیر WS/Saved/Worlds/Dedicated/Level01_Main/ است و فایل اصلی Database با نام world.db داخل آن قرار دارد.
چرا RAM با گذشت زمان زیاد میشود؟
World بزرگ، Tribeهای پرجمعیت، NPCها، Modها و Uptime طولانی میتوانند مصرف را بالا ببرند. رشد پیوسته و بدون بازگشت حافظه را با Monitoring بررسی کنید و آن را بدون اندازهگیری Memory Leak قطعی ننامید.
چطور Server را امن خاموش کنیم؟
از Echo Console به localhost وصل شوید و از دستور Shutdown زماندار مانند quit 180 استفاده کنید تا Server فرصت Save داشته باشد.
آیا Backup داخلی کافی است؟
خیر. Backup داخلی روی همان Storage قرار دارد. برای Disaster Recovery حداقل یک نسخه خارج از VPS نگه دارید و گاهی Restore آن را روی Test Server امتحان کنید.
جمعبندی
برای راهاندازی Soulmask Dedicated Server در ۲۰۲۶، مهمترین نکته این است که Windows و Linux App ID جدا دارند: 3017310 برای Windows و 3017300 برای Linux. Server را با SteamCMD Update نگه دارید و بعد از هر Patch سازگاری Client و Server را بررسی کنید.
در بحث منابع، RAM مهمترین نگرانی است؛ اما عدد رسمی ثابت برای Dedicated Server وجود ندارد. Community Serverها مصرف بالاتر از ۱۲GB را زیاد گزارش میکنند، بنابراین 16GB نقطه شروع معقولتری است و Worldهای بزرگ باید با Monitoring واقعی Capacity Planning شوند.
World Size فقط حجم world.db نیست. تعداد Tribeها، Workerها، Baseهای گسترده و Uptime میتوانند RAM و CPU را بالا ببرند. اگر حافظه پیوسته رشد میکند، Trend را ثبت کنید و Restart دورهای را فقط بهعنوان Workaround موقت ببینید.
در پایان، World را Graceful Shutdown کنید، کل پوشه Save و Settings را Backup بگیرید و یک نسخه خارج از همان VPS داشته باشید. برای Soulmask، Backup و RAM بهاندازه نصب SteamCMD مهماند.






دیدگاهها (۰)