Soulmask Systems Wiki
Home › Guides › How to write a server config that actually applies

How to write a server config that actually applies

The advice everybody repeats about the three blocks is not what the developer does.

Read from the Soulmask dedicated‑server package, build 25117130 · extracted 2026-09-05

Your server's settings live in WS/Saved/GameplaySettings/GameXishu.json. It is one JSON object with three top-level blocks, keyed "0", "1" and "2". Almost every guide on the internet tells you the three are identical and that you must write your value into all three to be safe.

That is not what the developer does

The dedicated-server package ships 132 configuration templates — the actual configs CampFire Studio runs on its own PvE, PvP, hardcore and regional servers. Of those:

So the blocks carry meaning. Writing the same value into all three is a way of guaranteeing you hit whichever one your server reads — it is not what a correct config looks like, and it will overwrite distinctions the developer's own presets rely on.

The blocks have different limits, too

They are not just different values; they permit different ranges. In the default schema, 62 settings have a higher maximum in block 1 than in block 0. Awareness XP is the clearest case: block 0 caps it at 5, block 1 at 100.

This is why a config generator that shows you one range per setting is right by accident. 181 of 282 settings have a different minimum, maximum or default depending on which mode schema and which block you are in.

Before you restart the server

  1. Stop the server. The file is rewritten on a clean shutdown, so edits made while it runs are lost.
  2. Run your config through the checker. It will tell you every value that is outside the range your mode permits, every key this build no longer has, and every key you have left out.
  3. Check the official templates for something close to what you want. A config the developer ships is a better starting point than one assembled from a forum.
What we have not tested. We can tell you which values are outside the shipped range. We have not established what the server does with an out-of-range value — whether it clamps it, rejects the file, or accepts it silently. Until someone tests that on a live server, treat the ranges as the developer's stated intent rather than as a guarantee about behaviour.