juggalotus said:
Maybe the spell being cast, the location of the mage, and the text saying "You have been summoned". Only thing i can think of.
Well everyones looking at the data packets sent/rec'd determining what those packets are doing and how to adjust them to make you /warp, /zone, etc.. Programmatically the client / server communicate with each other. While we see the packets are the data being sent between them only the client / server and the programmers and sometimes us if we watch the packets long enough to know what each packet does when we do in-game actions and we watch how they change when we alter our activities ingame (sorta trial and error). It is parsed programmitically on each end getting a string that it uses to adjust what you are doing in the game. This happens not just hacking but in normal game play. Im sure for every time you are coth'd, rez'd, etc... there is part of that data string that identifies that this is what is being done if not well SoE programmers take the shortbus to work... Now I have no clue what the actual parsed data looks like and Im sure that noone but the client and server programmers do... But it would parse out as something like this in simple terms:
PacketString = (Data [packets] sent back and forth between client and server)
> sent to client or server
>The client / server parses that PacketString into a ParsedPacketString taking that useless looking binary and structering it into a string of bytes that the server or client uses to call functions and make it do all the wonderful things we like to do in game such as attack, turn, move, cast, etc... While we see jumbled binary packets the client and server see what its supposed to be doing.
>Now I have know idea how the ParsedPacketString is structered but its more than likely structered into a custom scripting language when its parsed. Looking something like this gonna use a comma as the string delimiter...
ParsedPacketString == Action, WhoIam, Movetowhere
Now the string contains much more information than that, some of it pulled server side such as movement rate buffs etc... But its big enough to use as an example here.
Now the packets are being sent to the server, parsed and structered into a string like ParsedPacketString... The server takes that string and does Whatever_The_Hell_Its_Called function in the server side code to make you move. Because we all know all character data is server side we can pretty much assume that is what is happening... backed up by the dreaded rubberband effect (packet loss while running... sure youll see our character half way through a zone and all of a sudden your back at point a where you started) The client went ahead and ran your model client side like the server was getting the info but for some reason the server wasnt and when it realized it, it tells the client why are you at point x the last data i have is you being at point a... go there now /warp ya.
Now Lets say you hold down the right arrow key on your keyboard well now your looping the structering of data packets and sending them to the server, the packets are parsed into a string and that string is built over and over again server side from the movement packets you send to it. Lets say ya run 10 feet and you sent 100 bytes of data representing that movement... Where as if you were to warp you send only the beginning and ending location of that ten feet only sending 20 bytes of data... Sony cant force in programming to say ok well he moved 10 feet in that amount of data so lets /instaban... Because, sad truth is packet loss (lag) between the server and client can cause that. People would be getting nailed left and right for warping just for playing on dial-up and they know this.
So JohnnyBravo holds down his up arrow key and runs 10 feet, For this example lets say JohnnyBravo is slow as my gramma, the server runs this each time it receives movement packets.
Parsed out the data filling that string would look something similiar to this
ParsedPacketString == Run, JohnnyBravo, x y z
the server will take that string look at the chunks of data mainly the first one sent to it determining what function it should be calling server side for the client to be doing and from there do something similiar to this
On ServerPort####.DataRecieved Check_Character_Action
Function Check_Character_Action
if action == Run
JohnnyBravo.Location = Movetowhere (x y z)
else
blah blah blah more checks... ya never know action could == attack
End Function
When we warp we cut out the data for your other 8 /loc movements between 1 and 10 that would normally be sent to the server... and go straight for the gold.
So essentially yes they could addin a chunk of data to that string to show Movementtype for actions such as Coth, Rez, etc.. if it does not already exist. Now like i said keep in mind lol im not the worlds best programmer nor am i an expert or have any knowledge of how the data structures are built parsed and used in the client and server side code... But wanted to kind of show for those who dont already understand, how all the data packets ya guys are looking at and altering for things like warp etc. is actually used in a programmatical sense. So all in all finding a way to bloat the amount of data packets sent to the server would be the ideal way to go as far as masking warps... wouldnt need to have every single one that would be there but hop/skip would be better than nothing at least then ya can claim lag.