In order to channel the development of the Warden Anticheat feature towards a proper implementation i created a branch that contains a port of TOM_RUS patch (direct core integration, no external daemon) from Mangos forums.
To answer the most pressing question right away: Yes, this branch is aiming towards an integration in the main repository.
(If you have the urge to break down another huge and pointless discussion about this - please do it in another thread/on IRC)
And the second question: No, Warden cannot be abused to execute arbitrary code on client side. The only thing that can be done is checking various parameters on client side and have it report back.
As i don’t wanna roam around reading potential abandoned patches/branches of other warden ports, please use this thread/the testing branch to contribute to an official implementation.
If you do have a branch/patch that is still maintained and contains code worth reading, you are free to link it here, but keep in mind that changes for the official implementation should be done on the official testing branch, preferably via pull requests.
Developers that like to contribute preferably contact me on IRC, so we can see that we can push things ahead.
Official testing branch:
https://github.com/leak/TrinityCore
Current state:
A current issue is that clients getting kicked because they exceeded the maximum response delay (default 90sec by config option) on medium sized servers and above.
General TODOs:
[ul][li]Mac client implementation[/li]
[li]Documentation about checks (Targets of checks, False positives, etc.)[/li]
[li]Obtain new checks[/li]
[li]Implement process checking[/li]
[/ul]
Worth reading:
http://getmangos.com…ticheat-system/
Howto use that brach:
Since people still having trouble with branches:
Method 1 - Merging the warden branch into yours:
[CODE]# Change to your local TC clone
cd yourlocalrepo
Add the warden branch as remote
git remote add warden git://github.com/leak/TrinityCore.git
Use these two commands to update/merge the warden branch into your local repo
git fetch warden
git merge warden/warden[/CODE]
Method 2 - Diff out a .patch file
[CODE]# Clone the warden branch into a separate folder
git clone git://github.com/leak/TrinityCore.git warden
Add and fetch the TC main repo as remote branch
cd warden
git remote add trinitycore git://github.com/TrinityCore/TrinityCore.git
git fetch trinitycore
Create a patch that should be applicable on all TC clones
git diff trinitycore/master..warden > warden.patch
[/CODE]