feat: add savage 2 support (#169)

* feat: savage 2 support

* fix: add savage 2 to definitions

* chore: run rustfmt

* fix: config serde use

* fix: remove needless borrow

* docs: add savage 2 to protocols.md
This commit is contained in:
CosminPerRam 2023-12-10 19:39:26 +02:00 committed by GitHub
parent dd037daa04
commit af8e1e9b1a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 148 additions and 57 deletions

View file

@ -5,53 +5,57 @@ In the case that a field that performs the same function exists in the current c
# Response table
| Field | Generic | GameSpy(1) | GameSpy(2) | GameSpy(3) | Minecraft(Java) | Minecraft(Bedrock) | Valve | Quake | Unreal2 | Proprietary: FFOW | Proprietary: TheShip | Proprietary: JC2MP |
|----------------------|------------------|---------------------------|---------------|---------------------------|-----------------------|--------------------|-----------------------------------|---------------------------|--------------------------------|-------------------|---------------------------|--------------------|
| name | `Option<String>` | `String` | `String` | `String` | | `String` | `String` | `String` | `String` | `String` | `String` | `String` |
| description | `Option<String>` | | | | `String` | | | | | `String` | | `String` |
| game_mode | `Option<String>` | `String` | | `String` | | `Option<GameMode>` | `String` | | `String` | `String` | `String` | |
| game_version | `Option<String>` | `String` | | `String` | `String` | | `String` | `String` | | `String` | `String` | `String` |
| map | `Option<String>` | `String` | `String` | `String` | | `Option<String>` | `String` | `String` | `String` | `String` | `String` | |
| players_maxmimum | `u32` | `u32` | `u32` | `u32` | `u32` | `u32` | `u8` | `u8` | `u32` | `u8` | `u8` | `u32` |
| players_online | `u32` | `u32` | `u32` | `u32` | `u32` | `u32` | `u8` | `u8` | `u32` | `u8` | `u8` | `u32` |
| players_bots | `Option<u32>` | | | | | | `u8` | | | | `u8` | |
| has_password | `Option<bool>` | `bool` | `bool` | `bool` | | | `bool` | | | `bool` | `bool` | `bool` |
| players_minimum | | `Option<u8>` | `Option<u8>` | `Option<u8>` | | | | | | | | |
| players | | `Vec<Player>` | `Vec<Player>` | `Vec<Player>` | `Option<Vec<Player>>` | | `Option<Vec<ServerPlayer>>` | `Vec<P>` | `Vec<Player>` | | `Vec<TheShipPlayer>` | `Vec<Player>` |
| tournament | | `bool` | | `bool` | | | | | | | | |
| unused_entries | | `Hashmap<String, String>` | | `HashMap<String, String>` | | | | `HashMap<String, String>` | | | | |
| teams | | | `Vec<Team>` | `Vec<Team>` | | | | | | | | |
| protocol_version | | | | | `i32` | `String` | `u8` | | | `u8` | `u8` | |
| server_type | | | | | `Server` | `Server` | `Server` | | | | `Server` | |
| rules | | | | | | | `Option<HashMap<String, String>>` | | `HashMap<String, Vec<String>>` | | `HashMap<String, String>` | |
| environment_type | | | | | | | `Environment` | | | `Environment` | | |
| vac_secured | | | | | | | `bool` | | | `bool` | `bool` | |
| map_title | | `Option<String>` | | | | | | | | | | |
| admin_contact | | `Option<String>` | | | | | | | | | | |
| admin_name | | `Option<String>` | | | | | | | | | | |
| favicon | | | | | `Option<String>` | | | | | | | |
| previews_chat | | | | | `Option<bool>` | | | | | | | |
| enforces_secure_chat | | | | | `Option<bool>` | | | | | | | |
| edition | | | | | | `String` | | | | | | |
| id | | | | | | `String` | | | `String` | | | |
| the_ship | | | | | | | `Option<TheShip>` | | | | | |
| is_mod | | | | | | | `bool` | | | | | |
| extra_data | | | | | | | `Option<ExtraData>` | | | | | |
| mod_data | | | | | | | `Option<ModData>` | | | | | |
| folder | | | | | | | `String` | | | | | |
| appid | | | | | | | `u32` | | | | | |
| active_mod | | | | | | | | | | `String` | | |
| round | | | | | | | | | | `u8` | | |
| rounds_maximum | | | | | | | | | | `u8` | | |
| time_left | | | | | | | | | | `u16` | | |
| port | | | | | | | | | `u32` | | `Option<u16>` | |
| steam_id | | | | | | | | | | | `Option<u64>` | |
| tv_port | | | | | | | | | | | `Option<u16>` | |
| tv_name | | | | | | | | | | | `Option<String>` | |
| keywords | | | | | | | | | | | `Option<String>` | |
| mode | | | | | | | | | | | `u8` | |
| witnesses | | | | | | | | | | | `u8` | |
| duration | | | | | | | | | | | `u8` | |
| query_port | | | | | | | | | `u32` | | | |
| ip | | | | | | | | | `String` | | | |
| mutators | | | | | | | | | `HashSet<String>` | | | |
| Field | Generic | GameSpy(1) | GameSpy(2) | GameSpy(3) | Minecraft(Java) | Minecraft(Bedrock) | Valve | Quake | Unreal2 | Proprietary: FFOW | Proprietary: TheShip | Proprietary: JC2MP | Proprietary: Savage 2 |
|----------------------|----------|------------|------------|------------|-----------------|--------------------|---------------|-----------|------------|-------------------|----------------------|--------------------|-----------------------|
| name | `Option` | `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` | |
| map | `Option` | `String` | `String` | `String` | | `Option` | `String` | `String` | `String` | `String` | `String` | | `String` |
| players_maxmimum | `u32` | `u32` | `u32` | `u32` | `u32` | `u32` | `u8` | `u8` | `u32` | `u8` | `u8` | `u32` | `u8` |
| players_online | `u32` | `u32` | `u32` | `u32` | `u32` | `u32` | `u8` | `u8` | `u32` | `u8` | `u8` | `u32` | `u8` |
| players_bots | `Option` | | | | | | `u8` | | | | `u8` | | |
| has_password | `Option` | `bool` | `bool` | `bool` | | | `bool` | | | `bool` | `bool` | `bool` | |
| players_minimum | | `Option` | `Option` | `Option` | | | | | | | | | `u8` |
| players | | `Vec` | `Vec` | `Vec` | `Option>` | | `Option>` | `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` |