EOSERV Forum > EOSERV > Eoserv,Eosource,Seose etc.
Page: << 1 >>
Eoserv,Eosource,Seose etc.
Author Message
Post #200448 Eoserv,Eosource,Seose etc.

Eoserv,seose,eosource,kaslandra,eosep other ones idk them all...

How were all these made from the vult-r version of endless online? like how would I make my own if I wanted to start?

7 years, 42 weeks ago
Post #200449 Re: Eoserv,Eosource,Seose etc.

Study the packet structure of incoming and outgoing packets, decrypt it determine what packets effect the client in what ways and what packets the client sends out when certain things are done, then use that knowledge to make the server which will communicate with the client using said packets.

7 years, 42 weeks ago
Post #200450 Re: Eoserv,Eosource,Seose etc.

what would I need to learn to learn how to do that?

7 years, 42 weeks ago
Post #200451 Re: Eoserv,Eosource,Seose etc.

Guess you could learn commonly used packet encryption methods but if you're trying to make an endless online server, i suggest using eoserv and editing the source to your liking. Its got all the stuff regular eo had already on it. Also there's a wiki page on how the packets work for eo as well. https://eoserv.net/wiki/wiki?page=Packet

7 years, 42 weeks ago
Post #200452 Re: Eoserv,Eosource,Seose etc.

*encrypting encoding (regular game packets are rarely encrypted, only account stuff would usually use something like SSL. Weak encryption can be a pain though)

Anyway, it depends on the game. If, for example, the game is written in java, the easiest path will usually be to decompile and try to deobfuscate the networking parts of the game's source code. Otherwise capture the data sent and received as you're playing (in wireshark, etc), perform specific actions in the game and try to match actions to packets (e.g. you could perform the same action from multiple positions, then look for packets of the same length with some common data and some changed data, basically look for patterns)

One thing to be aware of is bit-oriented encoding (http://ithare.com/marshalling-and-encodings/) - data will not always be aligned to bytes.

If the game uses UDP, it may use it's own ARQ-like (https://en.wikipedia.org/wiki/Automatic_repeat_request) protocol on top of this to guarantee delivery and order of certain packets. If the game is not real-time, it might use TCP, which would make some things easier (you know there's probably no custom transport protocol) and other things harder (how are individual messages separated?).

An obvious first entry-point is text, there's almost certainly places in the game where text is sent between the client and server, find these, isolate the packets in which it occurs, and look for the text in the packet. If the data is not byte-aligned you can shift all the data in the packet by a given number of bits, and look again for the string. (here's a bit of C to bitshift a file: http://unix.stackexchange.com/a/55807)

For playing with data in general, xxd is useful - You can copy the packet payload from wireshark as ascii hex and use xxd to convert it to binary. This is a simple way to test your own tools. Netcat is also useful.

As for where to start learning - Have knowledge of a programming language, look into networking in that language. Play with wireshark for a bit, filters are useful. Familiarity with hex and binary will be useful. Knowing about the protocols of other games in the same genre would also help.

This WIP book about development of multiplayer games has a bunch of good stuff on protocols, it might be worth a read.

7 years, 42 weeks ago
Page: << 1 >>

EOSERV Forum > EOSERV > Eoserv,Eosource,Seose etc.