mirror of
https://github.com/tribufu/rust-gamedig
synced 2026-05-06 07:17:27 +00:00
* Define games as structs * Create table of response types * Ensure serde is always included * Remove server_ prefix in GenericResponse * Make players online/max non-optional in generic response * Use already existing minecraft server enum * Implement ExtraResponses to prevent cloning when creating generic * Add game definitions * Add doc comments to generic types * Include players in gamespy extra responses * Add custom response types for TheShip and FFOW * Cargo format differing files * Final cleanup
7 KiB
7 KiB
Every protocol has its own response type(s), below is a listing of the overlapping fields on these responses.
If a cell is blank it doesn't exist, otherwise it contains the type of that data in the current column's response type. In the case that a field that performs the same function exists in the current column's response type that name is annotated in brackets.
Response table
| Field | Generic | GameSpy(1) | GameSpy(3) | Minecraft(Java) | Minecraft(Bedrock) | Valve | Quake | FFOW | TheShip |
|---|---|---|---|---|---|---|---|---|---|
| name | Option | String | String | String | String | String | String | String | |
| description | Option | String | String | ||||||
| game | Option | String (game_type) | String (game_type) | Option (game_mode) | String | String (game_mode) | String | ||
| game_version | Option | String | String | String (version_name) | String (version) | String (version) | String (version) | String (version) | |
| map | Option | String | String | Option | String | String | String | String | |
| players_maxmimum | u64 | usize | usize | u32 | u32 | u8 | u8 | u8 | u8 (max_players) |
| players_online | u64 | usize | usize | u32 | u32 | u8 | u8 | u8 | u8 (players) |
| players_bots | Option | u8 | u8 (bots) | ||||||
| has_password | Option | bool | bool | bool | bool | bool | |||
| map_title | Option | ||||||||
| admin_contact | Option | ||||||||
| admin_name | Option | ||||||||
| players_minimum | Option | Option | |||||||
| players | Vec | Vec | Option<Vec> | Vec | Vec (player_details) | ||||
| tournament | bool | bool | |||||||
| unused_entries | Hashmap<String, String> | HashMap<String, String> | Option (extra_data) | HashMap<String, String> | |||||
| teams | Vec | ||||||||
| version_protocol | i32 | String | u8 (protocol) | u8 (protocol) | u8 (protocol) | ||||
| players_sample | Option<Vec> | ||||||||
| favicon | Option | ||||||||
| previews_chat | Option | ||||||||
| enforces_secure_chat | Option | ||||||||
| server_type | Server | Server | Server | Server | |||||
| edition | String | ||||||||
| id | String | ||||||||
| rules | Option<HashMap<String,String>> | HashMap<String,String> | |||||||
| folder | String | ||||||||
| appid | u32 | ||||||||
| environment_type | Environment | Environment | |||||||
| vac_secured | bool | bool | bool | ||||||
| the_ship | Option | ||||||||
| is_mod | bool | ||||||||
| mod_data | Option | ||||||||
| active_mod | String | ||||||||
| round | u8 | ||||||||
| rounds_maximum | u8 | ||||||||
| time_left | u16 | ||||||||
| port | Option | ||||||||
| steam_id | Option | ||||||||
| tv_port | Option | ||||||||
| tv_name | Option | ||||||||
| keywords | Option | ||||||||
| mode | u8 | ||||||||
| witnesses | u8 | ||||||||
| duration | u8 |