Difference between revisions of "Launcher Protocol"
From OdaWiki
Line 5: | Line 5: | ||
==Transport notes== | ==Transport notes== | ||
− | * This protocol uses UDP as its transport medium. | + | * This protocol uses UDP (User Datagram Protocol) as its transport medium. |
− | * | + | * All packets are uncompressed. |
* All data is little endian. | * All data is little endian. | ||
Revision as of 10:56, 25 September 2006
Contents
Overview
This is the Odamex Launcher protocol, which will help developers develop custom launchers in other programming languages
Transport notes
- This protocol uses UDP (User Datagram Protocol) as its transport medium.
- All packets are uncompressed.
- All data is little endian.
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.