This module is an implementation of the net_chan_limit_msec convar that is available on CSGO and TF2 servers.
This module allows you to limit the amount of processing time a player can use for networking effectively killing all flooding exploits. It works by detouring the ProcessMessages function that handles all networking.
This module is also designed to be as simplified as possible to insure that it is optimized.
Place the DLL in lua/bin.
Create an file in lua/autorun/server that runs require("netlimiter")
and define net_chan_limit_msec 100
in your server.cfg. You can change the limit to what suites your server best.
To compile this project you will need garrysmod_common.
Asriel: Helped me get the detour working and with implementing the ratelimiting itself. Was good fun creating this module.
Daniel: He is the creator of garrysmod_common which makes it easier for developers to create modules for Garry's Mod and also created a module called sourcenet(My favourite module) that gave a good insight into source engine networking.