EOSERV Forum > EOSERV > EOServ(Decoding Packets)
Topic is locked.
Page: << 1 >>
EOServ(Decoding Packets)
Author Message
Post #23736 EOServ(Decoding Packets)

Decoding Packets, for EoServ, Ok.

So I use WPE Pro to get the w.e its called e.e

Then I use the Base EODecode from Sordies website..What happens from there?

It tells me its type and what not..How can I use it to help me make a C++ Script?

Or am I not understanding whats going on with EODecode

16 years, 24 weeks ago
Post #23739 Re: EOServ(Decoding Packets)

Haha, this is certainly my speciality. I find decoding to be the best process of them all.

Well each time you use WPE and do a action, it records it as a packet, then you decode it with EODecode. That gives you the type and action, also with a huge list of data. Well basically what you want to do is find out what the data means. That way, you can imitate what EO sends to the client, so you can send it also.

There are 5 types of things that can be sent in a packet. A short, char, three, string, and breakstring. In the data section, you have to find which is which. A char would be one number, a short two, a three is three, a string is just a string but without a 254 at the end, and a breakstring is a string with a 254 at the end. (NOTE: 254 is a break character, it's basically 0 since it has nothing to hold, and remember to subtract 1 from each number to get the REAL number[EO is gay and does this for some reason]). Say you have a Three and it only has the number 10 to hold, the other two numbers will be 254 since it has nothing to hold. This is an easy way to tell what type of number it is. The chances of a number actually being 254 is slim.

Once you find what types they each are, you have to check what they "mean". For example, here's a face packet I had recorded:

Data: 50 4 3
I checked which way I was facing, and it was 2, and 3-1 = 2. Then 50 4 would be my PlayerID(I kinda cheated on this :P). Common values that you should check on what they might be are X, Y, Map, PlayerID, Direction. You should notice all aspects and see what the client will need to complete this action. What do you do with all this information?
Well afterwards you get to send it. Let me give you an example.

PacketBuilder builder; (This sends a packet, just like you decoded one)
builder.SetID(PACKET_TYPE, PACKET_ACTION);
Now you just send the data.
builder.AddChar(char), builder.AddShort(short), builder.AddThree(three), builder.AddString(string), builder.AddBreakString(string) are your options on what you can send. You should send data that you have just decoded to get the same results as the EO Server.
Then after that just do this:
CLIENT_SEND(builder); (Only if you are in a handlers section)
character->player->client->SendBuilder(builder);

Any questions, problems, or comments you can come to me and I will answer them. I hope this guide helped you.

---
http://www.addipop.com
16 years, 24 weeks ago
Post #23740 Re: EOServ(Decoding Packets)

I was going to make a guide, after learning more about it...but this is a guide.
Thanks I Understood Everything :D

Now if you have TeamViewer; and have any free time, Please TV Me and show me some hands on :D Thanks.

16 years, 24 weeks ago
Page: << 1 >>
Topic is locked.
EOSERV Forum > EOSERV > EOServ(Decoding Packets)