Windrose JSON Config Validator
Paste ServerDescription.json or WorldDescription.json to catch syntax errors, islandId mismatches, out-of-range multipliers, and invalid WorldPresetType values before boot.
Paste the full contents of your ServerDescription.json from the server root.
Paste your JSON and press Validate
Cross-check tip
Paste both JSON files (one per tab) then click Validate — the tool will cross-check that WorldIslandId in ServerDescription matches islandId in WorldDescription. A mismatch is the most common reason a Windrose world fails to load.
ServerDescription.json Field Reference
One ServerDescription.json lives in the server root and tells the Windrose dedicated server which world to load, what slot count to expose, and how to accept connections.
| Field | Type | Example | Notes |
|---|---|---|---|
| PersistentServerId | string | a1b2c3d4...ef01 | 32-char hex, do not edit |
| InviteCode | string | WIND42 | 6+ chars, alphanumeric, case-sensitive |
| IsPasswordProtected | boolean | false | Enables password lock |
| Password | string | "hunter2" | Empty if not protected |
| ServerName | string | My Server | Display name in the browser |
| WorldIslandId | string | f0e1d2c3...1e0f | MUST match WorldDescription.islandId |
| MaxPlayerCount | integer | 8 | 1–10 (server cap is 10) |
| UserSelectedRegion | string | EU | SEA / CIS / EU / "" (auto) |
| P2pProxyAddress | string | 192.168.1.10 | IP address |
| UseDirectConnection | boolean | true | Enables direct-connect port |
| DirectConnectionServerPort | integer | 7777 | 1024–65535, typically 7777 |
| DirectConnectionProxyAddress | string | 0.0.0.0 | IP or "0.0.0.0" to bind all |
WorldDescription.json Field Reference
Each world has its own WorldDescription.json inside its world folder. The islandId is the primary key — it must exactly match the world folder name and the WorldIslandId in ServerDescription.
| Field | Type | Range / Values | Notes |
|---|---|---|---|
| islandId | string | 32-char hex | Must match folder name and WorldIslandId |
| WorldName | string | — | Display name |
| CreationTime | number | scientific notation | Auto-generated timestamp |
| WorldPresetType | string | Easy / Medium / Hard / Custom | Reset to Custom if any multipliers set |
| MobHealthMultiplier | float | 0.2 – 5.0 | Enemy HP |
| MobDamageMultiplier | float | 0.2 – 5.0 | Enemy damage |
| ShipHealthMultiplier | float | 0.4 – 5.0 | Enemy ship HP |
| ShipDamageMultiplier | float | 0.2 – 2.5 | Enemy ship attack |
| BoardingDifficultyMultiplier | float | 0.2 – 5.0 | Boarding strength |
| Coop_MobStatsCorrectionModifier | float | 0.0 – 2.0 | Scales mobs per extra player |
| Coop_ShipStatsCorrectionModifier | float | 0.0 – 2.0 | Scales ships per extra player |
| CombatDifficulty (tag) | string | Easy / Normal / Hard | Boss aggression |
Common Windrose Config Mistakes
- IslandId mismatch between
ServerDescription.WorldIslandIdandWorldDescription.islandId— server boots but the world never loads. The most common failure mode after copying save folders between servers. - MaxPlayerCount over 10 — the engine silently caps to 10. Setting 16 or 20 does not increase slot count.
- Invalid UserSelectedRegion — anything other than "SEA", "CIS", "EU", or the empty string is ignored. Typos like "US" or "NA" fall back to auto-select.
- Non-alphanumeric InviteCode — dashes, spaces, and punctuation will not be accepted by the client UI, even if the server writes them.
- WorldPresetType label doesn't match settings — if you set multipliers but leave WorldPresetType as "Easy", the server will rewrite it to "Custom" on next boot. Harmless but often confusing.
- Multiplier out of range — values outside the documented ranges may still load but often produce broken scaling (e.g. ShipDamageMultiplier above 2.5 is untested territory).
- Privileged DirectConnectionServerPort — ports below 1024 require elevated privileges on Linux and will fail to bind. Stick to 7777 or another unprivileged port.
- Editing PersistentServerId — this value is tied to the server's registration. Do not hand-edit it, or you will lose listing status.
File Locations
ServerDescription.json
Lives in the server installation root — one per dedicated server.
- Windows:
C:\WindroseServer\ServerDescription.json - Linux:
/home/xgaming/windrose/ServerDescription.json - XGamingServer panel: File Manager → root folder
WorldDescription.json
One per world — inside a folder named after the world's islandId.
- Windows:
R5\Saved\SaveProfiles\Default\RocksDB\<version>\Worlds\<world_id>\WorldDescription.json - Linux:
R5/Saved/SaveProfiles/Default/RocksDB/<version>/Worlds/<world_id>/WorldDescription.json - Folder name must equal islandId — rename either one and the world becomes orphaned.
Frequently Asked Questions
Windrose JSON Config Validator — FAQ
Is this Windrose JSON Config Validator free to use?
Yes, the Windrose JSON Config Validator is 100% free — no signup required, no hidden fees, no downloads. Everything runs in your browser.
How accurate is the Windrose JSON Config Validator?
Values are pulled from the Windrose game files and community-verified formulas. Results match what you see in-game, and we update the tool when the game gets major patches.
Can I host a Windrose server with XGamingServer?
Yes. XGamingServer offers instant Windrose server hosting with mod support, automatic backups, DDoS protection, and 24/7 support. All popular game settings are pre-configured.
Does the JSON Config Validator work on mobile?
Yes, the JSON Config Validator is fully responsive and works on desktop, tablet, and mobile browsers.
You might also need
Creature Database
All 13 Windrose creatures — HP, armor, aggro radius, attacks, spawn rates
Server Config Generator
Generate ServerDescription.json with server name, max players, password, and invite code
Difficulty Calculator
Configure WorldDescription.json multipliers — mob health, ship damage, boarding, and co-op scaling
Ship Build Calculator
Materials, blueprints, Piastre cost, and faction rep for every Windrose ship — Ketch, Brigantine, and Frigate with Stock, Blackbeard, and Brethren variants. Includes 'what I still need' shopping list.

Config Tool Built Into XGamingServer
Get managed Windrose hosting with this tool in your panel — configure, deploy, and play in minutes. No file uploads needed.