Your Windrose invite code is the only way players connect to your server. There's no IP:port join, no server browser, just the code. That's mostly fine until someone you kicked shares the code with the whole internet, or it leaks to a Discord you don't control, and suddenly you want to change it.
Here's how.
Why You Might Want to Change It
A few reasons come up regularly:
- Someone got kicked or banned and you want to prevent them re-joining
- The code leaked to a public space and strangers are trying to connect
- You want a shorter or more memorable code for a community server
- You just want a fresh start after some drama
All valid. The process is the same for each.
Where the Code Lives
Windrose stores the invite code in R5/ServerDescription.json:
{
"ServerDescription_Persistent": {
"InviteCode": "fe3f5205",
...
}
}
The code gets generated automatically on the server's first successful boot. It's alphanumeric, case-sensitive, and looks like fe3f5205 by default. You can change it manually to any string you like – there's no strict validation as long as it parses as a valid JSON string.
How to Rotate the Code
Stop the server first. This is important. If you edit ServerDescription.json while the server is running, your change will get overwritten on shutdown. There's a dedicated article on why that happens if you want the deeper explanation.
Then pick one of these two options:
Option A: Let Windrose regenerate one
- Stop the server from the LOW.MS Control Panel.
- Open File Manager and navigate to
R5/ServerDescription.json. - Edit the file and set
"InviteCode": ""(empty string). - Save the file.
- Start the server. On first boot without a code, Windrose generates a fresh one.
- Once the server is running, click Show Invite Code in the panel to see the new value.
Option B: Set a custom code
- Stop the server.
- Edit
R5/ServerDescription.json. - Set
"InviteCode": "your-custom-code-here". - Save and start.
Custom codes work fine as long as they're reasonably unique. I'd avoid anything super short (like abc) or easily guessable, because there's nothing stopping someone from brute-forcing common codes against the EOS relay. Stick to 8+ alphanumeric characters if you want something memorable, or just let the game generate one.
What Happens to the Old Code?
The instant the server boots with a new code, the old one is dead. Anyone trying to connect with it will either see a "not available" error or just silently fail to connect. No notice, no warning – just doesn't work.
Let your actual players know the code has changed before you rotate it. Otherwise you'll get "hey I can't connect" messages for a day.
If you're using Discord or similar to share the code, update the pinned message or wherever you keep it. Old cached copies in people's chat histories will still show the old code – copy-paste is not your friend here.
Verifying the New Code
After the server starts, check the new code three ways if you want to be thorough:
- The Show Invite Code button in the control panel
- Web Console startup log (look for
> InviteCode : <your-code>) R5/ServerDescription.jsonvia File Manager
All three should show the same thing. If they don't, something's off with the server state – try a clean restart.
A Note on Password Protection
Changing the code isn't the same as adding a password. Anyone who knows the new code can still connect unless you've also set IsPasswordProtected to true and added a value to Password in the same file.
If you're rotating the code because of griefers, I'd recommend adding a password at the same time. Belt and braces. The invite code connection guide covers password setup if you need a refresher.
TL;DR
Stop the server, edit R5/ServerDescription.json, set InviteCode to either "" (regenerate) or your custom string, save, start. Share the new code with your players before anyone tries to join on the old one. Done.