Skip to content

Windrose Dedicated Server: Setup, Invite Codes and Direct Connect

Run a Windrose dedicated server: first boot, invite codes vs direct IP, which ServerDescription.json fields the panel owns, world paths and fixes.

Updated September 28, 2026
Windrose

A Windrose dedicated server keeps your pirate world online when the host logs off, so your crew can build ships on their own and sail together later. Kraken Express gives the dedicated server away as a free Steam tool, Windrose Dedicated Server (app 4129620), and it officially runs on Windows only. On your Windrose server we run that same Windows build on Linux through Wine, so the panel does the installing, updating and config writing for you.

This guide covers what happens on first boot, how players join with an invite code or a direct IP, which settings the panel owns and which you can edit, where your world is stored, and the connection problems people hit most. If you'd rather host it on your own PC, the self-hosting section at the end has the official SteamCMD commands and hardware figures.

Version checked

Windrose 0.10.0.9 (25 August 2026). App 4129620 has only a public branch, so there's no beta or experimental server to switch to.

First boot

  1. Open the server in the panel and click Start.
  2. The first start downloads the server with SteamCMD (a Windows download, run under Wine) and then launches R5/Binaries/Win64/WindroseServer-Win64-Shipping.exe. It takes longer than later restarts. The official requirement is 35 GB of disk.
  3. When the console prints Bringing up level for play took…, the world is loaded and the panel marks the server as running.
  4. The first start creates R5/ServerDescription.json and your first world. It's a good idea to stop and start the server once before you edit anything, so the files exist with their defaults.

The console output comes from the server's own log, R5/Saved/Logs/R5.log, which you can also download from the File Manager if you need to send it to support.

Joining: invite code or direct IP

Windrose has no server browser. Players join through Play → Connect to Server in one of two ways, and the Use Direct Connection variable in the Startup tab decides which.

Invite code (default, Use Direct Connection = 0) Direct connection (Use Direct Connection = 1)
What players type A short code like f1014dc1 The IP and port from the Address at the top left of the panel
How it connects Through Windrose's Connection Service Straight to your server on its allocated port, TCP and UDP
Changes on restart? Yes on our servers (see below) No. The IP and port stay the same
Region must match? Yes. Every player needs the same Connection Service region Not part of the direct-IP path

Finding the invite code. It's printed in the console at startup, and it's in R5/ServerDescription.json under InviteCode.

The invite code changes every time the server starts

The Invite code variable is read-only in the Startup tab and blank by default. Per the panel, blank means "generate a random code on each server start". A restart, including a scheduled one, gives your crew a code that no longer works. Either share the new code after each restart, or switch to direct connection for an address that never changes. Configuring your Windrose server has the details.

Switching to direct connection: stop the server, set Use Direct Connection to 1, and start it again. The panel fills in DirectConnectionServerAddress and DirectConnectionServerPort from your allocation, so there's no port to pick by hand. Give players the panel Address.

What the panel controls, and what you can edit

Every time the server starts, the panel writes these fields in R5/ServerDescription.json from Startup variables. Editing them in the file does nothing, because the next boot overwrites them:

Field in ServerDescription.json Startup variable
ServerName Server Name
Password, IsPasswordProtected Server Password, Password Protected. Set both, or neither
MaxPlayerCount Max players (default 8)
UseDirectConnection Use Direct Connection
InviteCode Invite code (read-only, blank)
DirectConnectionServerAddress, DirectConnectionServerPort, P2pProxyAddress Filled from your allocation. Don't change these

The fields you can edit in the file (only while the server is stopped, per the official guide):

  • WorldIslandId: which world loads on start. It has to match a world folder name exactly.
  • UserSelectedRegion: the Connection Service region, EU (covers Europe and North America), SEA or CIS. Left empty, the server picks by latency. Set it if invite-code players land in a different region than the server.
  • AutoLoadLatestBackupIfHasBroken: when true, the server tries to restore a broken save from its backups on launch.

Difficulty and world rules are in a different file, WorldDescription.json, one per world. World settings covers the presets and every multiplier. Kraken Express recommends groups of up to four for the best experience. You can set more slots, but boss fights aren't balanced for large groups.

Where your world is stored

Worlds live under R5/Saved/SaveProfiles/Default/RocksDB_v2/<game version>/Worlds/<world id>/, so on the current version that's RocksDB_v2/0.10.0/Worlds/. The server's own backups sit next to it in RocksDB_v2_Backups/. Each folder name is a long ID. Don't rename these folders, because the save database relies on those IDs. To bring a world from your PC, copy the whole world folder across and set WorldIslandId to its folder name. The save file location guide walks through it for Steam, Epic and Stove saves. We haven't tested every kind of world move on our servers, so if a new island appears instead of yours, stop the server and contact support.

Take a backup before any update, upload or mod install.

Updates

With Auto Update at 1 (the default), every start checks Steam for a newer app 4129620 build and installs it before launching. The official guide is blunt about why this matters: the server "always" has to match the game client's version, or players may be unable to join or run into bugs that are hard to track down. After a Windrose patch, restart the server once so it updates. If you've set Auto Update to 0 to hold a version, remember that players who have updated can't join until you turn it back on. Managing your Windrose server covers scheduled restarts and maintenance.

Troubleshooting

Symptom Likely cause Fix
Invite code "doesn't work" after a restart The code changed on boot Read the new code from the console or ServerDescription.json, or switch to direct connection
Invite code works for some players, not others Different Connection Service regions Everyone picks the same region (EU & NA, SEA or CIS). Set UserSelectedRegion on the server to match
Code resolves but players hang or can't reach the server P2P traffic blocked by their ISP, router or firewall Players enable Force Relay Connection, or you switch to direct connection
Can't join after a game patch Server is an older version than the client Restart with Auto Update 1
Your edit to ServerDescription.json disappeared You changed a field the panel owns Use the Startup variable instead (table above)
Wrong world loads WorldIslandId doesn't match a folder under Worlds/ Copy the folder name exactly
Password prompt misbehaves Password set but Password Protected off, or the reverse Set both variables together

Hosting a Windrose dedicated server yourself

Official instructions if you run it on your own Windows machine:

  • Get the server: in your Steam Library, switch the filter to Tools and install Windrose Dedicated Server. Or use SteamCMD: login anonymous, then app_update 4129620 validate. You don't need to own the game. Epic and Stove players can copy the R5\Builds\WindowsServer folder from the game install instead, but it only works once it's copied outside the game folder.
  • Start it: StartServerForeground.bat (recommended, shows the log) or WindroseServer.exe (runs in the background).
  • Hardware: 2 cores at 3.2 GHz, and 8 GB RAM for 2 players, 12 GB for 4, 16 GB for 10. 35 GB SSD. Running the game and the server on the same PC calls for 24 GB of RAM.
  • Network: invite codes use NAT punch-through and need UPnP on your router. Direct IP needs the port forwarded on both TCP and UDP.
  • Linux: not officially supported. That's the part we handle with Wine.

Made with 💜 by GameServerKings

Need a Windrose server?

Deploy an instantly-provisioned Windrose server on high-clock hardware — DDoS protected, no contracts, cancel anytime.

From $9.90 /month