feat: minetest support (#218)

* feat: initial minetest support

* move player to master, remove comments

* add markdown lines

* oops, change player namespace

* fix some edge cases

* add entry to responses, tweak field names
This commit is contained in:
CosminPerRam 2024-10-30 13:24:40 +02:00 committed by GitHub
parent 30ae60e4dc
commit bcc92d17df
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 246 additions and 59 deletions

View file

@ -6,57 +6,73 @@ 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` |
| 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 | Proprietary: Minetest |
|----------------------|----------|------------|------------|------------|-----------------|--------------------|---------------|-----------|------------|----------|-------------------|----------------------|--------------------|-----------------------|-----------------------|
| name | `Option` | `String` | `String` | `String` | | `String` | `String` | `String` | `String` | `String` | `String` | `String` | `String` | `String` | `String` |
| description | `Option` | | | | `String` | | | | | | `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` | | `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` | `u32` |
| players_online | `u32` | `u32` | `u32` | `u32` | `u32` | `u32` | `u8` | `u8` | `u32` | `u32` | `u8` | `u8` | `u32` | `u8` | `u32` |
| players_bots | `Option` | | | | | | `u8` | | | | | `u8` | | | |
| has_password | `Option` | `bool` | `bool` | `bool` | | | `bool` | | | `bool` | `bool` | `bool` | `bool` | | `Option` |
| players_minimum | | `Option` | `Option` | `Option` | | | | | | | | | | `u8` | |
| players | | `Vec` | `Vec` | `Vec` | `Option>` | | `Option>` | `Vec ` | `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` | | | | | | `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` | | | `u32` |
| steam_id | | | | | | | | | | | | `Option` | | | |
| tv_port | | | | | | | | | | | | `Option` | | | |
| tv_name | | | | | | | | | | | | `Option` | | | |
| keywords | | | | | | | | | | | | `Option` | | | |
| mode | | | | | | | | | | | | `u8` | | | |
| witnesses | | | | | | | | | | | | `u8` | | | |
| duration | | | | | | | | | | | | `u8` | | | |
| query_port | | | | | | | | | `u32` | | | | | | |
| ip | | | | | | | | | `String` | | | | | | `String` |
| mutators | | | | | | | | | `HashSet` | | | | | | |
| next_map | | | | | | | | | | | | | | `String` | |
| location | | | | | | | | | | | | | | `String` | |
| level_minimum | | | | | | | | | | | | | | `String` | |
| time | | | | | | | | | | | | | | `String` | |
| creative | | | | | | | | | | | | | | | `Option` |
| damage | | | | | | | | | | | | | | | `bool` |
| game_time | | | | | | | | | | | | | | | `u32` |
| lag | | | | | | | | | | | | | | | `Option` |
| proto_max | | | | | | | | | | | | | | | `u16` |
| proto_min | | | | | | | | | | | | | | | `u16` |
| pvp | | | | | | | | | | | | | | | `bool` |
| uptime | | | | | | | | | | | | | | | `u32` |
| url | | | | | | | | | | | | | | | `Option` |
| update_time | | | | | | | | | | | | | | | `u32` |
| start | | | | | | | | | | | | | | | `u32` |
| clients_top | | | | | | | | | | | | | | | `u32` |
| updates | | | | | | | | | | | | | | | `u32` |
| pop_v | | | | | | | | | | | | | | | `f32` |
| geo_continent | | | | | | | | | | | | | | | `Option` |
| ping | | | | | | | | | | | | | | | `f32` |