The client-side message is short and unhelpful: the player tries to connect and is dropped with
STEAM validation rejected
It means the server asked Steam to validate the connecting client's ticket and the answer came back no. There are a handful of distinct causes hiding behind that one line, and the fix depends entirely on whether you intend to accept non-Steam clients. Work through them in order.
1. Decide the server's identity policy first
Everything branches here. If your server is Steam-only, "validation rejected" for a non-Steam client is correct behaviour — the fix is to accept non-Steam clients, or to tell that player to use Steam. If your server is meant to accept non-Steam, the rejection means your connection-layer plugin is not doing its job. Know which case you are in before changing anything.
2. Non-Steam server: is Reunion/dproto actually loaded?
On a server that should accept non-Steam players, this error almost always means Reunion (or dproto) is not loading. Check:
meta list
Reunion must be RUN. If it is absent, the usual reason is a SteamIdHashSalt shorter than 16 characters — Reunion silently refuses to start. Fix the salt in reunion.cfg and restart:
SteamIdHashSalt = at_least_sixteen_characters_here
Also confirm the plugins.ini line points at the correct .so/.dll for your platform and sits above AMXX.
3. The 25th Anniversary update fallout
The 2023 25th Anniversary update changed client/server networking and broke a wave of old servers and emulator clients. Two things to check:
- If legitimate Steam clients suddenly cannot validate against a previously-fine server, your engine/game binaries are likely too old for the current protocol. Update to a current ReHLDS / ReGameDLL build.
- Some players fix their side by rolling back to the
steam_legacybeta branch. That is a client-side workaround, not a server fix — but it explains why "some players connect and some don't".
4. Steam backend / ticket issues
Validation talks to Valve's Steam servers. If Steam is having an outage, or the server host cannot reach the Steam auth servers, validation fails for everyone at once. Confirm the box has outbound connectivity and that a firewall is not blocking the server's outbound Steam traffic. A server that validated fine yesterday and rejects everyone today, with no config change, is usually this or a Steam-side hiccup — check whether it clears on its own before rebuilding anything.
5. secure / VAC and -insecure mismatch
Confirm you are not fighting your own launch flags. If you run non-Steam clients, the connection plugin handles validation; a leftover secure-mode assumption plus a half-configured emulator layer produces exactly this rejection. Make sure Reunion's providers are configured for the client types you actually want, and that you have not layered contradictory settings.
Common variants of the message
STEAM validation rejected— the general case above.No Steam logon/Client sent 'connect' ... rejectedin the server log — same family; the client's ticket was not accepted.- Only some players rejected — mixed client types (Steam vs non-Steam) against a server configured for only one. Set your provider policy in
reunion.cfg. - Everyone rejected after an update — protocol/version mismatch from the Anniversary update; update server binaries.
Verification
After the fix, prove both client types behave as you intend. On a non-Steam-friendly server:
meta list // Reunion RUN status // connected player shows a STEAM_ id, not rejected
Connect once with a real Steam client and once with a non-Steam client. Both should reach a spawn on a server configured for both; a Steam-only server should accept the Steam client and cleanly reject the other. Reconnect the non-Steam player and confirm the same STEAM_ id — a stable id proves Reunion is authenticating rather than the client sneaking past. If validation now matches your policy for every client type, the issue is resolved. If non-Steam is your goal and it still fails, revisit the non-Steam setup from the top.
Isolate it in two minutes
Before you change configs, narrow the problem with one question: does it reject everyone or some clients? The answer points straight at the cause.
| Symptom | Most likely cause |
|---|---|
| Only non-Steam clients rejected | Reunion/dproto not loaded, or providers not set for non-Steam |
| Only Steam clients rejected | Providers set for non-Steam only, or secure-mode conflict |
| Everyone rejected, no config change | Steam backend outage, or server lost outbound connectivity |
| Everyone rejected after an update | Protocol mismatch from the 25th Anniversary update — update binaries |
| Worked, then broke after editing reunion.cfg | Salt shorter than 16 chars — Reunion silently unloaded |
The last row catches an enormous share of "it worked yesterday" reports: someone shortened or blanked the salt while tidying the config, Reunion quietly refused to start, and every non-Steam client began failing validation. Whenever this error appears right after a config edit, check meta list for Reunion before anything else — a plugin that is silently gone looks exactly like a validation bug.









