Skip to content

Troubleshooting

Log line: [SM] Unable to load plugin "rookhelm.smx"

Check that:

  • SourceMod 1.12 (stable) is installed at addons/sourcemod/. Older versions are not supported, and SourceMod 1.13 is not yet supported either - see The extension fails to load with a version error below.
  • You extracted the whole bundle so its addons/ folder merged with your SourceMod install - the extension (addons/sourcemod/extensions/rookhelm.ext.so) and the companion plugin (addons/sourcemod/plugins/rookhelm.smx) must both be present.
  • The files are not corrupted. Re-download the bundle from your dashboard and verify it against SHA256SUMS.

The extension fails to load with a version error

Section titled “The extension fails to load with a version error”

Log line: <FAILED> file "rookhelm.ext.so": Extension version is too old to load (8, max is 9) (or ... too new to load).

This means your SourceMod build and the RookHelm extension were built against incompatible extension ABI versions. SourceMod only loads an extension whose reported version falls inside the range the running build accepts, and SourceMod 1.13 changed that ABI - an extension built for 1.12 reports an older version than 1.13 will accept (too old), and vice versa (too new). Metamod:Source is not involved; this is purely the SourceMod extension loader.

RookHelm currently ships one extension, built for SourceMod 1.12 (stable). To fix it:

  • Run the stable 1.12 branch of SourceMod (and Metamod:Source). The dev/master builds are 1.13 and will reject the current extension.
  • If you are intentionally testing on 1.13, there is no workaround yet - a single extension binary cannot satisfy both 1.12 and 1.13, so a 1.13 build has to be published separately. It is on the roadmap.

When the extension fails to load, the companion plugin (rookhelm.smx) cannot load either - it requires the extension - so the server never connects and stays Never connected on your dashboard. Fixing the SourceMod version resolves both.

Server does not appear as pending after a restart

Section titled “Server does not appear as pending after a restart”

After you drop the bundle in and restart, the server should show under Pending servers on your dashboard within about a minute. If it does not:

  1. Confirm the two settings are present. If you used the dashboard bundle they are already filled in cfg/sourcemod/rookhelm.cfg, which the plugin loads automatically; if you configured manually, check rookhelm_api_url and rookhelm_enrollment_token are both set and non-empty in server.cfg.
  2. Confirm the values match your Servers page. Re-downloading the bundle is the simplest way to get a correct, pre-filled config.
  3. Confirm the server can reach RookHelm. The server opens an outbound secure WebSocket to rookhelm_api_url; a firewall that blocks outbound 443 will stop enrollment. Most hosts allow this by default.
  4. Check the server log around startup for a RookHelm line describing why the connection was refused (for example, an unknown enrollment token).

If the token was rotated from the dashboard, an old bundle’s token no longer works - download a fresh bundle.

The server is pending but will not come online

Section titled “The server is pending but will not come online”

A pending server has announced itself but is not yet trusted. Open the Servers page and click Adopt on its card. Only admins and owners can adopt. Adopting delivers the server’s signing key automatically - there is nothing to copy.

The name and address on a pending card are self-reported by the server and are not verified until you adopt, so confirm the address matches the server you expect before adopting.

What you see: the server was online, and now its status is offline (no heartbeat for more than two minutes).

The server reconnects on its own and re-proves its key after a restart, map change, or network blip, so a brief offline blip usually clears itself. If it stays offline:

  • Confirm the game server process is running and reachable.
  • Confirm outbound 443 is still open (see above).
  • If the server’s signing key was lost or the box was rebuilt, open the server’s page and use Reissue keys. The new key reaches the server on its next reconnect - you never copy it by hand.