How to Make Yourself Admin on an OpenRCT2 Server (users.json)
Become admin on a headless OpenRCT2 server: find your key hash, add it to users.json with groupId 0, then set groups so friends can build, not just spectate.
Updated Oct 7, 2026 · 5 min read
On this page
To make yourself admin on a headless OpenRCT2 server, find your key hash in the name of the .pubkey file in your own OpenRCT2 keys folder (it looks like YourName-<40 character hash>.pubkey), then add an entry with that hash and "groupId": 0 to users.json in the server's user data folder. The server reloads users.json every time someone joins, so reconnect and you are in the Admin group. Then fix the default group, because new players join as Spectators who can only chat.
On a server hosted from inside the game, the host is admin automatically. On a headless server the "host" is the server itself, so somebody has to be promoted by hand once.
How OpenRCT2 identifies players
OpenRCT2 does not use accounts. The first time you open multiplayer, the game makes a key pair for your player name and stores it in your user data folder:
| File | Where (Windows) |
|---|---|
YourName.privkey |
Documents\OpenRCT2\keys\ |
YourName-<hash>.pubkey |
Documents\OpenRCT2\keys\ |
On Linux the folder is ~/.config/OpenRCT2/keys/, and on macOS ~/Library/Application Support/OpenRCT2/keys/.
The long string after the dash in the .pubkey filename is your key hash. The server knows you by that hash, not by your name, so renaming yourself does not change your rank, and someone else using your name cannot take your rank either. It also means that if you reinstall and lose the .privkey, the server sees a stranger.
The default groups
A fresh server creates groups.json with three groups:
| groupId | Group | What it can do |
|---|---|---|
| 0 | Admin | Everything, including cheats, kicking and changing groups |
| 1 | Spectator | Chat only |
| 2 | User | Build rides, paths and scenery, hire staff, set prices. No kicking, group changes, cheats or tile editing |
And the default group for newcomers is 1, Spectator. That is why the most common complaint after setting up a server is "my friends can join but cannot build anything".
Step 1: Find your hash
Open your own keys folder and copy the part of the .pubkey filename between the dash and .pubkey. If the folder is empty, open Multiplayer in OpenRCT2 once and join any server so the game creates your key.
Step 2: Edit users.json on the server
Stop the server, then open users.json in the server's user data folder (the folder passed with --user-data-path). It is a JSON list. The server adds itself to it on first start. Add yourself:
[
{
"hash": "the-server-hash-already-here",
"name": "Server",
"groupId": 0
},
{
"hash": "paste-your-40-character-hash-here",
"name": "YourName",
"groupId": 0
}
]
Watch the commas: every entry except the last needs one after its closing brace. A broken users.json is ignored, which looks like the change "did nothing".
Strictly, the server reloads users.json whenever a player connects, so this also works without stopping it, as long as nothing saves over your edit at the same moment. Stopping first is the safe habit.
Step 3: Rejoin
Start the server and connect. Open the Multiplayer window from the toolbar and look at the Players tab: your name now shows in the Admin group. Admins also skip the server password.

Step 4: Let your friends build
You have two choices, both in the Multiplayer window:
- Change the default group. On the Groups tab, set the default group to User. Everyone who joins from now on can build. Good for a private, passworded server.
- Promote people one by one. On the Players tab, pick a player and set their group to User. Their hash is saved to
users.jsonautomatically, so they keep the group next time. Good for a public server where strangers should watch first.
To make another admin, set their group to Admin the same way. You never need to edit the file again after the first admin exists.
Custom groups and permissions
On the Groups tab you can add groups and tick permissions individually. The permission list, as it appears in groups.json:
| Permission | Allows |
|---|---|
PERMISSION_CHAT |
Chatting |
PERMISSION_TERRAFORM |
Raising and lowering land |
PERMISSION_SET_WATER_LEVEL |
Changing water |
PERMISSION_TOGGLE_PAUSE |
Pausing the game |
PERMISSION_CREATE_RIDE, PERMISSION_BUILD_RIDE |
Placing and building rides |
PERMISSION_REMOVE_RIDE |
Demolishing rides |
PERMISSION_RIDE_PROPERTIES |
Prices, colors, operating modes |
PERMISSION_SCENERY, PERMISSION_PATH |
Scenery and footpaths |
PERMISSION_CLEAR_LANDSCAPE |
Clearing trees and scenery |
PERMISSION_GUEST, PERMISSION_STAFF |
Managing guests and staff |
PERMISSION_PARK_PROPERTIES, PERMISSION_PARK_FUNDING |
Park name, entry fee, loans and marketing |
PERMISSION_KICK_PLAYER |
Kicking |
PERMISSION_MODIFY_GROUPS, PERMISSION_SET_PLAYER_GROUP |
Managing groups |
PERMISSION_CHEAT |
The cheats window |
PERMISSION_MODIFY_TILE |
The tile inspector |
PERMISSION_PASSWORDLESS_LOGIN |
Joining without the password |
A popular setup for a public server is a Builder group with everything except demolishing rides, park funding and cheats, so newcomers can help without bulldozing someone's coaster or taking out the maximum loan.

A whitelist from users.json
With known_keys_only = true under [network] in config.ini, only players already listed in users.json can join. Everyone else sees This server only allows whitelisted players to connect. Promote your group to User first, so their hashes are saved, then turn it on.
Admin on GamezServers
On a GamezServers OpenRCT2 server, users.json and groups.json sit in the server's ServerData folder in the file manager, so steps 2 and 3 take a minute in the browser. Stop the server from the panel, edit, save and start it again, and use the one click backup before experimenting with groups. For the rest of the setup, see how to host an OpenRCT2 server, and if friends are refused at the door, OpenRCT2 version mismatch and desync fixes.
FAQ
How do I find my OpenRCT2 key hash?
It is in the filename of the .pubkey file in your OpenRCT2 keys folder, after your name and the dash.
Why can my friends not build on my OpenRCT2 server?
New players join the Spectator group, which can only chat. Set the default group to User on the Groups tab, or promote them on the Players tab.
Do I need to restart the server after editing users.json?
No, the server reloads it when a player connects. Stopping the server before editing is still the safest way.
Can I get admin back if I reinstalled OpenRCT2?
Only if you kept your keys folder. A new install makes a new key with a new hash, so add the new hash to users.json the same way.
Skip the setup. Your own OpenRCT2 server.
Then $4.99/mo. Just trying it? $1.25 for 3 days