Getting Online
Dedicated Server Setup
Running your own server gives you full control over rules, rates, and who plays. Soulmask uses four config layers: startup parameters, Engine.ini, GameXishu.json, and the in-game GM menu.
📦 Install via SteamCMD
The dedicated server tool is free and does not require owning the game
Download SteamCMD
Download SteamCMD from Valve and extract it to a folder (e.g. C:\SoulmaskServer).
Install Server Files
Create UpdateSoulmask.bat with:
steamcmd.exe +login anonymous +force_install_dir C:\SoulmaskServer +app_update 3017310 validate +quit
Run it as Administrator. The Windows app ID is 3017310; Linux is 3017300.
Create Launch Script
Create StartServer.bat with a command like:
WS\Binaries\Win64\WSServer-Win64-Shipping.exe Level01_Main -server -log -UTF8Output -forcepassthrough -PORT=8777 -QueryPort=27015 -EchoPort=18888 -SteamServerName="My Server" -MaxPlayers=20 -PSW="joinpass" -adminpsw="adminpass" -pve -saving=300 -backup=900 -online=Steam
Use a Template (Optional)
Add -coef=PvE_10P_3x to match official server settings. Available templates are in WS/Config/GameplaySettings/ as GameXishu_Template_[Name].json.
Become Admin In-Game
Join your server, press ~ (tilde) to open the console, and type:
gm key youradminpass
The GM panel opens automatically. Close it — you retain admin privileges.
Network
Ports & Forwarding
Four ports must be forwarded on your router. Assign your server machine a static local IP first.
🔌 Required Ports
| Port | Protocol | Purpose | Mandatory |
|---|---|---|---|
| 8777 | UDP | Game traffic (primary port) | Yes |
| 27015 | UDP | Steam query — server visibility in browser | Yes |
| 18888 | TCP | Telnet console (localhost only by default) | Optional |
| 19000 | TCP | RCON remote console (requires -rconpsw) | Optional |
Set the game port via -Port=8777, query port via -QueryPort=27015, and echo/telnet port via -EchoPort=18888. RCON is enabled by adding -rconpsw="password" -rconport=19000.
Under the Hood
Config Files
Soulmask uses three configuration layers. Startup parameters have highest priority, then Engine.ini, then GameXishu.json.
📁 File Structure
Inside the dedicated server installation
- WS/Saved/Config/WindowsServer/Engine.ini — Core settings: server name, player cap, PvP toggle, save interval. Edit under
[Dedicated.Settings]. - WS/Saved/GameplaySettings/GameXishu.json — All gameplay multipliers. Stop the server before editing — changes are overwritten while running. Contains 3 identical sections (0, 1, 2); edit all three.
- WS/Saved/Worlds/Dedicated/Level01_Main/world.db — World save file. Back this up regularly.
- WS/Saved/Logs/WS.log — Server log for troubleshooting.
🚀 Startup Parameters
Pass these on the command line or in your hosting panel
| Parameter | Default | Description |
|---|---|---|
-SteamServerName="Name" | UNNAMED_SERVER | Display name in the server browser |
-MaxPlayers=50 | 20 | Player cap (configurable up to ~70) |
-PSW="password" | (none) | Join password — omit for a public server |
-adminpsw="password" | (none) | Admin/GM password — always set this |
-pve or -pvp | — | Game mode. Required. Choose one. |
-PORT=8777 | 8777 | Game port (UDP) |
-QueryPort=27015 | 27015 | Steam query port (UDP) |
-EchoPort=18888 | 18888 | Telnet console port (TCP, localhost only) |
-rconpsw="password" | (none) | RCON password (enables remote console) |
-rconport=19000 | 19000 | RCON port (TCP) |
-GongHuiMaxMember=50 | — | Max tribe/guild member count |
-saving=300 | 300 | Auto-save interval in seconds |
-backup=900 | 900 | Backup interval in seconds |
-coef=PvE_10P_3x | — | Load a gameplay template from GameplaySettings/ |
-clientserverconnect=[ip:port] | — | Join a server cluster as a client server |
Gameplay Tuning
GameXishu.json Reference
All gameplay multipliers live in this JSON file. Keys are Chinese pinyin — here are the most important ones translated. You can also edit these in real time via the GM menu (press ~, gm key your password, click "Open coefficient settings").
⚙️ Key Settings
Default is 1.0 for most multipliers. Change all 3 sections (0, 1, 2) when editing the file directly.
| English | Pinyin Key | What It Controls |
|---|---|---|
| XP Multiplier | ExpRatio | Awareness experience gain rate |
| Proficiency XP | ShuLianDuExpRatio | Skill proficiency experience rate |
| Collection Drop | CaiJiDiaoLuoRatio | Yield from gathering plants, herbs, bushes |
| Logging Drop | FaMuDiaoLuoRatio | Wood yield from chopping trees |
| Mining Drop | CaiKuangDiaoLuoRatio | Stone/ore yield from mining nodes |
| Animal Corpse Drop | DongWuShiTiDiaoLuoRatio | Loot from animal carcasses |
| Normal NPC Drop | PuTongRenDiaoLuoRatio | Loot from standard human NPCs |
| Elite NPC Drop | JingYingRenDiaoLuoRatio | Loot from elite human NPCs |
| Boss NPC Drop | BossRenDiaoLuoRatio | Loot from boss human NPCs |
| Crop Drop | ZuoWuDropRatio | Harvest yield from farms |
| Crop Growth | ZuoWuShengZhangRatio | Speed of crop growth |
| Crafting Time | ZhiZuoTimeRatio | Speed multiplier for crafting at workbenches |
| Barbarian Taming Speed | AddRenKeDuRatio | Recognition gain rate when taming captured humans |
| Animal Taming Food | DongWuXiaoHaoShiWuRatio | Food consumption rate of tamed animals |
| Animal Growth | DongWuShengZhangRatio | Growth rate of baby animals |
| Animal Output | DongWuChanChuRatio | Production rate from animal pens |
| Building Decay Rate | JianZhuFuLanMul | Speed at which unmaintained buildings decay |
| Building Decay Toggle | JianZhuFuLanKaiGuan | 0 = off, 1 = on |
| Building Repair | JianZhuXiuLiMul | Speed multiplier for repairing structures |
| Wild Creature Damage | DamageYeShengRatio | Damage dealt by wild creatures to players |
| Damage to Wild | BeDamageByYeShengRatio | Damage dealt by players to wild creatures |
| Friendly Fire | HuXIangShangHaiKaiGuan | 0 = off, 1 = friendly fire enabled |
| Day/Night Proportion | GameWorldDayTimePortion | 0.7 = 70% day, 30% night speed |
| Day Cycle Speed | GameWorldTimePower | 24 = one full day-night cycle per real hour |
| Chest Drop Rate | BaoXiangDropRatio | Loot quantity from world chests |
| Durability | NaiJiuXiShu | Equipment durability multiplier |
Power Tools
Admin Commands
Press ~ to open the console, authenticate with gm key yourpassword, then use any command below.
🎮 Essential GM Commands
| Command | Description |
|---|---|
gm key [password] | Open the GM panel and authenticate as admin |
gm AddExp [value] | Add experience points to yourself |
gm Addmjexp [value] | Add mask experience points |
gm Addshoulieexp [value] | Add hunting experience points |
gm XiDian | Reset all skill points |
gm ZiSha 1 | Respawn / suicide |
gm FuHuo | Revive from death |
gm Go [x] [y] [z] | Teleport to coordinates (press F on map to see coords) |
gm ZhaoMu | Quick recruit an NPC you're aiming at |
gm ClearAllNpc | Remove all NPCs from the world |
gm ClearSelect | Remove the currently selected target |
gm SetAttr YinShen 1 | Become invisible |
gm SetAttr YinShen 0 | Disable invisibility |
gm ShowMap | Reveal the entire map (remove fog of war) |
gm KeJiShu | Unlock all tech tree nodes |
gm JSMJ | Repair all mask nodes |
gm ShuaXinZhiBei | Respawn vegetation within range |
gm ShowReDu | Display barbarian invasion heat map |
gm ClearAllReDu | Reset all barbarian invasion heat |
gm AddReDu [value] | Increase barbarian invasion heat at your location |
gm ChongZhiRenWu | Reset tutorial missions |
gm shanhao | Delete your account on this server |
GPS | Show your current coordinates |
DebugInfo 1 | Display server debug/performance info |
DebugInfo 0 | Hide server debug info |
⌨️ Other Useful Shortcuts
- Free camera: Press
/on the numpad to leave your character and fly around. Press again to return. - Map teleport: Open the map (
M), holdCtrland right-click a location to teleport there instantly. - GM menu teleport: Each player in the GM panel has buttons to teleport to them or bring them to you.
Presets
Recommended Presets
Start with these templates and adjust the pinyin keys above to fine-tune. Use -coef=TemplateName to load an official template.
📊 Preset Quick Reference
Key GameXishu.json changes for each playstyle
| Mode | Key Changes | Notes |
|---|---|---|
| Solo / Single-player | CaiJiDiaoLuoRatio=2.5, FaMuDiaoLuoRatio=2.5, CaiKuangDiaoLuoRatio=2.5, ExpRatio=2.0, ZhiZuoTimeRatio=0.5 | Higher gathering and XP, faster crafting. Cuts the grind without removing progression. |
| Co-op / Small Group | CaiJiDiaoLuoRatio=1.5, FaMuDiaoLuoRatio=1.5, ExpRatio=1.5, ShuLianDuExpRatio=2.0, AddRenKeDuRatio=2.0 | Balanced boost. Proficiency XP at 2x is the single biggest QoL change for co-op. |
| PvP / Competitive | Start with -coef=PvP_Official, adjust HuXIangShangHaiKaiGuan=1, JianZhuFuLanKaiGuan=1 |
Keep rates vanilla for a level playing field. Enable friendly fire and building decay. |
| Hardcore Survival | GameWorldTimePower=36, DamageYeShengRatio=1.5, BaoXiangDropRatio=0.5, NaiJiuXiShu=0.5 | Faster days, deadlier wildlife, scarcer loot, faster gear degradation. |
Custom (-coef=Custom) to prevent the server from overwriting your values with a template default.
Common Problems
Troubleshooting
Solutions to the most frequent server and multiplayer issues reported by Soulmask admins.
Connection Refused / Timeout
Check the server is running and all ports are open. Forward UDP 8777, UDP 27015 to your server's static IP. Add an inbound Windows Firewall rule for WSServer-Win64-Shipping.exe. Test with a port checker tool.
Server Not in Browser
The Steam query port (UDP 27015) is likely blocked. Ensure -QueryPort=27015 is set and the port is forwarded. Allow 5–10 minutes after startup for Steam to register the server. Use "Connect directly to server" with your IP:8777 as a fallback.
Performance / Lag
Reduce -MaxPlayers to match your hardware. Lower GameWorldTimePower to reduce AI processing load. Set -saving=600 to reduce write spikes. Soulmask is heavily single-threaded — clock speed matters more than core count.
Mod Compatibility
All players must have identical mod lists and load order. Mod mismatch is the #1 cause of "Connection Failed" errors. Pin mod versions after updates to prevent automatic upgrades from breaking compatibility.
Port Forwarding Checklist
Set a static local IP for the server machine. Forward UDP 8777 (game), UDP 27015 (Steam query). Optionally forward TCP 18888 (telnet) and TCP 19000 (RCON). Confirm your ISP does not block these ports.
Server Crashes on Load
Usually a corrupt save or incompatible mod. Rename the WS/Saved folder (backup first) to reset. If using mods, disable all and re-enable one by one. Check WS.log for stack traces — search for "Fatal Error".
WS.log and GameXishu.json when asking for help — anonymise passwords first.