Hey guys I have serached for how to send packet the the server..
Like movements packet like you can control another players movements.
I have tried to change the selected target's GUID into mine but I got DC after a while =/
Hey guys I have serached for how to send packet the the server..
Like movements packet like you can control another players movements.
I have tried to change the selected target's GUID into mine but I got DC after a while =/
Call SendPacket
Also IB4 Trolls and Locks
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - Martin Golding
"I cried a little earlier when I had to poop" - Sku
And when I call the function what I have to do after?
So since this is open anyways i am going to ask this here.
do packets send by sendpacket actually influence clientside movement?so could i make the character move by sending a packet or is it just serverside?
↑ ↑ ↓ ↓ ← → ← → B A - Send Packet
[[You must be inside of a process to easily send packets]]
The only thing that exists is the server state. The client is just a rendering of that state, and an interface to trigger changes to that state. The way that the client triggers those changes is by sending packets indicating the changes. So yes, you could say that sending packets could influence client state; in fact you could do ANYTHING the client does by simply sending packets alone. In fact, you don't even NEED the WoW client; with the right knowledge of the packets and the static game data (maps and so on), you could "play" WoW just by sending and receiving packets. This is called a "headless bot" and there have been a few headless bots around to the best of my knowledge. Don't know if there are any working ones any more.
That all being said, trying to control the game at a deep level via send/receive packets alone is VERY complicated, for a number of reasons. You're FAR better off just injecting into the game like normal.
And to the OP: barring unknown bugs, it's impossible to control other clients through simple packet manipulation. This ain't EverQuest (I remember that bug... fun, fun, fun!)... they've actually taken into count many of the security/griefer issues and fixed them in WoW, and client ID spoofing is EASY to fix (just bind the client to the network endpoint, et voila).
Don't believe everything you think.
I actually don't think that is the case. The way I've seen wow behaving as far as movement goes is more like this:
The client controls ALL movement locally. It determines speed, direction, distance traveled, etc, with minimal or no corrections from the server. The server does indeed have checks to make sure you're not doing something you're not supposed to, but that's about it. Sending blind movement packets from the client WITHOUT updating the character's position and movement state will desync the client from the server (and you won't see what your toon is doing), and you're incredibly likely to disconnect because the server thinks you're teleporting on the next movement event triggered by hardware (not the blind packets.);
I've dabbled with movement packets a lot, they are very sensitive and hugeeeeee pain in the ass to get perfect. (via mentioned headless/clientless bots). I also recommend you just inject and play with your characters movement states directly in memory, and let the internal system deal with sending out packets based on your events, while keeping your client in sync with what the server expects.
Last edited by BoogieManTM; 11-03-2010 at 06:12 PM.
Boogie is correct, movement is completely local, client notifies the server of what you are doing, and server mostly trusts it.
A movement packet is triggered on nearly everything from turning with a keyboard (has 1 packet to start and 1 to stop), turning with mouse (literally spams the server with rotation and/or pitch updates). The client is never not sending updates to the server, because along with this it's also sending heartbeats, which keep things in sync, like moving forward (there would be 1 start, then a bunch of heartbeats to sync the client and server, then finally when you stop, a stop packet is sent).
So, a simple test. Interrupt the flow of only movement packets from the client to the server. Fake the position of your client so that you're right next to a boss that was 500 yards or more away from your old position, and re-enable the flow of packets. Cast a 40 yard-ranged spell on that boss.
Watch as... nothing happensYou're now -- as Boogie points out -- desynchronized, and all hell will break loose (you may in fact get flagged or banned). Meaning that even with movement, there are limits -- the server takes broad hints, but ultimately WoW's reality is what the server decides it is, not what the client decides it is.
And, barring bugs or exploits, you absolutely can't affect OTHER clients' movement/position this way (which is what the OP was asking).
I will stand by my original statement: there IS no reality in WoW, aside from the server state. It's an MMORPG, after all. Everything the client does is just rendering the server's state, and sending hints to the server about how to modify that state. However, the server is ALWAYS free to override the client's hints about state changes, and frequently does.
I know that Boogie knows this, since he's one of the only people I know of who's successfully written a headless bot. But I wasn't sure if the OP knew it, so I wanted to be explicit![]()
Last edited by amadmonk; 11-03-2010 at 08:18 PM.
Don't believe everything you think.
Now that I think about it, there is a way to modify the movement of another character, but they still need to be part of the list of 'possible active mover objects', namely those who are under your spell of mind control or something similar (not aware of any other spells.) I recall being able to switch back and fourth between the mind control victim and attacker at will while the spell was active (unlike what the real client allows you to do), but as soon as the spell wears off you are no longer able to use that object as an active mover. Not very useful, and probably patched by now.
However, emulators are apparently vulnerable to this kind of exploit because they do not maintain a list of 'possible active mover objects' (or they don't do it very well.)
//off tropic
Is Cypher banned or just modified it?
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - Martin Golding
"I cried a little earlier when I had to poop" - Sku
Maybe this time the server lets me actually post something.
Thanks for all the replies. That was very interesting but it showed me that I should deal with Events instead of Packets but thank you all very much![]()