A Soulmask dedicated server is configured in two places: launch parameters for everything about the server itself (-SteamServerName, -MaxPlayers, -PSW for the join password, -adminpsw for the GM password, -pve or -pvp, the three ports), and WS/Saved/GameplaySettings/GameXishu.json for gameplay multipliers. It needs UDP 8777 for the game, UDP 27015 for the Steam query, and TCP 18888 for its maintenance console. The world is a single database file, WS/Saved/Worlds/Dedicated/Level01_Main/world.db. And it is heavy: expect 12 GB or more of memory in use once the world has loaded, more on a busy server - this is not a game to squeeze onto a small plan.
What a Soulmask server is#
Soulmask is an Unreal Engine 5 survival game with tribes of NPC followers, and the server carries every follower, animal and structure in the world. That explains its appetite: a ten-player server with each player running a tribe of a dozen workers is simulating well over a hundred characters with jobs, needs and pathfinding, before counting the wildlife.
What the server gives you over hosting from inside the game:
- The world exists without the host. Followers keep working, crafting queues complete and the world persists while nobody is online.
- Up to 50 players, set by
-MaxPlayers; private groups usually run far fewer. - PvE or PvP, fixed by a launch flag.
- Server-side gameplay tuning through
GameXishu.json, with far more knobs than the in-game host settings. - Admin (GM) tools through a password and console commands.
Soulmask has been in early access with frequent updates, and its server has grown features over that time. Names of parameters have been stable, but defaults and the contents of GameXishu.json change between versions, so treat what follows as a map and check your own files against it.
Private group or public community
The same server binary serves two quite different purposes, and most of the settings decisions follow from which one you are running.
A private group server is usually PvE, password-protected, with a handful of players and generous multipliers. The aim is to let friends progress at their own pace without the grind that the default balance assumes for a large population. Slots can be set close to the group size, which keeps the browser listing honest and makes it obvious when someone unexpected is trying to join. Tribe size limits rarely matter, and the GM password stays with one person.
A public server is a different job. It needs a clear name and description that say PvE or PvP, the multipliers, and the wipe policy, because players choose servers in the browser in seconds. It needs a tribe size cap - -GongHuiMaxMember - so one large group cannot dominate the map, and rules about base placement near resource spots and spawn points. It needs a plan for wipes, announced in advance, since a world that runs for many months accumulates abandoned bases that cost memory and space. And it needs more than one moderator, with the GM password handled carefully and changed whenever the team changes.
The hardware question also differs. A private group can size the server for its own peak and accept the occasional slow evening. A public server has to be sized for its busiest hour, because players who meet lag during a raid tend not to return. Start smaller than your ambitions, measure memory and CPU at the peak, and grow into the plan you actually need.
Whichever you run, decide the basics before the first login: PvE or PvP, the multipliers, the tribe cap and how long the world is meant to last. Changing any of them after players have invested days in a base costs you more goodwill than any setting is worth.
Requirements and resource usage#
Memory is the headline. The server loads a large map, and community reports consistently put startup memory above 12 GB; servers that are short of memory may fail to register with the browser or stop under load.
| Server | RAM | CPU | Notes |
|---|---|---|---|
| 2-6 players, small tribes | 12-14 GB | 3-4 cores | Minimum practical size |
| 6-15 players | 14-16 GB | 4 cores | Followers and bases add up |
| 15-30 players | 16-24 GB | 4+ fast cores | Large public server |
| 30+ players, many tribes | 24 GB+ | 6+ cores | Plan by measurement |
- CPU: NPC simulation, pathfinding and physics. Unlike older survival games, more cores do help, but clock speed still sets how smooth combat feels.
- Disk: the server is large - plan for 30-40 GB for the install, plus saves and backups. The world database grows as bases spread.
- Followers matter more than players. A server's cost tracks how many tribe members are active. Some communities cap tribe sizes partly for this reason.
These figures come from typical community servers, not from an official table. Watch the memory graph for a week of real play before choosing a size - CPU vs RAM for game servers explains how to read which one is the actual limit.
Installing and starting the server#
On Linux with SteamCMD (app 3017300 is the one Linux installs use):
$ steamcmd +force_install_dir /home/soulmask/server +login anonymous +app_update 3017300 validate +quit$ cd /home/soulmask/server$ ./StartServer.sh -SteamServerName='Tribes of the Hollow' -MaxPlayers=20 \ -PSW='long-join-password' -adminpsw='different-gm-password' -pve \ -Port=8777 -QueryPort=27015 -EchoPort=18888 -saving=600 -backup=900StartServer.sh wraps the real binary, WSServer.sh, which takes the map name (Level01_Main for the base map) as its first argument followed by the parameters. On Windows the equivalent is StartServer.bat around WSServer.exe. SteamCMD explained covers keeping the install updated.
The first start takes a while: the world is generated and written to world.db. Wait until the log shows the server is registered and listening before trying to join, and check the memory graph at the same moment - it tells you immediately whether the plan is big enough.
Launch parameters#
| Parameter | Default | What it does |
|---|---|---|
-SteamServerName | - | Name in the server browser |
-MaxPlayers | 20 | Player slots, up to 50 |
-PSW | none | Join password; omit for an open server |
-adminpsw | none | GM (admin) password |
-pve / -pvp | - | Game mode for the world |
-Port | 8777 | Game port, UDP |
-QueryPort | 27015 | Steam query port, UDP |
-EchoPort | 18888 | Maintenance console, TCP |
-saving | 600 | Seconds between world saves |
-backup | 900 | Seconds between backup writes |
-GongHuiMaxMember | - | Maximum members per tribe (guild) |
-mod | - | Comma-separated mod IDs, on builds that support mods |
A few notes from running them:
- `-PSW` and `-adminpsw` must differ. If the join password and GM password are the same, every player who can join can also become GM.
- `-pve` or `-pvp` is a world decision. Switching later is possible, but a PvP world built under PvE rules has bases nobody designed to be defended.
- `-saving` and `-backup` are both intervals in seconds. The game writes the world periodically and keeps backup copies; lowering
-savinglimits what a crash can cost, at the price of a brief hitch on a large world. 600 seconds is a reasonable default; 300 on a busy server.
GameXishu.json: gameplay settings#
Gameplay tuning lives in WS/Saved/GameplaySettings/GameXishu.json. "Xishu" is Chinese for coefficient, which is what the file holds: multipliers for almost every system in the game. Typical categories include:
- Experience and progression: player and follower experience rates, proficiency gain.
- Gathering and crafting: resource yield, crafting speed, processing times.
- Survival pressure: hunger and thirst drain, damage taken and dealt, durability loss.
- Time: day and night length.
- Followers: recruitment, loyalty and work rates.
- Raids and invasions: frequency and strength of events against bases.
The file is generated with defaults on first start, and its exact keys change between updates, so open your own file rather than copying someone else's. Edit it with the server stopped, keep the JSON valid (a missing comma or quote can reset the file or stop the server starting), and change a few values at a time. For a private group, a common first change is faster gathering and crafting and slower survival drain, which keeps the game about building and exploring rather than chores.
Keep a copy of the file before an update. If an update adds new keys, the server may write a fresh file, and you then merge your old values into it by hand.
Ports, connecting and the echo console#
| Port | Protocol | Purpose |
|---|---|---|
8777 | UDP | Game traffic |
27015 | UDP | Steam query - the server browser |
18888 | TCP | Echo port - maintenance console |
The two UDP ports must be open to players. The echo port is a telnet-style console for maintenance - it accepts commands such as a timed shutdown (quit 180 gives players a three-minute warning). It is a management interface, so it should be reachable only by you: restrict it by firewall rather than exposing it to the internet. Game server ports explained covers why query and game ports are separate, and using RCON safely applies equally to an echo console.
Players find the server in the in-game browser by name. A new server can take a few minutes to appear; searching for an unusual word in the name is quicker than scrolling. If the server is password-protected, players enter -PSW on join.
Admins (GM) and moderation#
Soulmask's admin system is a password. A player who knows the -adminpsw value opens the in-game console and enters the GM key command with that password to unlock GM commands for their session. GM commands cover moderation (kick, ban), teleporting, spawning items, and world tools; the full list is long and grows with updates, and the game's own help output on your version is the reference.
Because GM is all-or-nothing, give the password to as few people as possible and change it when a moderator leaves - changing the launch parameter and restarting is enough. For a public server, write down what GMs will and will not do. Spawning items to replace a bug loss is reasonable; spawning items for friends empties the server of anyone who notices. Server rules, moderation and staff has a framework.
Saves, backups and moving a world#
The world is a single database:
WS/Saved/Worlds/Dedicated/Level01_Main/world.dbEverything - terrain changes, buildings, followers, storage - lives in that file and its neighbours. Back up the whole Level01_Main folder, not just world.db, because database files are often accompanied by write-ahead files that hold recent changes.
The rules:
- Stop the server before copying the world. Copying a live database can give you a file that does not open.
- Back up before every update. Early-access updates can change the save format, and a pre-update copy is the only way back.
- Keep copies off the machine. The game's own backup copies sit next to the world on the same disk. Backups that actually restore explains why that is not enough.
- Test a restore occasionally. Put a backup onto a test install and start it.
To move a world from a local or hosted game onto a dedicated server, stop the server, replace the world folder with the one from your local game's saved worlds (keeping the folder name the server expects), and start it. Check the log to confirm it loaded rather than generated. Ask players to check their characters and followers after a move, before anyone builds anything new.
On RE:NODE, backup slots come with every game plan, are stored off the machine they protect, can be locked against rotation and are restored with a button; the Schedules tab can take a backup before a nightly restart. Soulmask itself is not in the catalogue.
Performance and troubleshooting#
What makes a Soulmask server slow, roughly in order:
- Memory pressure. A server at its memory limit is the most common cause of stutter, stalls and crashes. Check the graph first.
- Follower counts. Dozens of tribes with many followers each multiply NPC work.
- Large, spread-out bases keep more of the world active.
- Long uptime. A daily restart at a quiet hour keeps memory and performance steady - see restart schedules that help.
Common problems:
The server is not in the browser. Check the UDP ports, then memory - servers starved of memory have trouble registering. Wait a few minutes after start before judging.
Players cannot join after an update. The server is on the old version. Update with SteamCMD and restart.
The server will not start after editing GameXishu.json. Invalid JSON. Restore your copy or validate the file.
The world rolled back after a crash. Everything since the last save was lost. Lower -saving, and see why your game server keeps restarting if crashes repeat.
Everyone became GM. The join and admin passwords are the same. Change -adminpsw and restart.
FAQ#
How much RAM does a Soulmask server need?
More than most survival games. Plan for at least 12 GB even for a small group, and 16 GB or more for a busy server. Below that, expect failed starts and crashes rather than just lag.
Can I switch a Soulmask server between PvE and PvP?
Yes, by changing the launch flag and restarting. Do it at a planned moment, because PvP changes how bases and followers are exposed.
Where is the Soulmask server save?
In WS/Saved/Worlds/Dedicated/Level01_Main/ as world.db and its companion files. Back up the folder, not just the one file.
What is the echo port for?
Maintenance commands to the running server, such as a shutdown with a countdown. Players never need it, so restrict it to your own address.
Do players need mods to join a modded server?
Mod support has been added and expanded during early access. When a server uses mods, matching them on the client is handled through the game's mod system; check current support before planning a modded server.




Comments
Completely anonymous: no account, no email, no cookie. We store the name you type, the text and the time - nothing else. Links are limited and markup is not rendered.