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.
Writing a custom RO client / server - packets
Moderator: Moderators
-
itako
- Noob

- Posts: 2
- Joined: 01 Dec 2011, 07:34
- Noob?: No
-
EternalHarvest
- Developers

- Posts: 1798
- Joined: 05 Dec 2008, 05:42
- Noob?: Yes
Re: Writing a custom RO client / server - packets
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.
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

- Posts: 2
- Joined: 01 Dec 2011, 07:34
- Noob?: No
Re: Writing a custom RO client / server - packets
Thanks, I think that will (and must) suffice 