Jump to content

Warden - The definitive anti-cheat system


Recommended Posts

  • Replies 286
  • Created
  • Last Reply

Top Posters In This Topic

It has been made as a separate daemon just because it can only be win32 code in order to load the win32 modules which are dll without header.

Now we know that these modules runs on Wine, and these modules detect that they run on Wine. This should not affect the way they compute the keys, so this warden daemon most probably works fine in Wine.

Link to comment
Share on other sites

Note: Reconnection from mangosd in case wardend crashes is not yet implemented

this is only one thing that stopping us from using it at populated servers :(

so let me understand...

no more speed hack, climb hack, fly hack, teleport hack, dupe item hack, etc?

I have cheat which not detected by warden.

anyway it's better to have wow-emu hack protection because any noob can download it and use... sometimes they just use Track function from cheat that can't be detected from server-side

Link to comment
Share on other sites

bool WardenSvcHandler::_HandleRegisterRep()
{
...
   WorldSession* session = sWorld.FindSession(accountId);
   if (moduleLen == 0)
   {
       session->GetWardenTimer().SetInterval(5*IN_MILLISECONDS);
       session->GetWardenTimer().Reset(); // We will retry in 5 seconds
       return true;
   }
   else if (moduleLen == 0xFFFFFFFF)
   {
       session->SetWardenStatus(WARD_STATUS_USER_DISABLED);
       DEBUG_LOG("Disabling warden for account %u since not Windows platform", accountId);
       return true;
   }
...
}

session can be NULL here.

Link to comment
Share on other sites

In this case, some clients can be kicked because of some problems to synchronize between mangosd and wardend

This is because data stream encryption is desynchronized. You have to do both encryption and checks in either wardend or mangosd to fix this.

Also

The easiest way to fix this problem will be move all cheat checking code from wardend to mangosd, and use wardend only to get encryption keys... It will also reduce useless network traffic between wardend<>mangosd and make it faster overall.

will eliminate desync problem.

Link to comment
Share on other sites

The easiest way to fix this problem will be move all cheat checking code from wardend to mangosd, and use wardend only to get encryption keys... It will also reduce useless network traffic between wardend<>mangosd and make it faster overall.

will eliminate desync problem.

While I don't see any reason for wardend to crash with current code, so this case of reconnection would be rare, I agree on this. The more I code, the more I see it would be simpler to move near all code to mangosd and let only the keys/seed generation in wardend.

Give me a couple of days to make this. Btw I don't think we can say it's a big traffic, no packet reach the 1KB size currently.

Link to comment
Share on other sites

Btw I don't think we can say it's a big traffic, no packet reach the 1KB size currently.

Actually warden packets can't be bigger then 512 or 1024 bytes length (warden module has two fixed size internal buffers 512 bytes length both where it stores strings and warden data).

Link to comment
Share on other sites

can you upload "wardend.ico" not in GIT format? when i'm patching my sources i just doesn't create this file,

so i result i getting this :S

1>..\\..\\src\\wardend\\wardend.rc(19) : error RC2135 : file not found: wardend.ico

tried to resolve it by renaming copy of mangosd.ico to wardend.ico xD

using MSVC 2008 Express and my VC also won't open wardendVC90.sln by clicking on it (just nothing happened when i trying to open it).

I was did a trick - open VS and then use drag-and-drop method with wardendVC90.sln moving to VC screen xD

So for now i compiles fine

========== Build: 2 succeeded, 0 failed, 6 up-to-date, 0 skipped ==========

edit...

tested with WEH and seems it doesn't detects it. and i seems i know why...

2011-03-30 04:55:21 Starting Warden system...

2011-03-30 04:55:22 ERROR:Warden Daemon is not reachable, disabling this function

but both process are running. What can be wrong?

edit again...

ok, it happened because i've started mangos and then warden, if i start wanden and then mangos all is ok Oo

are you sure that it's really tries to reconnect?

Link to comment
Share on other sites

If WPE is on the same system, you may be able to use a driver check. If it isn't, it's impossible to detect client-side.

Your server will never and can never be completely immune to packet hacking. The only way to secure it is to properly check all packets from the client.

Link to comment
Share on other sites

if no feedback at the forum then someone will start thinking that's all is ok and will try to use this anticheat at populated server, better to warn them about existing of cheat types that aren't detected before they do any questions like "wtf this anticheat isn't working - i have cheaters anyway". I just doesn't said how to find these cheats for public because it will produce more cheaters :S

PS: yes i have big troubles with english xD hope you understand anything

Link to comment
Share on other sites

Hello all,

For the moment, I focus only on the patch, not on the db content.

The next version of the patch will be different: warden tables in world db, no db connection needed for wardend, nor any warden module folder. Only mangosd will need these data, then wardend is used only to run the modules, that's it. Moreover the wardend will be able to support more than one mangosd at the same time. Also reconnection will be better working. Let me finish and test the patch, then I will release it (before the end of the week I think).

Then after, I will focus on the content data. Given content is just a sample data to show what it needs and how it works. When we will start to put real detections, we will most probably truncate the tables and drop the current sample data which more or less is random test without any real detection in mind.

Neo2003

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • 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