UDP Billing Protocol

From ASSS Wiki
Revision as of 14:34, 18 October 2007 by Doc flabby (talk | contribs) (addded start of udp billing documentation)
Jump to: navigation, search

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.


Zone to Billing
---------------




Billing to Zone
---------------


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..)



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	Secound
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


This is far from complete i've use asss3's src and some of ssbilling2's src.  maybe someone will find is useful one day -doc flabby