Writing a custom RO client / server - packets

Wrote new code? Fixed a bug? Want to discuss technical stuff? Feel free to post it here.

Moderator: Moderators

itako
Noob
Noob
Posts: 2
Joined: 01 Dec 2011, 07:34
Noob?: No

Writing a custom RO client / server - packets

#1 Post by itako »

I'm not sure if this is the appropriate topic, or even forum, but here I go anyway..

So lately I've been thinking about writing a RO server from scratch (yeah, I know that's a bold idea - but I'm doing this as my hobby).
But there's one thing that would slow me down drastically, and that's packet sniffing and guessing which one does what and how.

My question is: Is there any description of RO 'protocol'?
I know there are many versions of packet sets (or 'protocols'), so let's stick to the easiest set, maybe something early iRO used.

I have been looking both on openkore and eAthena forums, but couldn't find any aggregated information / list of packets and their description.
Does something like that even exist? Or did eA/openkore developers just packet sniffed RO client and put their discoveries right into the code without noting which packets do what.

Any help on that subject would be greatly appreciated.
EternalHarvest
Developers
Developers
Posts: 1798
Joined: 05 Dec 2008, 05:42
Noob?: Yes

Re: Writing a custom RO client / server - packets

#2 Post by EternalHarvest »

There's no dedicated documentation I'm aware of, but openkore's serverType files (src/Network/Receive/ServerType0.pm, src/Network/Receive.pm, src/Network/Send/ServerType0.pm, src/Network/Send.pm) are almost self-explaining - there's list of packets with meaningful names, structures and handlers. eAthena has packet database (db/packet_db.txt) and there are functions which construct packets in other files too.

Also, openkore has two implementations of simple RO server, one being used for XKore 2 connection (src/Network/XKore2/*, src/Base/Ragnarok/*), and bizarre one named Poseidon.
itako
Noob
Noob
Posts: 2
Joined: 01 Dec 2011, 07:34
Noob?: No

Re: Writing a custom RO client / server - packets

#3 Post by itako »

Thanks, I think that will (and must) suffice :D