UDP Billing Protocol
From ASSS Wiki
The UDP billing protocol is the original protocol written by VIE which was implemented in Subbill. It features more capabilities then the newer TCP Billing Protocol such as the ability to remotely restart or shutdown a game server, and save scores to a central location.
The protocol has never formally been documented and has been reversed engineered by individuals. However, it does utilize the same core protocol as the UDP Game Protocol.
An attempt at documenting the protocol has been started below by doc flabby. It was compiled from ASSS and SSB2's source code.
Zone to Billing --------------- TODO Billing to Zone --------------- Constants Login_Params 0 PRMEANING_ENTER // Implemented 1 PRMEANING_ASK // Implemented 2 PRMEANING_BADPW // Implemented 3 PRMEANING_IPBLOCK // Implemented 4 PRMEANING_NONEW // Implemented 5 PRMEANING_BADNAME // Implemented 6 PRMEANING_REGFORM // Implemented 7 PRMEANING_BUSY // Implemented 8 PRMEANING_DEMO // Unused Kick_Reasons 0 KICK_SYSTEM // Other reason 1 KICK_FLOOD // Player command-flooded 2 KICK_BAN // Player was banned (Or BanID..) Packets Player Response 0x01 offset size comment 0 1 0x01 1 1 Login_Params (see top) 2 4 PlayerId 6 24 PlayerName 30 24 Squad Name 54 96 Banner 150 4 Total Seconds 154 2 Year 156 2 Month 158 2 Day 160 2 Hour 162 2 Minute 164 2 Second 166 4 Extra 1 170 4 ScoreID 174 4 Extra 2 178 2 Wins 180 2 Losses 182 2 GoalCount 184 4 Points 188 4 Event Points Player Private Chat (aka pm) 0x03 offset size comment 0 1 0x03 1 4 Source Server ID 5 1 0x02 6 1 Sound 7 varies Message Terminated with \0 Zone Recycle 0x04 offset size comment 0 1 0x04 1 1 0x00 2 4 0x00000001 6 4 0x00000002 Kick Player 0x08 offset size comment 0 1 0x08 1 4 Connection Id 5 4 Kick_Reasons (see top) Command Message 0x09 (?blogin etc) offset size comment 0 1 0x09 1 4 ConnectionId 5 varies Message Terminated with \0 Chat Message 0x0A offset size comment 0 1 0x0A 1 4 ConnectionId 5 1 Channel 6 varies Message Terminated with \0 ScoreReset 0x31 offset size comment 0 1 0x31 1 4 ScoreId 5 4 -ScoreId