Jump to content
  • Status update on Warden Anti-Cheat needed


    madmax
    • Status: awaitingdevreply
      Main Category: Core / Mangos Daemon
      Sub-Category: Unknown
      Version: 0.20 Milestone: 20 Priority: Normal
      Implemented Version: 0.20

    Status update on Warden Anti-Cheat needed

    Hey,

    Posting this task to get a written status update on Warden Anti-Cheat. We need to know what hass been done and what is still to be done/implemented.


    User Feedback

    Recommended Comments

    As of the moment we are going by the console version of Warden - [url]https://github.com/mangoszero/server/tree/Rel19Warden[/url] First off this needs testing as i barely have any time to do so. If i can get some testers to report back information and logs i could possibly began looking into it a bit more.

    Link to comment
    Share on other sites

    That would be excellent if you could! I need to know if it actually works or not.. just compile it like normal and install what ever is needed and report back how its all running with screen shots and what not ;)

    Link to comment
    Share on other sites

    Yeah, Warden will most likely not be getting a port over to unix for awhile, unless some one wants to step up and do that.. but there is a lot of work to do with it still regarding modules to get it to actually read signatures on the 1.12 client. On top of that there is not a hole lot of signatures available.. a few memory and dll modules are available (Like teleport, infinite jumping and like 10 more)

    However if we where able to actually get warden fully working (If that ever happens) i would spend a lot of my time and research into implementing hundreds (Possibly thousands) of static malware, viruses, keyloggers and rogue drivers and ect. But warden needs to be fully working before that happens ;)

    Link to comment
    Share on other sites

    In theory, you should be able to by setting the bind ip.. but that's never been tested and last time i checked it did not compile on unix. If you did by chance fix the compile errors and get the world and auth them self to run under unix and had the daemon under windows, users could experience lag, modules not being sent on time (Results with a kick after 10 minutes due to module failure) or everything could just explode.

    Link to comment
    Share on other sites

    That does not sound like something I wanna do then. Don't want my machines to explode! :D
    Maybe someone else is using Windows as a host and could test this. I could assist that guy if his server is puplic with joining and cheating a lot and see if something happens. :)

    Link to comment
    Share on other sites

    Now in Zero warden, the main problem is that the (client) signatures are present for 5875 version, and some of these will fail for 6005 version. At least, it is the 634 check. Until multi-client support implemented, the check is better to be removed. The question is, should we do it globally in develop21 branch; I suggest no.

    Link to comment
    Share on other sites

    Since the server knows the version of the connected client, one possible solution is to extend the db table to include the target client version.

    Then when it performs it's checks, it can skip the ones not for the current client.

    Link to comment
    Share on other sites

    That sounds reasonable and simple.

    Does how ever make me want to cry a tad bit because now i have to go through the 50+ signatures to apply to other versions lol

    Debugging all of that is going to be a GINORMOUS PITA

    Link to comment
    Share on other sites

    This is not really a feasible option as we want the implementation to be dynamic between different expansions. Hardcoding client versions is the exact thing we want to prevent. We should figure out a dynamic way to handle the client version differences instead.

    Link to comment
    Share on other sites

    ok, my impression was that some signatures had offsets unique to each version of the client - in which case having a client version associated with those checks in the db seems the logical place to have them.

    That way the implementation would remain the same with just the db entries changing

    Link to comment
    Share on other sites



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use