Difference between revisions of "Launcher Protocol"

From OdaWiki
Line 158: Line 158:
 
| int
 
| int
 
| X
 
| X
| Verification data
+
| Token
  
 
|-
 
|-
Line 277: Line 277:
 
|}
 
|}
  
==Additional Information==
+
==Additional Notes==
  
* Verification data is unnecessary for a launcher I think.
+
* Token is unnecessary for a launcher I think.
 
* Game types are: 0 = COOP, 1 = Deathmatch, 2 = Deathmatch 2.0
 
* 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).
 
* Skill levels are: 0 = ITYTD, 1 = HNTR, 2 = HMP, 3 = UV, 4 = NM (Acronyms).
 +
* Player teams are: 0 = None, 1 = Blue, 2 = Red, 3 = Gold
 
* If CTF is enabled, Teamplay will be enabled and deathmatch (2.0?).
 
* If CTF is enabled, Teamplay will be enabled and deathmatch (2.0?).
 
* If Teamplay is enabled, then deathmatch (2.0?) will be too.
 
* If Teamplay is enabled, then deathmatch (2.0?) will be too.
* Teamplay/CTF scorelimit and team scores only appear if Teamplay/CTF is enabled.
+
* scorelimit, team scores and player teams (excluding team 0) only appear if Teamplay/CTF is enabled.
  
 
==External Links==
 
==External Links==
  
 
* None at the moment.
 
* None at the moment.

Revision as of 08:24, 25 September 2006

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 Token
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
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 Notes

  • Token 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).
  • Player teams are: 0 = None, 1 = Blue, 2 = Red, 3 = Gold
  • If CTF is enabled, Teamplay will be enabled and deathmatch (2.0?).
  • If Teamplay is enabled, then deathmatch (2.0?) will be too.
  • scorelimit, team scores and player teams (excluding team 0) only appear if Teamplay/CTF is enabled.

External Links

  • None at the moment.