Booma.Proxy
Booma.Proxy copied to clipboard
Collection of C#/.NET libraries for communication, understanding and emulating Phantasy Star Online Blue Burst. Both client and server.
Since refactoring the Doc Gen links to packet structures in the repository are broken. Need to fix them eventually!
Serialization model based on Sylverant. See: https://github.com/Sylverant/libsylverant/blob/e1a01d5586ed12d41b99c5cf1ba955e32b173950/include/sylverant/characters.h#L126 Currently failing packet capture tests from Tethealla. Original ```E5 00 00 00 00 00 00 00 00 00 00 00 00 00 00...
Tethealla will send an additional 2 bytes for 0x67 that isn't needed according to @Solybum . Additionally Sylverant does not seem to send, I think, these 2 0 bytes at...
The serialization model for 0xE2 has 4 bytes added to the end likely meaning extra 4 bytes defined in the packet model somewhere. See: https://github.com/Sylverant/libsylverant/blob/7f7e31d90da1b02c8d89d055628540ee3ad59417/include/sylverant/characters.h#L167 Or potentially a Tethealla difference...
Last 2 bytes in Sylverant are assumed padding: https://github.com/Sylverant/ship_server/blob/83d06b342c2629fc6812ed49000163e95b1a5fb7/src/packets.h#L542 But packet capture 0x69_89d8db9b-9e85-477b-9af0-bf9b67541ce2.packet shows: ```69 00 00 00 00 00 01 06 01 00``` This is non-zero padding sent by...
Right now, it's nearly entirely unimplemented.
Ship list and block list seem to have 8 bytes at the end of them that they do not need. Seems like overpadding by Tethealla. Though it could be something...
0x6D appears to contain game state data for when we join. This data indicates the dynamic state such as inventory, items dropped and probably creature information/map changes since start.
Right now it takes O(n) time to find a packet handler for a particular packet. This allows for binding new handlers at runtime, allows for configuration easier and such and...