I will try to describe where they need to be added.
The reason I'm putting this up is because I won't have time to work on it myself until somewhere in January.
If anyone is willing to help, that would be much appreciated.
The main TODO now is to add in packets that are missing.
an example:
Code: Select all
0x0436,19,wanttoconnection,2:6:10:14:18
packetswitch: 0x0436
length: 19
where the information is at: 2:6:10:14:18
todo's:
- merge ST's per packetversion (instead of per exe) -> NOT GOING TO HAPPEN
- put packet in base ST Sakexe_0.pm if these 3 rules apply:
*is not already in Sakexe_0.pm (no conflicts! updated packets go in newer serverType!)
*must be actually functional (so no "template"/"gravity fail to add" packets)
*does not "replace older packet functionalities" (examples packets that do: actor packets (received), login/char-server packets (sent, received))
- hardcode packet length per packetversion per packet (something like eA has)
- find out in which ST classes the different login/char-server packets belong
- detect and support differences between kRO and eA (ex. the captcha is not in eA (yet?))
Post implementation:
- if everything works, we can focus on optimization
- we can ditch the 8_x serverTypes (packetversions: 8_5 is at 23(?) | kRO ST is at 25 (alpha stage) | eA is at 25 | kRO RE is at 29 (semi supported in RagexeRE_0.pm))
- it will be sufficient for the user to know which packetversion his eA/kRO server is using to be able to pick the right serverType. (which can be extracted from the login packet)
- we can focus on how to support different login sequences
- compare kRO ST's with other official server ST's (maybe they are not so different at all, Sakexe_0.pm will look a lot like ServerType0.pm)
- ...