Skip to content

World settings

Updated July 03, 2026
Windrose
Windrose World Settings | GameServerKings KB

Windrose World Settings

WorldDescription.json controls per-world gameplay settings: difficulty preset, mob health and damage, ship health and damage, boarding difficulty, and co-op scaling. Each world on your server has its own copy of this file.

This guide explains the file's location, its unusual tagged JSON format, and the multipliers you can tune.

For server-wide settings (name, password, invite code), see Server Configuration. For creating or switching between worlds, see Managing Worlds.

File Location

Each world has its own WorldDescription.json at:

Code
R5/Saved/SaveProfiles/Default/RocksDB/<game version>/Worlds/<world id>/WorldDescription.json

The <game version> folder changes whenever Windrose pushes a major update; you may see multiple versioned folders after upgrades. The <world id> is a long hex string that matches the folder name.

Never rename a world folder manually. The database relies on those generated IDs and the server will refuse to load a renamed world. To work with multiple worlds, see Managing Worlds.

Critical Editing Rule

Like ServerDescription.json, always stop the server before editing. Windrose rewrites the file on shutdown. Edits made while the server is running will be overwritten.

  1. Stop the server.
  2. Edit the file in the panel File Manager.
  3. Save.
  4. Start the server.

The Tagged JSON Format

Windrose uses a "tagged" JSON structure for world settings. Instead of flat key-value pairs, settings are wrapped in tag objects. A trimmed example:

JSON
{
  "IslandId": "0123456789ABCDEF",
  "WorldName": "The Sea of Thieves",
  "WorldSettings": {
    "{\"TagName\": \"WDS.Parameter.DifficultyPreset\"}": {
      "TagName": "WDS.Parameter.DifficultyPreset.Medium"
    },
    "{\"TagName\": \"WDS.Parameter.CombatDifficulty\"}": {
      "TagName": "WDS.Parameter.CombatDifficulty.Normal"
    },
    "{\"TagName\": \"WDS.Parameter.MobHealthMultiplier\"}": {
      "Value": 1.0
    },
    "{\"TagName\": \"WDS.Parameter.MobDamageMultiplier\"}": {
      "Value": 1.0
    },
    "{\"TagName\": \"WDS.Parameter.ShipHealthMultiplier\"}": {
      "Value": 1.0
    },
    "{\"TagName\": \"WDS.Parameter.ShipDamageMultiplier\"}": {
      "Value": 1.0
    },
    "{\"TagName\": \"WDS.Parameter.BoardingDifficulty\"}": {
      "TagName": "WDS.Parameter.BoardingDifficulty.Normal"
    }
  }
}

The double-quoted JSON-inside-JSON keys look ugly, but the format is intentional and you need to preserve it exactly when editing.

Useful tip: copy a known-good block from one setting and modify only the trailing TagName or Value, never the wrapping key structure. If you hand-type one of these keys from scratch you will almost certainly miss an escape character.

IslandId Must Match WorldIslandId

Inside WorldDescription.json, the IslandId field must match three things:

  • The name of the world folder containing it
  • The WorldIslandId field in R5/ServerDescription.json

If any of these get out of sync, the server refuses to load the world. Do not edit IslandId unless you know exactly why.

Difficulty Presets

The simplest way to tune your server. Set the DifficultyPreset tag to one of:

PresetEffect
WDS.Parameter.DifficultyPreset.EasyFriendlier combat, more forgiving resource costs
WDS.Parameter.DifficultyPreset.MediumDefault balanced experience
WDS.Parameter.DifficultyPreset.HardAggressive enemies, harsher resource costs
WDS.Parameter.DifficultyPreset.CustomUse the individual multipliers below

Setting any individual multiplier away from its preset value automatically flips the preset to Custom.

Custom Multiplier Settings

These are the multipliers most communities tune. Each is a Value field inside its tag block:

SettingDefaultRange guidance
MobHealthMultiplier1.00.5 to 3.0
MobDamageMultiplier1.00.5 to 3.0
ShipHealthMultiplier1.00.5 to 3.0
ShipDamageMultiplier1.00.5 to 3.0

For a relaxed PvE group, MobHealth and MobDamage around 0.7 to 0.8 feels noticeably gentler without trivializing combat. For a hardcore crew, 1.5 to 2.0 on health and damage makes naval encounters feel desperate.

Combat Difficulty and Boarding Difficulty

These use the TagName style (not numeric Value):

SettingOptions
CombatDifficultyCombatDifficulty.Easy, CombatDifficulty.Normal, CombatDifficulty.Hard
BoardingDifficultyBoardingDifficulty.Easy, BoardingDifficulty.Normal, BoardingDifficulty.Hard

Combat difficulty affects general enemy aggression and AI behavior. Boarding difficulty specifically tunes how challenging it is to defend (or assault) a ship in a boarding action.

Co-Op Scaling

Co-op scaling automatically increases enemy strength and ship encounters based on connected player count. By default it is on. To disable (every encounter is balanced for solo), set the CoOpScaling tag to its Off variant. Most communities leave it on.

Example: Relaxed PvE Server

For a casual crew that wants pirate adventures without grind:

JSON
"WorldSettings": {
  "{\"TagName\": \"WDS.Parameter.DifficultyPreset\"}": {
    "TagName": "WDS.Parameter.DifficultyPreset.Custom"
  },
  "{\"TagName\": \"WDS.Parameter.CombatDifficulty\"}": {
    "TagName": "WDS.Parameter.CombatDifficulty.Easy"
  },
  "{\"TagName\": \"WDS.Parameter.MobHealthMultiplier\"}": {
    "Value": 0.75
  },
  "{\"TagName\": \"WDS.Parameter.MobDamageMultiplier\"}": {
    "Value": 0.75
  },
  "{\"TagName\": \"WDS.Parameter.ShipHealthMultiplier\"}": {
    "Value": 1.25
  }
}

Example: Hardcore PvE Server

For a crew that wants every naval engagement to feel desperate:

JSON
"WorldSettings": {
  "{\"TagName\": \"WDS.Parameter.DifficultyPreset\"}": {
    "TagName": "WDS.Parameter.DifficultyPreset.Custom"
  },
  "{\"TagName\": \"WDS.Parameter.CombatDifficulty\"}": {
    "TagName": "WDS.Parameter.CombatDifficulty.Hard"
  },
  "{\"TagName\": \"WDS.Parameter.MobHealthMultiplier\"}": {
    "Value": 1.75
  },
  "{\"TagName\": \"WDS.Parameter.MobDamageMultiplier\"}": {
    "Value": 1.5
  },
  "{\"TagName\": \"WDS.Parameter.ShipHealthMultiplier\"}": {
    "Value": 0.85
  },
  "{\"TagName\": \"WDS.Parameter.BoardingDifficulty\"}": {
    "TagName": "WDS.Parameter.BoardingDifficulty.Hard"
  }
}

Common Issues

  • Server will not load the world after editing: JSON syntax error. The tagged keys are easy to break. Restore from backup and re-edit one tag at a time.
  • Settings changes do not take effect: You probably edited while the server was running, and Windrose overwrote the file on shutdown. Stop first, then edit.
  • "Preset shows Custom but I picked Medium": Setting any individual multiplier flips the preset to Custom. To get a clean preset, set all individual multipliers back to 1.0 (or remove the custom blocks entirely).
  • IslandId mismatch error in console: IslandId inside the file does not match the folder name, or does not match WorldIslandId in ServerDescription.json. Make all three match.
Made with 💜 by GameServerKings