Windrose Server Settings Explained: ServerDescription and World Files
Windrose splits its dedicated server settings across two JSON files. ServerDescription.json controls the server itself (name, password, invite code, player cap, world to load). Each world has its own WorldDescription.json that controls difficulty and gameplay multipliers.
Everything here is taken from the developers' official dedicated server guide (last updated 18 May 2026, game version 0.10.0.5.120). The game is in early access and the guide itself says parameter names and ranges may change, so recheck after big patches.
- Server-level settings live in
R5\ServerDescription.json:ServerName,Password,IsPasswordProtected,InviteCode,MaxPlayerCount,WorldIslandIdand more. - If you set a password you must also set
IsPasswordProtectedtotrue. - World difficulty lives in each world's
WorldDescription.json: presets Easy, Medium, Hard, or a Custom set of multipliers. - Stop the server before editing. After changing a world file, run
R5WorldDescriptionUpdater.exeas the guide describes. - Never edit
PersistentServerIdand never rename world folders.
On this page
Where the Windrose server settings files are
Both files are plain JSON, so any text editor works. Their locations in the official guide:
| File | Location | Controls |
|---|---|---|
ServerDescription.json | R5\ServerDescription.json under the server folder | The server: name, password, code, player cap, region, connection mode, active world |
WorldDescription.json | R5\Saved\SaveProfiles\Default\RocksDB_v2\<game version>\Worlds\<world id>\ | One world: display name, difficulty preset, custom multipliers |
Neither file exists until the server has run once. Start it, stop it, then edit. The save folder name (RocksDB_v2, previously RocksDB) changed with update 0.10.0.5.120, so if you find older guides pointing at a different folder, trust the folder that actually exists on your server.
ServerDescription.json: every key
This is the key list from the official guide's example file. The values shown are the guide's examples, not guaranteed defaults.
| Key | What it does | Example / default |
|---|---|---|
PersistentServerId | Unique server ID | Do not edit |
InviteCode | Code players enter to find the server. Letters and digits, 6+ characters, case-sensitive | d6221bb7 |
IsPasswordProtected | Must be true if a password is set, false if the password is empty | false |
Password | Server password | empty |
ServerName | Display name, useful for telling servers apart | empty |
WorldIslandId | ID of the world to load; must match a world's IslandId | a 32-character hex ID |
MaxPlayerCount | Maximum simultaneous players | 4 in the example |
UserSelectedRegion | SEA, CIS or EU (EU covers EU and NA). Empty means auto-select by latency | EU |
P2pProxyAddress | IP address used for listening sockets | a LAN IP in the example |
UseDirectConnection | true for direct IP play, false for ICE peer-to-peer (invite code) | false |
DirectConnectionServerAddress | Reserved for future use; currently unused | empty |
DirectConnectionServerPort | Port for direct connections; open TCP and UDP when direct connection is on | 7777 |
DirectConnectionProxyAddress | Selects a network interface on the host | 0.0.0.0 |
AutoLoadLatestBackupIfHasBroken | On launch, restores a broken save from backup when true | true |
CanLaunchMultipleServerInstances | Prevents more than one server instance on a PC, protecting against save corruption | false |
In the official example file these keys sit inside a ServerDescription_Persistent object, next to top-level Version and DeploymentId fields that the guide does not explain. Leave those alone.
The player cap deserves a note. The guide does not state a hard maximum for MaxPlayerCount. The Steam page says the game supports up to 8 players and that parties of 4 give the best experience, so treat 8 as the practical ceiling and 4 as the comfortable number, and check the current patch notes before going higher.
Setting a password the right way
A password needs two edits that must agree. Put the password in Password and set IsPasswordProtected to true. To remove the password, empty the field and set the flag back to false. The official guide is explicit that the flag must match whether the field is empty.
"IsPasswordProtected": true,
"Password": "your-password-here",
"ServerName": "Our Crew",
"MaxPlayerCount": 4,The password is an extra requirement on top of the invite code, so players need both.
World difficulty: presets in WorldDescription.json
Each world file has a WorldPresetType of Easy, Medium or Hard, plus a WorldSettings block that is empty for presets and filled in for a Custom world. The preset values in the guide:
| Preset | Mob health | Mob damage | Ship health | Ship damage | Boarding | Combat difficulty |
|---|---|---|---|---|---|---|
| Easy | 0.7 | 0.6 | 0.7 | 0.6 | 0.7 | Easy |
| Medium | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | Normal |
| Hard | 1.5 | 1.25 | 1.5 | 1.25 | 1.5 | Hard |
All three presets use Coop.StatsCorrectionModifier of 1 and Coop.ShipStatsCorrectionModifier of 0. The guide notes that custom values force the type to "Custom" on the next launch, so do not expect to nudge one number and still be labelled Medium.
Custom world parameters and their ranges
A Custom world stores its values as tags. The full tag is WDS.Parameter.<name>, and the JSON key is that tag wrapped in a small JSON string, as the guide's Medium example shows. Booleans go under BoolParameters, numbers under FloatParameters, and combat difficulty under TagParameters.
| Parameter | Default | Range / notes |
|---|---|---|
Coop.SharedQuests | true | Co-op quests complete for all active players when one finishes them |
EasyExplore | false | Legacy name; shown in-game as "Immersive exploration". Enabling it removes point-of-interest markers |
MobHealthMultiplier | 1.0 | 0.2 to 5.0 |
MobDamageMultiplier | 1.0 | 0.2 to 5.0 |
ShipsHealthMultiplier | 1.0 | 0.4 to 5.0 |
ShipsDamageMultiplier | 1.0 | 0.2 to 2.5 |
BoardingDifficultyMultiplier | 1.0 | 0.2 to 5.0 |
Coop.StatsCorrectionModifier | 1.0 | 0.0 to 2.0; scales enemy health and posture loss with player count |
Coop.ShipStatsCorrectionModifier | 0.0 | 0.0 to 2.0; scales enemy ship health with player count |
CombatDifficulty | Normal | Easy, Normal or Hard (tag value, for example WDS.Parameter.CombatDifficulty.Normal) |
"FloatParameters": {
"{\"TagName\": \"WDS.Parameter.MobHealthMultiplier\"}": 1.5
}Applying a world change and switching worlds
- Stop the server
Close the console window or end the process so nothing is writing to the save.
- Edit WorldDescription.json
Change the preset or the custom parameters for the world you want.
- Run the updater
From a Command Prompt in the server root, run the command below with the path to that world's file, then start the server.
R5WorldDescriptionUpdater.exe <path_to_world>\WorldDescription.json
To load a different world, change WorldIslandId in ServerDescription.json to that world's ID and restart. The ID must match the world's IslandId and its folder name. Do not rename world folders, because the save database relies on those IDs.
Frequently asked questions
Where is the Windrose server name set?
In the ServerName key of ServerDescription.json, inside the ServerDescription_Persistent object. It is empty by default and only affects how the server is displayed, so it helps when you run several worlds.
Why is my Windrose server password not working?
The password needs IsPasswordProtected set to true in addition to a value in Password. If the flag and the field disagree, the official guide says to fix the flag. Edit with the server stopped and restart afterwards.
How do I change Windrose difficulty on a dedicated server?
Edit the world's WorldDescription.json, setting WorldPresetType to Easy, Medium or Hard or filling in custom parameters, then run R5WorldDescriptionUpdater.exe against that file as the official guide describes.
Can I change MaxPlayerCount above 4?
The key accepts a value you choose and the official guide gives no hard cap. The Steam page says up to 8 players are supported with 4 recommended, so stay within that unless a newer patch note says otherwise.