TroubleChute Logo
GAMES

Windrose Dedicated Server Guide


Published: Apr 23, 2026
Last Edit: Apr 23, 2026
Windrose Dedicated Server
1,645 Words, 7 Minutes.

You can find the official lengthy guide here: playwindrose.com/dedicated-server-guide.

Is this free?

Yes.

On Steam, the Windrose Dedicated Server tool has it’s own entry (under the Tools tab), and does not require the main game to be installed. On Epic, the server is already inside your game install, but you still copy it out instead of running it from the live game folder.


Where do the server files come from?

You can use either the standalone Steam tool or the files already included with your Windrose install.

Steam

  1. In the Steam client, open your Library.
  2. Use the library filter drop-down and enable Tools.
  3. Search for Windrose Dedicated Server and install it.
  4. After install, right-click it → ManageBrowse local files to open the install folder.

Epic Games Store & Stove

  1. Open your normal Windrose installation directory.
  2. Go to R5\Builds.
  3. Copy the entire WindroseServer or WindowsServer folder to a different folder (i.e. your desktop, second drive, or C:\GameServers\Windrose).

Do not leave the only copy inside the game’s install folder if you intend to run it as a standalone dedicated host while also playing from that same machine. The client and that bundled server tree are not meant to run side by side from the same location; copying the folder elsewhere avoids the client trying to manage or shut down the wrong process and reduces the risk of save conflicts.


Install or update with SteamCMD

SteamCMD doesn’t require a full game install or even Steam/Epic/Stove to be installed. This is the best for headless installs like a VPS.

  1. Download SteamCMD for Windows from Valve’s CDN (direct zip).
  2. Unzip it into a folder you control (for example C:\SteamCMD).
  3. Create windrose-update.bat next to steamcmd.exe and put your real install path in force_install_dir:
windrose-update.bat
1
2
3
4
@echo off
echo Updating Windrose Dedicated Server...
steamcmd.exe +force_install_dir "Windrose_Server" +login anonymous +app_update 4129620 validate +quit
echo Done.

(Edit force_install_dir to your folder of choice, like “C:\Windrose_Server” or leave it as is).

  1. Run the batch file and wait until SteamCMD exits cleanly.

Updating later: run the same script again; validate refreshes changed files.

Version match: after every Windrose patch, update the dedicated server build before players join. Mismatched client and server builds are a common source of failed connections or odd bugs.

If app_update fails with “no subscription”: Log in with +login your_steam_username (Steam Guard will apply) using an account that owns Windrose, then run the same app_update 4129620 line again.


First launch and quick start

Windrose expects default JSON the first time the process starts, so boot it once before heavy editing.

Two ways to start the process:

After startup, note the invite code printed in the console. If it scrolls away, open R5\ServerDescription.json in a text editor; the same code is stored there.

In the Windrose game client: PlayConnect to server → paste the invite code. Share that code with your friends. Codes are case-sensitive and must meet the minimum length the JSON file enforces (six or more characters from the allowed set once you customize it).


Config files (advanced)

Shut the server down completely before editing JSON. Crashes or later saves can edit and overwrite your changes.

R5\ServerDescription.json (global host settings)

Fields to change if you want:

Direct connection (optional, fixed port)

If you prefer a known TCP/UDP port (defaults to 7777) instead of relying only on NAT punch-through, set these inside the existing ServerDescription_Persistent object in R5\ServerDescription.json:

Example fragment (adapt host/port to your setup):

1
2
3
4
5
6
"ServerDescription_Persistent": {
  "UseDirectConnection": true,
  "DirectConnectionServerAddress": "windrose.example.com:7777",
  "DirectConnectionServerPort": 7777,
  "DirectConnectionProxyAddress": "0.0.0.0"
}

Keep UseDirectConnection on false if you are not using this path.

Per-world WorldDescription.json

Each world lives under a path similar to:

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

The server creates the first world automatically. WorldPresetType accepts the built-in difficulty bands (Easy, Medium, Hard); other combinations roll up as Custom next boot. Fine tuning lives under nested bool/float/tag blocks-treat those like advanced knobs and change one group at a time so you can roll back mistakes.

Prefer official documentation or patch notes for any extra networking keys, because names can change between versions.


Saves, migrations, and swapping worlds

Default locations

Always back up before moving folders.

Copying a world from the game into the dedicated server

  1. Exit both the client and the dedicated executable.
  2. Copy the entire world folder from your profile’s RocksDB\<version>\Worlds\<WorldID> directory.
  3. Paste it into Windrose Dedicated Server\R5\Saved\SaveProfiles\Default\RocksDB\<same version>\Worlds\.
  4. Edit ServerDescription.json so WorldIslandId equals that folder’s name (the GUID-style directory).
  5. Start the server and verify the world loads.

To go the other direction, reverse the copy and pick the local save when the client asks.

Switching between worlds you already have

Edit WorldIslandId only-never rename the world folders on disk, because the database ties to those IDs.


Networking, firewalls, and routers

You can mix NAT / UPnP (default-style hosting) with optional direct connection on a fixed port. Use whichever matches how you want to expose the machine.

Method 1: NAT / UPnP and executable rules (default)

Windrose can lean on NAT traversal and dynamic ports, so there is not always one fixed “game port” to forward. For that style:

If you are using Windows Firewall, run PowerShell as Administrator after adjusting the -Program path so it points at your real WindroseServer-Win64-Shipping.exe:

Powershell
1
2
3
$exe = "C:\Game_Servers\Windrose_Server\R5\Binaries\Win64\WindroseServer-Win64-Shipping.exe"
New-NetFirewallRule -DisplayName "Windrose Dedicated Server" -Direction Inbound  -Program $exe -Action Allow
New-NetFirewallRule -DisplayName "Windrose Dedicated Server" -Direction Outbound -Program $exe -Action Allow

To remove those rules later: Remove-NetFirewallRule -DisplayName "Windrose Dedicated Server".

Method 2: Direct connection (TCP and UDP on your game port)

If you set UseDirectConnection in ServerDescription.json, open the same port in the OS firewall and on your router for both TCP and UDP. The usual default is 7777; if you changed DirectConnectionServerPort, use that value everywhere below.

Router: create a port-forward (or equivalent) from the internet to this PC for TCP and UDP on that port.

Windows Firewall: run PowerShell as Administrator and set $port to match your config (7777 or custom):

Powershell
1
2
3
4
5
$port = 7777
New-NetFirewallRule -DisplayName "Windrose Direct TCP In"  -Direction Inbound  -LocalPort $port -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "Windrose Direct TCP Out" -Direction Outbound -LocalPort $port -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "Windrose Direct UDP In"  -Direction Inbound  -LocalPort $port -Protocol UDP -Action Allow
New-NetFirewallRule -DisplayName "Windrose Direct UDP Out" -Direction Outbound -LocalPort $port -Protocol UDP -Action Allow

To remove those port rules:

1
Get-NetFirewallRule | Where-Object { $_.DisplayName -like "Windrose Direct *" } | Remove-NetFirewallRule

You can keep Method 1 executable rules alongside Method 2 port rules if you want punch-through to still work when direct connection is not in use.

If remote friends still drop after the Windows rules are in place, verify integrity inside Steam, update GPU chipset drivers, install pending Windows updates, and reboot both the PC and the router once to clear stale NAT mappings.


Hardware expectations (dedicated only)

Treat these as planning numbers from the official table, not guarantees:

PlayersCPU (example class)RAMStorage
22c / ~3.2 GHz Xeon8 GB~35 GB SSD
4same12 GB~35 GB SSD
10same16 GB~35 GB SSD

Running client + server on one PC needs more headroom-plan on roughly 24 GB RAM total if you want both comfortably, and keep the world on an SSD.


Security hygiene

Windrose staff will not ask for your Steam, Epic, or Stove password in Discord DMs or random emails. If someone does, it is a scam-use the support channel listed on playwindrose.com instead.

The official website also has Discord and email listed: support @ playwindrose.com.


Troubleshooting checklist

  1. Files: In Steam, Properties → Installed files → Verify integrity on Windrose Dedicated Server. Running the SteamCMD updater with validate should accomplish the same.
  2. Versions: Confirm the server build string matches what players have after a patch.
  3. Path: Confirm you are launching the copy outside the live game directory when you also play on the same machine.
  4. Firewall / AV: Explicitly allow the server binaries inbound and outbound.
  5. Power cycle: Restart the host PC and router after major network changes.
TroubleChute © Wesley Pyburn (TroubleChute)
Support Me Privacy Policy Cookies Policy Terms of Service Change privacy settings Contact