Warp detection

Status
Not open for further replies.
Code:
PLUGIN_API BOOL OnSendPacket(DWORD Type, PVOID Packet, DWORD Size)

As you can see it uses OnSendPacket code, which is not in MQ2 basic source. I had to add it myself in the MQ2EmulatorLib. I provided a link in my last post, but you can also look in the Everquest Server Emulator forums and it should be close to the top (just posted it today.) Just make sure you make a new plugin called MQ2EmulatorLib with that source code and it must be loaded in game for MQ2EmuWarpSafety to work correctly.

Let me know if you have any more problems..
 
Here, this is in my old EQEmu MQ2 Binary. I may have renamed the DLL and this is the one that doesn't work, so go ahead and test it out for me. I'm pretty sure it will work, it will either work or crash on load.
 

Attachments

  • MQ2EmulatorLib.rar
    12.1 KB · Views: 8
I got the lib file from your other post and compiled it, but seperatly as I can't get the MQ2main to compile due to error in EQClasses. I loaded both and it said it was enabled, but it not preventing detection. I'll try your dll next.

Do you have the warp detect file compiled as well that I could try?

Update:Lib loads but when I load warpsafety, I don't get the enabled message and still not working.
 
That is the lib file I posted, I just didn't post the detection. I actually just made that up on the spot, so I have never even compiled it and don't even have it saved. Everyone is always saying they detect warp by checking for a massive change in the DeltaX, Y, and Z so I made that plugin to reverse the effects. I may need to set something up on the move tracking packet, or set something similar to EQ Live detection on it.

Nothing is guaranteed to work, but I can do my best. The problem is even though EQ Live has better coders (as hard as that is to believe) they are dealing with a MASSSSSSSSIVE server, 500x larger than EQ Emulator's at least. They have a ton more stuff hard coded, and a lot of it is really hard to change without making huge, drastic changes to the rest of the code. Not to mention EQ Live devs have to really focus on making sure nothing goes wrong, not ONE accidental ban because people pay.

EQEmulator on the other hand has a smaller and more managable source code. They can add detection methods and more code, and edit their existing code, with little to no risk of messing up the structure of the server. On top of that it's a tight-knit community and if you get accidentally banned they actually have the time, unlike EQ Live devs, to investigate it.

Because of those facts, I'm sure EQEmu has a much more effective method of detection. Their method may be 100% impossible to crack, which I wouldn't doubt at all. I can continue to post my warp detection detour plugins, but don't give your hopes up because nothing is guaranteed.

Whew, long post..
 
No problem... When I unloaded the warpsafety and reloaded it, I got the enabled message but still no go.. I just like to test things, so don't worry about it if you don't have time to fool with it...
 
Try lowering it from 10 and -10 detection to 5 and -5 to see if that works. I doubt it would be as low as 5, but who know.
 
While you're at it change Move opcode from 14CB to 7062, I believe MovePkt is 14CB but that may be MoveTrk and I got it backwards.
 
Here is what the warp detection is looking for in distance:

Code:
	//this makes the warp detector more lax on small warps, but still drops the hammer on the big ones.
		if (distance>140.0f) {
			last_distance = (distance-140.0f);
			warp_threshold -= last_distance;
			last_warp_distance = last_distance;
		}
	   return (warp_threshold < 0); //Null:  If the threshold is met, hit them with the hammer

I'll try changing the opcode..

Didn't correct it..
 
Alright this plugin has the detection method live uses (which is why I can't source code it) as well as some other warp detection methods I've added myself. I really won't know what else to do if this doesn't work, but go ahead and try it. I added OnSendPacket and OnGetPacket to this plugins header file so you don't need MQ2EmulatorLib to use this one.

Also, I'm not 100% sure this move segmentation structure is correct, so if anyone does have the right one then reply and I'll update plugin if mine was wrong. I added speed safety as well in case that is being tracked now. Also added some other stuff that I don't even know will do anything, anything that I thought could make a difference I added.

Soooo if this doesn't work it's either because I have the wrong movement segmentation structure or this most likely can't be beaten. There are 5 detection safety methods in there, let me know if it works.
 

Attachments

  • MQ2EmuWarpSafety.rar
    33.6 KB · Views: 13
Last edited:
Warp is still detected on the Emulator. Thanks for trying.
 
Ouch.. working on a plugin called MQ2OffsetUpdater right now, pretty self explanatory. When I'm done that, if I get time, I'll try some more on getting around this. I definitely like a challenge, especially because there's not much to do on MQ2 anymore.
 
EQEMU Warp Detection > eq live

EQEMU checks distance moved (serverside over x amount of time)
example: hops > 100 dist in 5 seconds = impossible

EQEMU's server knows where your player is at all times (this is also true on live servers) they don't rely on the client to tell them that you moved x amount of distance....
 
Status
Not open for further replies.