Set Up SentinelID on Your Server
The SentinelID sidecar is a lightweight Python service that runs alongside your game server. It verifies player devices and manages the server whitelist via RCON.
Prerequisites
SentinelID publisher account
Register at the dashboard to get your Publisher ID and API key.
Go to DashboardPython 3.10+
The sidecar runs as a Python process alongside your game server.
Oxide/uMod installed
The SentinelID plugin runs on Oxide and handles player verification and enforcement.
Download OxideRCON enabled
WebSocket RCON is used for ban enforcement (kick commands). Enabled by default in Rust.
Rust Setup
Rust uses the sidecar for whitelist management plus an optional Oxide/uMod plugin for in-game commands.
- 1
Download the sidecar
Download the Rust sidecar package and extract it to your server.
Download Rust Sidecar - 2
Download the Oxide plugin (optional)
If you use Oxide/uMod, download the plugin for in-game chat commands (
Download SentinelID.cs/sid,/sid ban, etc.).Copy to
oxide/plugins/SentinelID.cson your server. - 3
Configure config.toml
Edit
config.tomlwith your SentinelID credentials, RCON settings, and admin API key. See the config reference below. - 4
Start Rust with Oxide + RCON
Your Rust server startup must include RCON settings:
+rcon.port 28016 +rcon.password "YOUR_PASSWORD"The SentinelID Oxide plugin handles whitelist enforcement — it kicks unverified players after a configurable grace period. No
+server.whitelistneeded. - 5
Install dependencies and run
pip install aiohttp httpx websocketspython sidecar.py - 6
Open firewall ports
Players and the admin panel need to reach the sidecar:
- Port
7999TCP — sidecar (companion + admin panel) - Port
28015UDP — Rust game traffic - Port
28016TCP — RCON (keep local-only unless needed) - Port
28017UDP — Steam query
- Port
- 7
Set up the admin panel
Download the Admin Panel (single HTML file). Open it in any browser, enter your sidecar URL and admin API key, and you can view connected players, ban devices, and look up Steam IDs from anywhere.
- 8
Verify
Check the sidecar is running:
http://YOUR_SERVER_IP:7999/statusshould return{"status":"ok"}.
Config reference
All parameters in config.toml.
| Parameter | Description | Example |
|---|---|---|
| sentinel_api_key | Your API key from the SentinelID dashboard | sni_live_... |
| sentinel_publisher_id | Your publisher ID | pub_xxx |
| sentinel_game_id | The game ID you registered | game_xxx |
| rcon_host | RCON host (usually localhost) | 127.0.0.1 |
| rcon_port | RCON port | 28016 |
| rcon_password | Your server's RCON password | — |
| auth_ttl_seconds | How long a player stays whitelisted before needing to re-authenticate | 3600 |
| listen_port | Port the sidecar listens on for companion connections | 7999 |
| mode | "enforcing" (manages whitelist) or "permissive" (log-only) | enforcing |
| admin_api_key | Secret key for remote admin access (ban/unban/players). Required for the admin panel. | your-strong-random-key |
| auth_store_path | File path for persisting auth state across sidecar restarts | auth_store.json |
Troubleshooting
Companion can't connect to sidecar
Ensure port 7999 (or your configured port) is open in your firewall and forwarded if behind NAT.
RCON connection refused
Check that RCON is enabled on your server. For Rust: +rcon.port 28016 +rcon.password "pass" +rcon.web 0
SentinelID API returns 401
Your API key is invalid or expired. Generate a new one from the dashboard.
Players can join without authenticating
Make sure the server whitelist is enabled. Rust: server.whitelist true. SCUM: enable in ServerSettings.ini.
Whitelist changes not persisting (Rust)
The sidecar runs server.writecfg after each change. If that's failing, check RCON permissions.
Register your server
Once your sidecar is running, submit your server details below. After review, your server will appear in the companion app so players can find and authenticate with it.