Windrose Dedicated Server Setup Guide (SteamCMD, 2026)

Published on | Updated

Self-host a Windrose dedicated server on Windows: SteamCMD install (app 4129620), invite code or port 7777, updates, moving saves and the Linux route.

Pirate ship with torn sails in a thunderstorm off a jungle island

To run a Windrose dedicated server yourself, install the free Windrose Dedicated Server (Steam app 4129620) with SteamCMD and an anonymous login, start it with StartServerForeground.bat, and give your friends the invite code it prints. This walkthrough follows the developer's dedicated server guide on a Windows PC, step by step, and ends with what changes on Linux.

The web version of that guide was last updated on 18 May 2026 for game version 0.10.0.5.120. The same instructions ship as DedicatedServer.md inside the server folder, so open that file after big patches. Still deciding between hosting at home and renting? Start with Windrose server hosting: setup, ports and costs.

What you need

  • A Windows PC or server that stays on while people play.
  • RAM for the server: 8 GB for 2 players, 12 GB for 4 and 16 GB for 10, according to the guide's FAQ, plus 35 GB of SSD space. The CPU line is 2 cores at 3.2 GHz.
  • If the server runs on the PC you also play on: 24 GB in total, 16 GB for the game and 8 GB for the server.
  • No second copy of the game. The guide says the server download does not require a purchased copy.
  • Players on the same game version as the server.

Step 1: Install the server with SteamCMD

  1. Download SteamCMD for Windows from Valve and unpack it to a folder such as C:\steamcmd.
  2. Run steamcmd.exe and wait for the Steam> prompt. The first start updates SteamCMD itself.
  3. Enter the commands from the guide:
force_install_dir "C:\Game_Servers\Windrose_Server"
login anonymous
app_update 4129620 validate
quit

force_install_dir is the target folder, so any path works. validate checks that every file arrived intact.

For updates, put the same commands on one line in a batch file, for example update-windrose.bat. Running it again downloads only the changed files.

C:\steamcmd\steamcmd.exe +force_install_dir "C:\Game_Servers\Windrose_Server" +login anonymous +app_update 4129620 validate +quit

No SteamCMD? Install "Windrose Dedicated Server" from the Tools section of your Steam library and find it with Manage, Browse Local Files. If you play on the Epic Games Store or Stove, copy the WindroseServer folder from R5\Builds in the game files instead. Either way, the server has to live outside the game folder: started from there, it gets shut down by the game client.

Step 2: First start and the invite code

  1. Open the server folder and run StartServerForeground.bat. The server runs in a console window that shows its log, and closing the window shuts it down. WindroseServer.exe is the alternative if you want it in the background, but then you have to end it in Task Manager.
  2. If Windows Firewall asks whether WindroseServer.exe may use the network, allow it.
  3. Once the server has loaded, the console shows the invite code, something like f1014dc1. Missed it? It is also in R5\ServerDescription.json.
  4. In the game, go to Play, then Connect to Server, and enter the code. Send it to your friends; they join the same way.

The first start also creates ServerDescription.json and the default world under R5\Saved\SaveProfiles\Default\RocksDB_v2\<game version>\Worlds\<world id>\.

Step 3: Name, password and player cap

Stop the server before you edit anything, because the guide says ServerDescription.json may only be changed while the server is shut down. Open it in Notepad. These are the lines worth changing on day one:

"InviteCode": "KestrelCrew",
"IsPasswordProtected": true,
"Password": "SaltyDog7",
"ServerName": "Kestrel crew",
"MaxPlayerCount": 4,
"UserSelectedRegion": "EU",

The rules from the guide: the invite code takes letters and digits only, needs at least 6 characters and is case-sensitive. IsPasswordProtected is true only when Password is filled in. UserSelectedRegion is EU (which covers Europe and North America), SEA or CIS, or empty to let the server choose. Leave PersistentServerId alone.

Difficulty lives in a separate file per world. Windrose server settings and admin commands explains that file and every other field.

Step 4: Let friends in from outside your network

With invite codes

There is nothing to forward: the guide says ports are assigned dynamically through NAT punch-through, and your router needs UPnP. If friends cannot connect, the official FAQ suggests turning off VPNs and proxies, checking that every player has the same connection region selected in the game, and trying a different region, because some ISPs block the connection service.

With direct connection

  1. Stop the server and set "UseDirectConnection": true in ServerDescription.json. DirectConnectionServerPort holds the port, 7777 by default.
  2. Allow that port through Windows Firewall for both TCP and UDP.
  3. On your router, forward an external port, TCP and UDP, to the server PC's local IP and the server port. Your connection needs a public IP address; some providers charge for one.
  4. Start the server and share your public IP and the external port. Players on your own network use the server's local IP and port.

Invite codes stop working while direct connection is on. When the developer added it in patch 0.10.0.3, they also listed a known issue: a wrong password or a version mismatch sends the player back to the main menu without an error message.

Still stuck? The guide's checklist: confirm the server PC's local IP with ipconfig, try a higher port such as 17777 or 27890, check that both TCP and UDP are allowed, and wait until the server has fully started before you connect. The FAQ adds that the game is built for IPv4, so a PC that prefers IPv6 can cause trouble.

Step 5: Updates and day-to-day running

  • Keep the versions equal. The guide is blunt about it: if the server and game versions differ, players may be unable to join at all. After every game patch, stop the server, back up R5\Saved, run your update batch file and start it again.
  • If you copied the server from the game files, take the fresh WindroseServer folder after the game updates and copy your old R5\Saved folder into it.
  • One server per PC. Since patch 0.10.0.6 the server will not start a second instance on the same machine, a safeguard against two copies writing to one save database. The switch is CanLaunchMultipleServerInstances, false by default.
  • Reboots. When Windows restarts for updates, the server does not come back by itself. Start it again, or add a Task Scheduler task that runs StartServerForeground.bat when you log on.

Moving a single-player world to the server

The guide's steps, shortened:

  1. Back up your saves, then close both the game and the server.
  2. Find the world on your PC. Press Win+R, open %localappdata%\R5\Saved\SaveProfiles\ and then your profile folder. After the 0.10.0.5.120 update your worlds are normally in RocksDB_v2_Backups\<game version>\Worlds\ (look for the _Latest backup); older saves are in RocksDB\<game version>\Worlds\.
  3. Copy the whole world ID folder, a long code such as EC10598E83A14ED04D9C44CBFBF3F4B1.
  4. Paste it into the same kind of folder on the server: R5\Saved\SaveProfiles\Default\RocksDB\<game version>\Worlds\, or the matching path under RocksDB_v2_Backups.
  5. Set WorldIslandId in ServerDescription.json to the folder name, save, and start the server.

If the server builds a fresh world instead of loading yours, the official FAQ says WorldIslandId does not match a world folder. Do not rename world folders, because the save database relies on those IDs. Moving a world back to your PC works the same way in reverse; if Steam then asks about a save conflict, choose the local files.

What about Linux?

The guide's FAQ answers "Can I run on Linux / headless?" with "Currently Windows-only, unfortunately." The web page still says that, but patch 0.10.0.7 on 25 June 2026 added "Docker images with Linux server support". The image is windroseserver/windroseserver on Docker Hub, with a tag for each build next to latest, for example 0.10.0.9.32-22d39a16.

The guide's Docker section asks for three things: a ServerDescription.json with "UseDirectConnection": true and "DirectConnectionServerPort": 7777, port 7777 mapped for TCP and UDP, and your Saved folder plus that JSON file mounted into the container. Players then join by direct IP. The guide's example uses Windows paths; on a Linux host the same command looks like this:

mkdir -p /srv/windrose/Saved
# put your ServerDescription.json in /srv/windrose first
sudo chown -R 1000:1000 /srv/windrose
docker run -d --user ue_user --name WindroseServer \
  -p 7777:7777/tcp -p 7777:7777/udp \
  -v /srv/windrose/Saved:/home/ue_user/app/R5/Saved \
  -v /srv/windrose/ServerDescription.json:/home/ue_user/app/R5/ServerDescription.json \
  windroseserver/windroseserver:latest

The container runs as the user ue_user with UID 1000 (you can see it in the image's build steps on Docker Hub), which is why the folder needs that owner. Use a version tag instead of latest if you want to decide yourself when the server moves to a new build, and keep it on the same version as your players' game.

Without Docker, the SteamCMD download is the Windows build, and running it on Linux means Wine or Proton. The developer neither documents nor supports that route, so when something breaks you are on your own. Our Proton vs Wine vs native explainer covers what that means in practice.

Troubleshooting

SymptomWhat the official guide and FAQ point to
Server gets shut down when started from the game filesIt is still inside the game folder, where the game client shuts it down. Copy the folder somewhere else.
Server will not start or crashes on launchVerify the files in Steam, update GPU drivers and Windows, add firewall and antivirus exceptions for WindroseServer.exe, restart the PC and router.
Server starts a brand new worldWorldIslandId does not match your world folder.
Friends cannot find the server by invite codeDifferent connection regions, no UPnP, a VPN or proxy, or an ISP blocking the service. Try direct connection.
Players in the same house cannot join with the codeKnown invite code issue on one network. Use direct connection with the local IP.
Direct connection drops you to the main menuCheck the password and the game version. When direct connection launched, both failures showed no error message.
World settings do not changeEdit with the server stopped, then run R5WorldDescriptionUpdater.exe.

Hosting it with us

Rather not keep a Windows PC running for your crew? We host Windrose on Linux with the Windows server build running under Wine, set up for you, so the steps above shrink to editing two JSON files in the panel. Brigantine (8 GB RAM, €10.20 a month) matches the developer's figure for 2 players and Galleon (16 GB, €20.50) covers 3 to 10. Our smaller Dinghy and Sloop plans sit below the 8 GB the developer lists for two players. DDoS protection is included and there are nine regions to choose from. See the Windrose server plans.

FAQ

Do I need to buy Windrose to download the dedicated server? No. The guide says the server does not require a purchased copy of the game, which is why login anonymous works in SteamCMD. Your players do need the game.

Can I run a Windrose dedicated server on Linux? Through Docker, yes: patch 0.10.0.7 added Docker images with Linux server support, published as windroseserver/windroseserver. Running the Windows build under Wine is also possible (it is how we host Windrose), but the developer does not support that route.

Can I host and play on the same PC? Yes. The guide recommends 24 GB of RAM in total for that, 16 GB for the game and 8 GB for the server. Run the server from its own folder, not from inside the game folder.

Can I run two Windrose servers on one PC? Not by default. Since patch 0.10.0.6, CanLaunchMultipleServerInstances is false to stop two servers writing to the same save database. If you change it, give each server its own folder and, with direct connection, its own port.

How do I update a Windrose dedicated server? Run app_update 4129620 validate in SteamCMD again; it fetches only the changed files. Do it after every game patch, because the server and the game must be on the same version.

Related guides: Windrose server hosting: setup, ports and costs, Windrose server settings and admin commands and Proton vs Wine vs native game servers