This is based on the fix originally made by DarKSunrise. The XML parser is from http://lua-users.org/wiki/LuaXml. If you are the original creator of either the original version of this or the XML creator and wish for this to be remove, simply send me a PM.
I have modified DarKSunrise’s anti-serenity and fixed it so it properly works. I use this on my servers, and it seems to be effective. It works via the following methodology:
Step 1) Verify the user has a proper SteamID.
Step 2) Ensure that the SteamID is not a duplicate of another user on your server.
Step 2) Verify the SteamID actually exists.
Step 3) Verify that the SteamID is actually playing Garry’s Mod.
Step 4) Verify that the SteamID is actually in your server.
This is essentially fail-safe and will always catch users of serenity. The only down-side is that all of your users will have to have their profiles set to public and be shown as online on steam friends. This is a small price to pay to ensure that script-kiddies don’t get their hands on an admin account or the like.
When this checks that the player is actually on your server, it compares the subnet of the server that they’re on with your server’s subnet. This is to ensure that the check is accurate if your server is on a dedicated server with multiple IP addresses.
Hopefully this fix will only have to temporary and it will be resolved by VALVe in a timely fashion (lol). The reason I posted this in release is to gain it popularity so it becomes more common, as in the thread dedicated to anti-serenity, it was not getting much attention. To install, simply extract it to your root garrysmod folder.
P.S. rate this dumb if you will, but unless you have a server that is victim to Serenity, you really shouldn’t judge.