Launcher Protocol

From OdaWiki
Revision as of 08:10, 25 September 2006 by Russell (Talk | contribs)

Overview

This is the Odamex Launcher protocol, which will help developers develop custom launchers in other programming languages

This protocol uses UDP Datagram sockets and the packets sent are uncompressed.

Types used

These are the types used in this specification

Type name Range Size
Signed Integers
char -128 to 127 8-bit
short -32768 to 32767 16-bit
int -2147483648 to 2147483647 32-bit
Unsigned integers
byte 0 to 255 8-bit
word 0 to 65535 16-bit
long 0 to 4294967295 32-bit
Strings
string ASCIIZ null terminated
Other
bool byte (1 or 0) boolean

Keywords:

> = Sent to

+ = Array of information (amount here)

X = Any value

Specifications

Master server list request

Type Data Description
Launcher > Master
int 777123 Request
Master > Launcher
int 777123 Response
short X Server count
byte X +Server IP 1 (Server count)
byte X +Server IP 2
byte X +Server IP 3
byte X +Server IP 4
short X +Server Port


Server Information Request

Type Data Description
Launcher > Server
int 777123 Request
Server > Launcher
int 5560020 Response
int X Verification data
string X Server Name
byte X Players in server
byte X Maximum players
string X Current map
byte X PWAD count
string X +PWAD name (PWAD count)
byte X Game type
byte X Skill level
bool X Teamplay?
string X +Player name (numplayers)
short X +Player frags
int X +Player ping
byte X +Player team
string X +PWAD MD5 hashes (numpwads)
bool X CTF mode?
string X Server Website address
int X Teamplay/CTF score limit (if teamplay AND/OR CTF enabled)
bool X Blue team?
int X Blue score (if team enabled)
bool X Red team?
int X Red score (if team enabled)
bool X Gold team?
int X Gold score (if team enabled)

Additional Information

  • Verification data is unnecessary for a launcher I think.
  • Game types are: 0 = COOP, 1 = Deathmatch, 2 = Deathmatch 2.0
  • Skill levels are: 0 = ITYTD, 1 = HNTR, 2 = HMP, 3 = UV, 4 = NM (Acronyms).
  • If CTF is enabled, Teamplay will be enabled and deathmatch (2.0?).
  • If Teamplay is enabled, then deathmatch (2.0?) will be too.

External Links

  • None at the moment.