Go to file
2026-01-26 07:54:21 +00:00
.github Bump actions/cache from 4 to 5 (#59) 2025-12-15 01:55:49 +00:00
buildbot actual changes applied 2026-01-26 07:54:21 +00:00
extension actual changes applied 2026-01-26 07:54:21 +00:00
.gitignore Rework the CI to build inside the valve sniper sdk container thing (#56) 2025-11-22 13:48:24 +01:00
AMBuildScript feat: update sdks, builders, ci (#31) 2025-02-22 14:23:43 -05:00
build.bat Initial commit. 2011-07-19 17:07:38 +01:00
configure.py Rework the CI to build inside the valve sniper sdk container thing (#56) 2025-11-22 13:48:24 +01:00
connect2.games.txt actual changes applied 2026-01-26 07:54:21 +00:00
connect.inc actual changes applied 2026-01-26 07:54:21 +00:00
connect.sp Finish updating to newdecls (#9) 2021-10-23 21:51:38 +00:00
product.version Update product.version 2024-05-02 17:59:35 -04:00
README.md Update README.md 2025-05-15 22:54:42 -04:00
upload.py Updated build scipts. 2013-05-04 16:45:51 +01:00

Connect - A safer OnClientPreConnect forward

This extension provides a OnClientPreConnect forward (similar to CBaseServer's), but does proper checking to prevent malicious people spoofing SteamIDs.

If you are currently using CBaseServer for reserved slots, it's possible for a client to spoof an admin's SteamID and cause someone to be kicked from the server (although they would be later denied, so they couldn't actually join the game). This extension does these checks before OnClientPreConnect is fired, so this isn't possible.

There are some additional features such as being able to change the password provided before it's checked (see included example plugin) and the ability to reject the client with a reason (like SourceMod's later OnClientConnect forward).

Only the Source 2009 engine is supported, as it's the only one that's been updated to use the new authentication system.

Provided forwards

public bool OnClientPreConnectEx
(
  const char[] name,
  char password[255],
  const char[] ip,
  const char[] steamID,
  char rejectReason[255]
)
{
    // ...
}

return false; to disallow the client from joining, and change rejectReason to what you want them to be shown when denied.

Note that this function is called before the client has a client index on the server.

Builds