rust-gamedig/RESPONSES.md
CosminPerRam 45ffa53de3
feat: add Ark: Survival Ascended support (#197)
* feat: add initial epic client auth call

* fix: working client auth

* feat: unfinished initial EOS query

* first successful query

* first successful server query

* run fmt

* be a bit more detailed about servers

* properly run fmt for sure this time fr fr

* port of what node gamedig has done

* feat: remove query_raw_values to query_raw

* feat: add raw field to epic response

* feat: pass SocketAddr to epic

* feat: remove unused pub access to internal only struct

* feat: add initial generic impl

* fix: possibly conditional comp

* feat: add epic to the protocol list

* feat: add version and add epic to RESPONSES.md

* feat: add asa to definitions

* feat: add initial protocol macros

* feat: conditional serde ser and des

* fix: cfg serde stuff

* fix: epic macro warn dead code

* partial feature gate epic to tls

* fix: remove asa from game definitions
2024-04-21 18:53:33 +03:00

62 lines
14 KiB
Markdown

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(2) | GameSpy(3) | Minecraft(Java) | Minecraft(Bedrock) | Valve | Quake | Unreal2 | Epic | Proprietary: FFOW | Proprietary: TheShip | Proprietary: JC2MP | Proprietary: Savage 2 |
|----------------------|----------|------------|------------|------------|-----------------|--------------------|---------------|-----------|------------|----------|-------------------|----------------------|--------------------|-----------------------|
| name | `Option` | `String` | `String` | `String` | | `String` | `String` | `String` | `String` | `String` | `String` | `String` | `String` | `String` |
| description | `Option` | | | | `String` | | | | | | `String` | | `String` | |
| game_mode | `Option` | `String` | | `String` | | `Option` | `String` | | `String` | | `String` | `String` | | `String` |
| game_version | `Option` | `String` | | `String` | `String` | | `String` | `String` | | `String` | `String` | `String` | `String` | |
| map | `Option` | `String` | `String` | `String` | | `Option` | `String` | `String` | `String` | `String` | `String` | `String` | | `String` |
| players_maxmimum | `u32` | `u32` | `u32` | `u32` | `u32` | `u32` | `u8` | `u8` | `u32` | `u32` | `u8` | `u8` | `u32` | `u8` |
| players_online | `u32` | `u32` | `u32` | `u32` | `u32` | `u32` | `u8` | `u8` | `u32` | `u32` | `u8` | `u8` | `u32` | `u8` |
| players_bots | `Option` | | | | | | `u8` | | | | | `u8` | | |
| has_password | `Option` | `bool` | `bool` | `bool` | | | `bool` | | | `bool` | `bool` | `bool` | `bool` | |
| players_minimum | | `Option` | `Option` | `Option` | | | | | | | | | | `u8` |
| players | | `Vec` | `Vec` | `Vec` | `Option>` | | `Option>` | `Vec ` | `Vec` | `Vec` | | `Vec` | `Vec` | |
| tournament | | `bool` | | `bool` | | | | | | | | | | |
| unused_entries | | `Hashmap` | | `HashMap` | | | | `HashMap` | | | | | | |
| teams | | | `Vec` | `Vec` | | | | | | | | | | |
| protocol_version | | | | | `i32` | `String` | `u8` | | | | `u8` | `u8` | | `String` |
| server_type | | | | | `Server` | `Server` | `Server` | | | | | `Server` | | |
| rules | | | | | | | `Option>` | | `HashMap>` | | | `HashMap` | | |
| environment_type | | | | | | | `Environment` | | | | `Environment` | | | |
| vac_secured | | | | | | | `bool` | | | | `bool` | `bool` | | |
| map_title | | `Option` | | | | | | | | | | | | |
| admin_contact | | `Option` | | | | | | | | | | | | |
| admin_name | | `Option` | | | | | | | | | | | | |
| favicon | | | | | `Option` | | | | | | | | | |
| previews_chat | | | | | `Option` | | | | | | | | | |
| enforces_secure_chat | | | | | `Option` | | | | | | | | | |
| edition | | | | | | `String` | | | | | | | | |
| id | | | | | | `String` | | | `String` | | | | | |
| the_ship | | | | | | | `Option` | | | | | | | |
| is_mod | | | | | | | `bool` | | | | | | | |
| extra_data | | | | | | | `Option` | | | | | | | |
| mod_data | | | | | | | `Option` | | | | | | | |
| folder | | | | | | | `String` | | | | | | | |
| appid | | | | | | | `u32` | | | | | | | |
| active_mod | | | | | | | | | | | `String` | | | |
| round | | | | | | | | | | | `u8` | | | |
| rounds_maximum | | | | | | | | | | | `u8` | | | |
| time_left | | | | | | | | | | | `u16` | | | |
| port | | | | | | | | | `u32` | | | `Option` | | |
| steam_id | | | | | | | | | | | | `Option` | | |
| tv_port | | | | | | | | | | | | `Option` | | |
| tv_name | | | | | | | | | | | | `Option` | | |
| keywords | | | | | | | | | | | | `Option` | | |
| mode | | | | | | | | | | | | `u8` | | |
| witnesses | | | | | | | | | | | | `u8` | | |
| duration | | | | | | | | | | | | `u8` | | |
| query_port | | | | | | | | | `u32` | | | | | |
| ip | | | | | | | | | `String` | | | | | |
| mutators | | | | | | | | | `HashSet` | | | | | |
| next_map | | | | | | | | | | | | | | `String` |
| location | | | | | | | | | | | | | | `String` |
| level_minimum | | | | | | | | | | | | | | `String` |
| time | | | | | | | | | | | | | | `String` |