Loading...
Server Settings
May 23, 2026 at 08:35 PM
Corrected wikilink existence flags
Windrose dedicated server settings are split across two JSON files: ServerDescription.json for server identity and world selection, and WorldDescription.json for the world itself. Kraken Express documents both files in the official server guide and explicitly warns players to edit them only while the server is shut down.
ServerDescription.json lives in the server application's root folder. It controls how the server identifies itself, which world it loads, and whether the session is password protected.
Field | Meaning |
|---|---|
PersistentServerId | Unique server ID. The official guide says not to edit it |
InviteCode | Case-sensitive invite code using 0-9, a-z, and A-Z characters. Length 1-32 after Hotfix 0.10.0.1.6 (the 8-character minimum was removed). |
IsPasswordProtected | true or false |
Password | Server password when password protection is enabled |
ServerName | The visible name of your server |
WorldIslandId | The world ID the server should load. It must match the exact world folder ID |
MaxPlayerCount | Maximum simultaneous players. The guide pairs this with a recommendation of up to 4 for smoother performance |
P2pProxyAddress | Socket address field used by the networking layer |
WorldDescription.json lives inside the specific world folder. It controls the world's name, preset, and any custom parameters attached to that world.

Field | Meaning |
|---|---|
IslandId | Unique world ID. It must match the folder name |
WorldName | The displayed name of the world |
CreationTime | Internal creation timestamp |
WorldPresetType | Easy, Medium, or Hard. If you use custom values, the next launch presents the world as Custom |
WorldSettings | Grouped bool, float, and tagged parameters. This stays minimal for preset worlds and expands for custom ones |
The official guide says it is usually easier to set these values in game first and then copy the results into a server world file. The listed defaults and ranges are part of the live guide and can change in future builds.
Parameter | Default | Official Notes |
|---|---|---|
CoopQuests | true | If any player completes a co-op quest, it auto-completes for all active players |
EasyExplore | false | Disables map markers. The in-game label is Immersive exploration |
MobHealthMultiplier | 1.0 | Enemy health. Range: 0.2 to 5.0 |
MobDamageMultiplier | 1.0 | Enemy damage. Range: 0.2 to 5.0 |
ShipHealthMultiplier | 1.0 | Enemy ship health. Range: 0.4 to 5.0 |
ShipDamageMultiplier | 1.0 | Enemy ship damage. Range: 0.2 to 2.5 |
BoardingDifficultyMultiplier | 1.0 | Enemy sailors required to win boarding. Range: 0.2 to 5.0 |
Coop_StatsCorrectionModifier | 1.0 | Scales enemy health and posture by player count. Range: 0.0 to 2.0 |
Coop_ShipStatsCorrectionModifier | 0.0 | Scales enemy ship health by player count. Range: 0.0 to 2.0 |
CombatDifficulty | Normal | Boss aggression. Options: Easy, Normal, or Hard |
On April 14, 2026, Kraken Express shipped Hotfix 0.10.0.1.6, which removed the 8-character minimum for multiplayer invite codes. Invite codes now accept any length from 1 to 32 characters, using the same 0-9, a-z, and A-Z character set as before. The change applies to codes generated by the game client and to the InviteCode field inside ServerDescription.json for dedicated servers.
Practical effect: short memorable codes are now possible for private groups, and previously valid long codes continue to work. The studio has said more connectivity fixes are being tested alongside this change, so expect further field-level updates if invite flows change again in later hotfixes.
Set up the world in the game client first if you want a familiar UI, then copy the resulting world files to the dedicated server.
Only change JSON values while the server is off. The official guide warns that some fields can be auto-adjusted if the server detects problems.
If you are moving an existing world to a server, remember to set WorldIslandId in ServerDescription.json to the copied world's folder ID.
If you want a clean shared campaign, leave CoopQuests enabled. If you want each player to manage progress more independently, adjust it deliberately before the group invests time in the world.
Dedicated Server Hosting - the full hosting workflow and platform notes
Save File Location - where the world folders actually live
Difficulty Settings - how the world difficulty options map to gameplay
The P2pProxyAddress field defaults to a generic socket but only resolves correctly when it matches the actual network reach of the host machine. The two common configurations behave differently:
Network Scenario | Recommended P2pProxyAddress Value | How to Find It |
|---|---|---|
All players on the same local network (LAN) | 127.0.0.1 | Default loopback address; no lookup required |
Players connecting over the public internet | Host machine's IPv4 address | Open Command Prompt on Windows, run ipconfig, copy the IPv4 Address line |
Why the IPv4 lookup matters: the public-internet path needs the host's reachable IPv4 address, not its router's WAN address or any internal alias. On Windows the canonical lookup is to open Command Prompt and run ipconfig; the IPv4 Address line under the active network adapter is the value clients need. Pasting in the WAN address from a router admin panel often appears to work locally but fails for remote clients because the host's NAT translation is applied twice. If a client cannot connect even with a fresh InviteCode and password, the P2pProxyAddress is the first field to verify.
Coop.SharedQuests is documented as a quest-sharing toggle, but its current launch-build coverage is partial. Even with the field set to true, only a small handful of quests actually auto-complete across all eligible players when one player finishes them. The majority of main-story and side quests still require each player to complete the quest themselves, regardless of the setting. Treat the toggle as a quality-of-life nudge for the supported quests rather than a blanket co-op solution; expect every player to manually clear most quest objectives even on a server where SharedQuests is enabled.
Practical implication: when planning a co-op campaign, do not assume SharedQuests reduces the per-player questing workload. Schedule each player to be present at major story beats, especially boss-unlock prerequisites, so progression is not gated by one absent crew member. The supported quest list expands across patches, so the rule of thumb is to verify the in-game quest log per session rather than relying on a fixed list of supported quests.