Install the RookHelm plugin
This guide walks you through connecting a Source 1 game server to RookHelm. The fastest path is the plugin bundle from your dashboard: one download, drop it in, restart, and adopt the server with one click. No config editing.
Supported games
Section titled “Supported games”| Game | Engine | Status |
|---|---|---|
| Team Fortress 2 | Source | Supported |
| Counter-Strike: Source | Source | Supported |
| Garry’s Mod | Source | Supported |
| Left 4 Dead 2 | Source | Supported |
| Counter-Strike 2 | Source 2 | Not yet supported |
Before you start
Section titled “Before you start”You need:
- SourceMod 1.12 or 1.13 installed at
addons/sourcemod/. - Access to your game server’s files (FTP, SSH, or your host’s file manager).
- An admin seat in a RookHelm community. Sign in at your dashboard and open Servers.
You do not need to install REST in Pawn or any other extension separately - the RookHelm extension is included in the bundle. You also do not copy any per-server credentials by hand; the server receives its key automatically when you adopt it.
Step 1 - Download the plugin bundle
Section titled “Step 1 - Download the plugin bundle”On the Servers page, click Download plugin bundle. This gives you
rookhelm-sourcemod-<community>.zip, which contains:
- The RookHelm SourceMod extension and its companion plugin.
cfg/sourcemod/rookhelm.cfg, already filled in with your community’s two settings (rookhelm_api_urlandrookhelm_enrollment_token).README.txtand the license texts.
The enrollment token is the same for every server in your community, so the same bundle works on your whole fleet. Re-downloading is safe - it does not rotate your token.
Step 2 - Drop it in and restart
Section titled “Step 2 - Drop it in and restart”Extract the zip into your game’s mod directory so its addons/ and cfg/
folders merge with your existing install:
unzip rookhelm-sourcemod-*.zip -d /path/to/srcds/Then restart the server. On boot the plugin loads the bundled
cfg/sourcemod/rookhelm.cfg automatically, reads the two settings, opens a
connection to RookHelm, and announces itself.
Step 3 - Adopt the server
Section titled “Step 3 - Adopt the server”Back on the Servers page, the server appears under Pending servers within about a minute, showing its self-reported name and address. Click Adopt. Adopting mints the server’s signing key and delivers it to the server automatically - there is nothing to copy.
Every server, including the first one in a brand-new community, waits for one explicit adopt click. This is deliberate: a server is powerless until you confirm it is yours.
What success looks like
Section titled “What success looks like”Once adopted, the server’s status turns to Online as its first heartbeat lands, usually within a few seconds. Bans, mutes, and player counts start flowing to your dashboard from that point on.
If you triggered the download from the dashboard, the install card on the Servers page advances on its own - from the install steps, to “Server detected” when the pending row appears, to “Heartbeat received. Plugin installed” once the adopted server reports in.
Verify the download (optional)
Section titled “Verify the download (optional)”Every release ships a SHA256SUMS file. To confirm the bundle transferred
intact:
sha256sum -c SHA256SUMS# Expected: "rookhelm-sourcemod-v<version>.zip: OK"The published binaries are produced by the RookHelm release pipeline. The
extension combines GPL-3.0 and proprietary code; NOTICE.txt inside the bundle
explains how to request the source for the GPL-3.0 portion.
Configure manually (advanced)
Section titled “Configure manually (advanced)”If you manage configs yourself instead of using the bundle, you only need two
settings. Copy both from the Servers page and add them to a config the
server runs at startup, such as cfg/server.cfg:
rookhelm_api_url "https://api.rookhelm.com"rookhelm_enrollment_token "your-community-enrollment-token"Restart the server (or change the map) so the plugin reads them, then adopt the
server as in Step 3. Values you set this way are safe: the plugin only
auto-loads cfg/sourcemod/rookhelm.cfg if that file is present (it ships only in
the dashboard bundle), so a manual server.cfg setup is never overwritten.
| ConVar | Description |
|---|---|
rookhelm_api_url | Base URL of the RookHelm connect endpoint. The dashboard bundle pre-fills this. |
rookhelm_enrollment_token | Your community enrollment token - one value, the same on every server, pasted once. The dashboard bundle pre-fills this. |
Both ConVars are FCVAR_PROTECTED, so their values stay hidden from cvarlist
and cannot be read from chat. The per-server signing key is never a ConVar - the
server receives and stores it itself when you adopt it.
Rotating credentials
Section titled “Rotating credentials”- Enrollment token: rotate it from the dashboard if it leaks. Already-adopted servers keep working - their per-server key is independent of the enrollment token. Servers that have not yet adopted will need a fresh bundle.
- A server’s signing key: if a server’s key is lost or compromised, use Reissue keys on the server’s page. The new key is delivered to the server on its next reconnect; you never copy it by hand.
Need more help?
Section titled “Need more help?”If a server does not appear as pending after a restart, or does not come online after adopting, see Troubleshooting.