From GMod Wiki
| Go to:|
ScriptEnforcer (usually abbreviated SE) is a built-in system in Garry's Mod to prevent players from running third party scripts in your server. This disallows the use of any scripts that aren't sent to the players by the server with AddCSLuaFile.
Do not enable ScriptEnforcer on a build server!
To enable ScriptEnforcer, add sv_scriptenforcer (1 or 2) to your autoexec config file. This is important because ScriptEnforcer will not work properly unless it is started before the map initializes. You can also enable it afterwords, but you will need to change the map for it to take effect.
If it's working properly you should get a message saying "ScriptEnforcer: We are protected" to your server's console.
Options for sv_scriptenforcer
- 0: disabled
- 1: will kick clients for file inconsistencies
- 2: will kick clients for file inconsistencies and ban temporarily for Lua MD5 inconsistency
- As of GMod Update #59, you no longer need to generate a script manifest file.
- ScriptEnforcer is buggy, and may kick clients the first time they join, usually a retry in console will allow them to join.
- There will always be ways to get around ScriptEnforcer, such as binary modules and memory editors - these are to be handled using VAC, luckily most players don't know how to bypass it.