Short answer. You can host a Windrose server yourself for free: install "Windrose Dedicated Server" (Steam app 4129620, in the Tools section of your Steam library, or with SteamCMD and an anonymous login), run it, and give your friends the invite code it prints. For a direct connection, open the chosen port (7777 in the developer's example) for both TCP and UDP. Or rent a Windrose server and skip the networking.
Players open Play, then Connect to Server, and paste the invite code. With a direct connection, invite codes do not work and players join with the server's IP address and port instead.
Checked on 5 November 2026 against game version 0.10.0.9, the newest patch notes Steam had posted.
This guide uses the developer's own Dedicated Server Guide on playwindrose.com and what we run on every Windrose server we host. To skip to the rental route, go to Option 2.
What you need
The server software: "Windrose Dedicated Server", Steam app 4129620. It is a free tool on Steam and downloads with an anonymous login.
Windows, or Docker on Linux: the guide's FAQ still calls the server Windows only, but patch 0.10.0.7 added official Docker images with Linux server support, and the guide's Docker section shows how to run them. We run the Windows server under Wine on Linux, which is our own set-up and not a route the developer documents.
Hardware: the developer's guide publishes recommended CPU, storage and RAM, and the RAM figure grows with the number of players. Read it before you pick a machine. If you play on the same PC, the guide recommends more RAM than for a server alone.
A machine that stays on while your crew plays.
Network: for a direct connection, one port open for both TCP and UDP, and a public IP address if players join over the internet.
The same version as your players: the guide says the server version must always match the game client version.
Option 1: host it yourself
Install the server
Get the server. On Steam, open the Tools section of your library, install "Windrose Dedicated Server", then right-click it, choose Manage and Browse Local Files. Or, on Windows, use SteamCMD with the developer's example folder:
Start it. Run StartServerForeground.bat (it shows the logs in a console window) or WindroseServer.exe (it runs in the background and you end it in Task Manager). The first start creates the server's config files.
Copy the invite code from the console, or from ServerDescription.json in the server's R5 folder.
Change the settings
Common settings live in ServerDescription.json. Stop the server before you edit it. The fields you will use most:
ServerName is the name shown for your server.
InviteCode is the code players type. It must be letters and digits, at least 6 characters, and it is case-sensitive.
IsPasswordProtected and Password switch a password on.
MaxPlayerCount is the player cap.
UserSelectedRegion is SEA, CIS or EU (the developer says EU covers Europe and North America). Blank picks by latency.
UseDirectConnection is true for direct sockets and false for ICE peer-to-peer. DirectConnectionServerPort is the port for direct connections.
Do not edit PersistentServerId. World difficulty is not in this file. It is WorldPresetType (Easy, Medium or Hard; other values switch the world to Custom) in the WorldDescription.json of each world. Stop the server, edit it, then run R5WorldDescriptionUpdater.exe from the server folder with the path to that file. See How to Change Windrose World Settings and Difficulty for the panel route.
Open the ports and join
Invite code: the developer says ports are assigned dynamically through NAT punch-through. The developer suggests UPnP on your router, and switching off any proxy or VPN if connections fail.
Direct connection: forward the port you set in DirectConnectionServerPort for both TCP and UDP and allow it in your firewall. On the same network, players use your local IP address.
Join: with an invite code, players choose Play, then Connect to Server, and paste the code. With a direct connection, they join with your IP address and port instead.
Update: when the game updates, update the server too (SteamCMD with the same command). A server on a different version from the game can stop players joining.
Option 2: host it on PlayNHost
Renting removes the install, the ports and the update routine. You still choose a name, a password and your world rules.
Pick a plan. Open the Windrose server hosting page and compare the plans: KETCH (4 players), BRIG (6) and FRIGATE (8) at the time of writing. Press Create Server (Customize Plan on FRIGATE) and finish the order. Prices change, so check them on that page.
Wait for the install. The server appears in the panel. It is ready when the Console shows AR5GameInitializationTracker::SetActorIsReady.
Pick how your crew joins. With Use Direct Connection on (the default), your crew joins at your server address. Turn it off and they join with the invite code the server generated for itself. The code is in R5/ServerDescription.json under Files, and you can set your own in Invite Code. See How to Connect to Your Windrose Server.
Set your region in Region (SEA, CIS or EU) if you want to force the connection service region for invite-code joins. Left empty, the server picks by latency.
What the panel does for you
It installs the Windows server and runs it under Wine, so you need no Windows machine. The install retries the SteamCMD download up to three times if the server program did not arrive, and stops with a clear error if it is still missing, instead of reporting a finished install over an empty folder.
It writes your settings at every start. Server name, password, player cap (set by your plan), join method and the direct connection port are written into ServerDescription.json each time the server boots, and so are region and invite code when you set them in Game Settings. Change them there, not in the file. On the first boot the server creates the file itself, which holds the server ID, world ID and invite code.
Ports are assigned and set as the direct connection port, so you never forward anything.
With Auto Update on (the default, under Show advanced in Game Settings), the server checks Steam for a new build every time it starts, so a restart is an update. The developer warns that players on a different build from the server may be unable to join.
Saves: the game keeps its own automatic save backups in the server folder. The World Reset quick task starts a fresh island and keeps your invite code, server settings and your crew's characters.
Mods: the mod folder for .pak files, R5/Content/Paks/~mods, is created at install and again at every start.
Cost: the server software is free. Self-hosting costs a machine, power and bandwidth. Renting is a monthly fee set by the plan.
Uptime: a home server is only up while your PC, power and internet are. A rented server runs on the host's hardware.
Network: at home, a direct connection needs a forwarded TCP and UDP port and a public IP address, and invite codes depend on NAT punch-through working on your router. A rented server needs none of that.
Setup: self-hosting on Windows is mostly point and click, but you handle updates and version matching yourself. Renting needs a name, a password and a choice of join method.
Control: self-hosting gives you every file. On our servers you change settings on the Settings page and still have Files for ServerDescription.json and the world files.
We use cookies to keep the site working, to understand how it is used, and to measure our marketing. You can accept all, accept essential cookies only, or choose per category.We use cookies to keep the site working, to understand how it is used, and to measure our marketing. They are on by default here. You can switch off anything you do not want.Read our privacy policy