Reunion is the modern non-Steam authentication provider for CS 1.6, maintained alongside ReHLDS. It replaces the ancient dproto/revEmu approach and lets a single server accept genuine Steam clients and non-Steam clients at the same time, handing every player a stable, unique SteamID that AMX Mod X admin flags and stats plugins can rely on. It runs as a Metamod plugin and it expects ReHLDS underneath — on stock Valve HLDS it will either refuse to load or misbehave, because it hooks engine functions that only ReHLDS exposes cleanly.
1. Confirm the prerequisites
You need ReHLDS running and Metamod (use Metamod-r) already loading. Verify both before touching Reunion:
rehlds_version meta list
If rehlds_version is Unknown command, stop and install ReHLDS first — Reunion on plain HLDS is a dead end.
2. Place the Reunion files
Download the current Reunion release archive from the project's GitHub releases page. It contains the Metamod plugin and a sample config. On Linux the layout is:
cstrike/addons/reunion/reunion_mm_i386.so cstrike/reunion.cfg
Copy the .so into cstrike/addons/reunion/ and reunion.cfg into cstrike/. On Windows the module is reunion_mm.dll in the same addons/reunion/ folder.
3. Load Reunion before AMXX in Metamod
Edit cstrike/addons/metamod/plugins.ini and add Reunion as the first plugin, above AMX Mod X:
linux addons/reunion/reunion_mm_i386.so linux addons/amxmodx/dlls/amxmodx_mm_i386.so
Order matters. Reunion has to establish each player's real authid during the connection handshake, before AMXX reads it. If AMXX loads first, admins recognised by SteamID can intermittently lose their flags. On Windows the lines start with win32 and reference the .dll files.
4. Set a SteamIdHashSalt (this is the step people skip)
Open cstrike/reunion.cfg. The one value you must set is the salt Reunion uses to derive SteamIDs for non-Steam players:
SteamIdHashSalt = a9F2kQ7pLm3xZ0Vb
The salt must be at least 16 characters. If it is shorter — or left at a placeholder — Reunion refuses to load and prints a startup error to that effect, and the server continues without non-Steam support. Pick a long random string and then never change it: the salt is the seed for every generated SteamID, so changing it later re-rolls every non-Steam player's identity, wiping their admin access, stats, and VIP status in one restart.
The rest of reunion.cfg configures which auth providers (Steam, revEmu, Steam-legacy emulators, etc.) are accepted and how their IDs are converted. The shipped file is commented — read it rather than pasting a provider list from a forum, because the accepted keys change between versions.
5. Start and verify
./hlds_run -game cstrike +map de_dust2 +maxplayers 20 +sv_lan 0
In the console:
meta list
Reunion must appear as RUN. Then connect once with a Steam client and once with a non-Steam client and check the authids:
status
Steam players show a normal STEAM_0:x:xxxxxx. Non-Steam players also show a STEAM_ id — that is Reunion generating one from your salt, which is exactly what you want. If non-Steam players still show VALVE_ID_LAN or HLTV-style ids, Reunion did not take effect.
Common errors
- Reunion is
bad loadinmeta list— usually the salt is missing or under 16 characters. FixSteamIdHashSaltand restart. It can also mean a 64-bit or wrong-platform module; confirm withfile cstrike/addons/reunion/reunion_mm_i386.sothat it is ELF 32-bit, Intel 80386. - Non-Steam players cannot connect at all — you are on stock HLDS, not ReHLDS. Reunion needs ReHLDS.
- Admins randomly lose flags — Reunion is loaded after AMXX in
plugins.ini. Move it to the top. - Everyone's admin/stats reset after an edit — you changed
SteamIdHashSalt. Restore the original salt; the generated IDs depend entirely on it.
A note on dproto
If you are on original Valve HLDS rather than ReHLDS, Reunion is not your tool — dproto is the equivalent for that engine. But the right long-term move is to switch to ReHLDS and use Reunion; the two are developed together, and Reunion is far better behaved with modern AMXX. See installing ReHLDS and then AMX Mod X 1.9.
Verification checklist
meta listshows Reunion asRUN, above AMXX.- A non-Steam client connects and gets a
STEAM_authid. - The same non-Steam player keeps that id across reconnects and map changes.
- Your admin config (by SteamID) still works for both Steam and non-Steam admins.
Once all four hold, both audiences share one server with one identity system — which is the whole point of Reunion.









