Dedicated Server Guide

Windrose — Documentation

Dedicated Server Guide

Published: 14 Apr 2026 · Updated: 6 May 2026 · Game Version: 0.10.0.5.120-073042fb

This guide explains how to set up a dedicated server for Windrose.

The same guide is included within the in-game files of the Windrose Dedicated Server app available for free on Steam, in the file DedicatedServer.md. Both sets of instructions are valid and almost identical.

If you happen to have any questions, please visit our Windrose Support for troubleshooting.

Why run a dedicated server?

A dedicated server lets you have a world that’s always running. You and your friends can join anytime — no need for the host to be online. Great for co-op when schedules don’t match, like building ships alone then sailing together later.

Dedicated servers support all the world’s game settings (and a few extras), letting you fully customize your swashbuckling adventures. Win-win for tailoring co-op chaos to your crew!


Initial setup and hosting

There are two ways to get the Windrose Dedicated Server, depending on your platform of choice: Steam, EGS, or Stove.

When you download the game, go to the in-game files and open the R5\Builds folder. There, you will find the WindroseServer folder. That is the dedicated server. If you want to deploy it, copy the folder to any other location on your PC. It will not work inside the game folder; please read more about that in the FAQ. This is important. Once it has been copied anywhere on your PC, you can proceed with the instructions.

Alternatively, you can download the Windrose Dedicated Server application on Steam, which is available for free to everyone. Open the internal folder of this application and proceed with the instructions.

Both of these methods ensure that the build is up to date and free from harmful third-party modifications that could put your data or device at risk.

⚠ Our team will never ask for your login details or passwords on any platform. If you notice anything suspicious, please contact us immediately at support@playwindrose.com.

If you play through EGS/Stove

Copy the R5\Builds\WindowsServer folder from the in-game files and place it anywhere on your PC where you prefer. Then proceed with the instructions.

From here, pick how you want to set up your dedicated server:

Simple — run with defaults for a quick start.
Advanced — edit configs for full customization.

If you play through Steam

  1. Install from Steam
    Navigate to the Tools section in your Steam Library. Click the dropdown filter above your game list and select “Tools.” Search for “Windrose Dedicated Server” or browse the list, then install it like any game or tool.
  2. Access files
    Steam lets you launch directly, but for setup you’ll need the local files. Right-click “Windrose Dedicated Server” → ManageBrowse Local Files.
  3. Choose preferred setup
    Simple — run with defaults for a quick start.
    Advanced — edit configs for full customization.

Simple setup

Perfect if you just want to start the server quickly on your PC! There are two ways to launch:

StartServerForeground.batrecommended. The server runs in a separate command-line window where you can see game logs. To shut down, just close the window.

WindroseServer.exe — use this if you want the server to run as a background process. To close it, open Task Manager and end the process there.

  1. Launch using your preferred method (bat file recommended).
  2. A console window will appear if you use StartServerForeground.bat.
  3. Once loaded, look for an invite code in the console like f1014dc1.
  4. If it scrolled away too fast, open your server folder → R5 folder → find ServerDescription.json.
  5. Open it with any text editor (Notepad will do).
  6. Find the invite code inside, e.g. f1014dc1.
  7. Launch the game: Play → Connect to Server → paste the invite code.
  8. Send the invite code to friends — they connect the same way.

YARR! That’s it. Happy Windrose!


Advanced setup

Server settings are split into two .json files:

ServerDescription.json — common server settings (one file, root folder).
WorldDescription.json — one per world, for world-specific tweaks.

ℹ The server auto-creates default versions on first launch. Start and stop the server once to generate them, then edit as needed.

ServerDescription.json

Single file in the root folder of the application.

FieldDescription
PersistentServerIdUnique identifier of your server. Do not edit this value.
Note: This will be changed in upcoming builds.
InviteCodeInvite code used to find your server. Allowed characters: 0–9, a–z, A–Z. Must contain at least 6 characters. Case-sensitive.
IsPasswordProtectedSpecifies whether a password is required.
Set to true if a password is specified.
Set to false if the password field is empty.
Incorrect configuration may cause unexpected behavior.
PasswordServer password.
ServerNameName of your server. Useful for distinguishing servers with similar invite codes.
WorldIslandIdID of the selected world. Must match the corresponding value in one of the server's WorldDescription.json files. This world will be loaded when the server starts.
MaxPlayerCountMaximum number of simultaneous players allowed on the server.
UserSelectedRegionSpecifies the region for the Connection Service. Supported values: SEA, CIS, EU (EU covers both EU and NA).
If left empty, the server will automatically select the optimal region based on latency.
If specified, the server will use only that region.
P2pProxyAddressIP address used for listening sockets.
UseDirectConnectiontrue: the server creates sockets for direct client connections.
false: the server uses the ICE protocol for P2P connection.
DirectConnectionServerAddressAddress for direct connection. Reserved for future use (currently not used).
DirectConnectionServerPortPort for direct connection. Must be available for both TCP and UDP if UseDirectConnection is set to true.
DirectConnectionProxyAddressCan be used to select a specific network interface on the host machine. Default value: 0.0.0.0
AutoLoadLatestBackupIfHasBrokenIf set to true, on launch the server will try to restore broken save files from backups, as described in SaveWorkflow.md.
Important: This file should only be modified while the server is shut down. Some fields may be automatically adjusted by the server if issues are detected.
Example JSON
{
  "Version": 1,
  "DeploymentId": "0.10.0.0.251-master-9f800c33",
  "ServerDescription_Persistent": {
    "PersistentServerId": "1B80182E460F727CEA080C8EEBB1EA0A",
    "InviteCode": "d6221bb7",
    "IsPasswordProtected": false,
    "Password": "",
    "ServerName": "",
    "WorldIslandId": "DB57768A8A7746899683D0EEE91F97BF",
    "MaxPlayerCount": 4,
    "UserSelectedRegion": "EU",
    "P2pProxyAddress": "192.168.31.49",
    "UseDirectConnection": false,
    "DirectConnectionServerAddress": "",
    "DirectConnectionServerPort": 7777,
    "DirectConnectionProxyAddress": "0.0.0.0",
    "AutoLoadLatestBackupIfHasBroken": true
  }
}

WorldDescription.json

You can create as many worlds as you need. All worlds are located in:

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

The first one is created automatically on server start.

⚠ The WorldIslandId must match the same field in WorldDescription.json in this folder.
FieldDescription
IslandIdUnique world ID. Must match the folder name.
WorldNameName of the world.
CreationTimeCreation time in internal format.
WorldPresetTypeEasy, Medium, or Hard. Custom values force “Custom” on next launch.
WorldSettingsParameters grouped by bool, float, and tag. Empty for presets except “Custom”.
Example JSON
{
  "Version": 1,
  "WorldDescription": {
    "IslandId": "DB57768A8A7746899683D0EEE91F97BF",
    "WorldName": "isp",
    "CreationTime": 6.3905278455349005e+17,
    "WorldPresetType": "Medium",
    "WorldSettings": {
      "BoolParameters": {
        "{\"TagName\": \"WDS.Parameter.Coop.SharedQuests\"}": true,
        "{\"TagName\": \"WDS.Parameter.EasyExplore\"}": false
      },
      "FloatParameters": {
        "{\"TagName\": \"WDS.Parameter.MobHealthMultiplier\"}": 1,
        "{\"TagName\": \"WDS.Parameter.MobDamageMultiplier\"}": 1,
        "{\"TagName\": \"WDS.Parameter.ShipsHealthMultiplier\"}": 1,
        "{\"TagName\": \"WDS.Parameter.ShipsDamageMultiplier\"}": 1,
        "{\"TagName\": \"WDS.Parameter.BoardingDifficultyMultiplier\"}": 1,
        "{\"TagName\": \"WDS.Parameter.Coop.StatsCorrectionModifier\"}": 1,
        "{\"TagName\": \"WDS.Parameter.Coop.ShipStatsCorrectionModifier\"}": 0
      },
      "TagParameters": {
        "{\"TagName\": \"WDS.Parameter.CombatDifficulty\"}": {
          "TagName": "WDS.Parameter.CombatDifficulty.Normal"
        }
      }
    }
  }
}

Custom preset parameters

ℹ Easier to set in-game first, then copy manually. Values and ranges may change in future builds.
ParameterDefaultDetails
CoopQueststrueIf any player completes a co-op quest, it auto-completes for all active players.
EasyExplorefalseWhen true, disables map markers (in-game: “Immersive exploration”). Legacy name — actually makes exploration harder.
MobHealthMultiplier1.0Enemy health. Range: [0.2; 5.0]
MobDamageMultiplier1.0Enemy damage. Range: [0.2; 5.0]
ShipHealthMultiplier1.0Enemy ship health. Range: [0.4; 5.0]
ShipDamageMultiplier1.0Enemy ship damage. Range: [0.2; 2.5]
BoardingDifficultyMultiplier1.0Enemy sailors to win boarding. Range: [0.2; 5.0]
Coop_StatsCorrectionModifier1.0Scales enemy health/posture by player count. Range: [0.0; 2.0]
Coop_ShipStatsCorrectionModifier0.0Scales enemy ship health by player count. Range: [0.0; 2.0]
CombatDifficultyNormalBoss aggression. Options: Easy / Normal / Hard

F.A.Q.

System requirements for dedicated server?
2 players
CPU: Xeon Scalable, 2 cores, 3.2 GHz
RAM: 8 GB
Storage: 35 GB SSD
4 players
CPU: Xeon Scalable, 2 cores, 3.2 GHz
RAM: 12 GB
Storage: 35 GB SSD
10 players
CPU: Xeon Scalable, 2 cores, 3.2 GHz
RAM: 16 GB
Storage: 35 GB SSD

For self-hosting (game client + server on same machine): min 16 GB RAM for the client, plus 8 GB more (24 GB total recommended). SSD strongly recommended. Share your experience on Discord or email support@playwindrose.com.

Server won’t start or crashes on launch

Verify game files in Steam. Update GPU drivers. Update your OS. Add firewall/antivirus exceptions for WindroseServer.exe. Restart PC and router.

Can I run on Linux / headless?

Currently Windows-only, unfortunately.

How to install the Dedicated Server via SteamCMD?

You can install and update the Windrose Dedicated Server using SteamCMD, which is the recommended method for headless environments, remote servers, and automation setups.

Step-by-step setup

  1. Install SteamCMD on your system (available for Windows and Linux from Valve’s official resources)
  2. Launch SteamCMD
  3. Run the following commands:
force_install_dir "C:\Game_Servers\Windrose_Server"
login anonymous
app_update 4129620 validate
quit

Explanation of commands

force_install_dir — Specifies the directory where the server files will be installed. You can replace this with any valid path.

login anonymous — Logs into Steam anonymously. The dedicated server does not require a purchased copy of the game to install.

app_update 4129620 validate — Downloads and installs the latest version of the Windrose Dedicated Server. The validate flag ensures all files are correctly downloaded and not corrupted.

quit — Exits SteamCMD once the installation is complete.

Updating the server

To update the server later, simply rerun:

app_update 4129620 validate

This will download only the changed files and keep your server up to date.

Important: Make sure your dedicated server version always matches the game client version. If the versions differ, players may experience connection issues, unexpected behavior, or be unable to join the server at all. In some cases, version mismatches can also lead to subtle bugs that are difficult to diagnose. For this reason, we strongly recommend updating your server regularly, especially after game patches or hotfixes — to ensure full compatibility and a stable gameplay experience.
What ports does the server use?

Ports are dynamically assigned via NAT punch-through. Ensure your router supports UPnP. Disable proxy/VPN temporarily if connections fail.

Where are my saves stored?

If you are self-hosting from the game client, your saves are stored inside your AppData folder.

To access it:

  1. Press Win + R
  2. Paste the following path:
    %localappdata%\R5\Saved\
  3. Press Enter

You should now see the SaveProfiles folder. Inside, open your %YOUR_STEAM_ID% folder. Depending on your game version and migration state, you may see the following folders:

  • RocksDB — old main saves before update 0.10.0.5.120
  • %YOUR_STEAM_ID%_Backups — old backups before update 0.10.0.5.120
  • RocksDB_v2 — new runtime folder used while the game is running to store required runtime files after update 0.10.0.5.120. DO NOT TOUCH IT.
  • RocksDB_v2_Backups — new backups after update 0.10.0.5.120

Because of the various situations currently possible, you first need to determine where your actual saves are located:

  • Whether the game was updated
  • Whether the world was launched after the update
  • Whether migration already happened
  • Whether backups were already created

In most cases, if you updated the game and launched it at least once, migration should happen automatically and your saves should appear inside RocksDB_v2_Backups. If not, they should be stored in RocksDB.

If you experience any issues with this process, refer to the Save Issues FAQ section.

Dedicated Server Saves

If you are using a dedicated server, save files are stored inside the dedicated server directory:

Windrose Dedicated Server\R5\Saved\SaveProfiles\Default\

The same folder logic applies here as well. However, dedicated servers only use the Worlds folder, since they store only world-related data and do not store player character data here.

How do I transfer saves between the game client and a dedicated server?
⚠ Always back up your saves first. Before proceeding, completely shut down the dedicated server and the game client.

Transferring Saves From Client → Dedicated Server

STEP 1 — Locate Your World Save

Depending on your platform and migration state, your saves may be located in either:

  • RocksDB (old main saves before update 0.10.0.5.120)
  • RocksDB_v2_Backups (usually contains migrated backups, new backup folder after update 0.10.0.5.120)

Refer to Where Are My Saves Stored? if you are unsure which folder contains your actual saves.

Steam:

C:\Users\{UserName}\AppData\Local\R5\Saved\SaveProfiles\{YourProfile}\RocksDB\{GameVersion}\Worlds\{WorldID}

OR

C:\Users\{UserName}\AppData\Local\R5\Saved\SaveProfiles\{YourProfile}\RocksDB_v2_Backups\{GameVersion}\Worlds\{WorldID}

(look for the _Latest backup if applicable)

Epic Games Store:

C:\Users\{UserName}\AppData\Local\R5\Saved\SaveProfiles\{YourProfile}\RocksDB\{GameVersion}\Worlds\{WorldID}

OR

C:\Users\{UserName}\AppData\Local\R5\Saved\SaveProfiles\{YourProfile}\RocksDB_v2_Backups\{GameVersion}\Worlds\{WorldID}

(look for the _Latest backup if applicable)

Stove:

C:\Users\{UserName}\AppData\Local\R5\Saved\SaveProfiles\StoveDefault\RocksDB\{GameVersion}\Worlds\{WorldID}

OR

C:\Users\{UserName}\AppData\Local\R5\Saved\SaveProfiles\StoveDefault\RocksDB_v2_Backups\{GameVersion}\Worlds\{WorldID}

(look for the _Latest backup if applicable)

STEP 2 — Copy the World Folder

Example (or similarly inside RocksDB_v2_Backups\{GameVersion}\Worlds\):

C:\Users\YarrHarrPirate\AppData\Local\R5\Saved\SaveProfiles\76561199699067790\RocksDB\0.10.0\Worlds\EC10598E83A14ED04D9C44CBFBF3F4B1

Copy the entire WorldID folder.

STEP 3 — Paste It Into the Dedicated Server

Paste the copied folder into (or similarly inside RocksDB_v2_Backups\{GameVersion}\Worlds\):

Windrose Dedicated Server\R5\Saved\SaveProfiles\Default\RocksDB\{GameVersion}\Worlds\

STEP 4 — Set Correct WorldIslandID

Open ServerDescription.json, find "WorldIslandID", and set its value to the exact name of the copied world folder. Example:

"WorldIslandID": "EC10598E83A14ED04D9C44CBFBF3F4B1"

Save the file.

STEP 5 — Launch the Dedicated Server

Start the server and verify that the world loads correctly.

Transferring Saves From Dedicated Server → Client

The process is essentially the same, but reversed.

STEP 1 — Locate the Dedicated Server World Save

Navigate to:

Windrose Dedicated Server\R5\Saved\SaveProfiles\Default\RocksDB\{GameVersion}\Worlds\

Locate the correct WorldID folder. You may also need to check RocksDB_v2_Backups depending on the server version and migration state.

STEP 2 — Copy the World Folder

Copy the entire WorldID folder from the dedicated server.

STEP 3 — Paste It Into the Client Save Folder

Steam / EGS:

C:\Users\{UserName}\AppData\Local\R5\Saved\SaveProfiles\{YourProfile}\RocksDB\{GameVersion}\Worlds\

Stove:

C:\Users\{UserName}\AppData\Local\R5\Saved\SaveProfiles\StoveDefault\RocksDB\{GameVersion}\Worlds\

You may also choose to place it inside RocksDB_v2_Backups\{GameVersion}\Worlds if you are working with migrated saves.

STEP 4 — Launch the Game

Start Windrose normally through Steam / EGS / Stove. If prompted about save conflicts, choose local saves. This prevents cloud data from overwriting the transferred save.

Why is there a WindroseServer folder in the main game?

You cannot launch the dedicated server from the main game folder. The WindowsServer folder there serves a different role — it’s a complementary part of the client. If you launch it from the game folder, the client will shut it down. However, if you copy that folder to any other location, it works as a proper dedicated server.

How do I store multiple worlds on my server?

In ServerDescription.json, change the WorldIslandId field to the ID of the world you want to load, then save the file and launch the server.

Depending on whether you updated to 0.10.0.5.120 or not, world folders may be located in:

R5\Saved\SaveProfiles\Default\RocksDB\{GameVersion}\Worlds

or

R5\Saved\SaveProfiles\Default\RocksDB_v2_Backups\{GameVersion}\Worlds
⚠ Do not rename world folders — the database relies on those IDs.
My game has been updated. Should I update my dedicated server, too?

Absolutely! The game version and the dedicated server version should match; otherwise, bugs may occur. So when your game client has been updated, make sure to update the dedicated server files, too. To do so:

  1. Download and install the latest game update.
  2. Take the files from the WindroseServer folder inside the game files and move them to wherever you want to store your new dedicated server.
  3. Take your old saves from the previous dedicated server’s R5\Saved folder and place them in the new dedicated server’s R5\Saved folder.
  4. Launch the new dedicated server as usual.
I have useful info to add to this guide

We appreciate it! Visit Windrose Support


← Back to playwindrose.com