25.04.2013, 18:32
Hello guys!
I want to start a community-based anticheat. I've been brainstorming for the past days on the structure of the anticheat and I came with two ideas:
1. Part of the gamemode (a library that must be included in the gamemode).
The anticheat is being injected directly into the gamemode, where it hooks callbacks and natives. There will be a include file available for other scripts (filterscripts) that alter data used by the anticheat to determine if a player is or isn't cheating. Practically, every (important) native call from a script is redirected to the gamemode.
Pros:
The anticheat is a standalone filterscript. There will be a include file available for other scripts (gamemode and filterscripts) that alter data handled by the anticheat. Practically, every (important) native call from a script is redirected to the Anticheat filterscript.
Pros:
Feel free to correct me and submit your suggestion!
Thank you!
I want to start a community-based anticheat. I've been brainstorming for the past days on the structure of the anticheat and I came with two ideas:
1. Part of the gamemode (a library that must be included in the gamemode).
The anticheat is being injected directly into the gamemode, where it hooks callbacks and natives. There will be a include file available for other scripts (filterscripts) that alter data used by the anticheat to determine if a player is or isn't cheating. Practically, every (important) native call from a script is redirected to the gamemode.
Pros:
- since more than 50% of the game is based on the gamemode, this should be faster as a big part of the game is handled locally
- the load of the gamemode increases
- callbacks require hooking (it gets messy)
The anticheat is a standalone filterscript. There will be a include file available for other scripts (gamemode and filterscripts) that alter data handled by the anticheat. Practically, every (important) native call from a script is redirected to the Anticheat filterscript.
Pros:
- can be easily reloaded while the gameserver is online
- it's better organized
- no callback hooks, but native hooks must access remote data
Feel free to correct me and submit your suggestion!
Thank you!