Python script for testing the responses:
```
import re
import socket
a2s_info_request = 'ÿÿÿÿTSource Engine Query\0'.encode('iso-8859-1')
a2s_info_pattern = re.compile(
b'\xff{4}I.(?P<name>.*?)\x00(?P<world>.*?)'
b'\x00.*?\x00(?P<mission>.*?)\x00{3}'
b'(?P<player_count>.)(?P<max_player_count>.)',
re.MULTILINE | re.DOTALL
)
buffer_size = 65535
for game, port in [('Arma 3', 2403), ('Reforger', 17777)]:
address = ("88.198.47.46", port)
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
client.sendto(a2s_info_request, address)
response, _ = client.recvfrom(buffer_size)
challenge = a2s_info_request + response[-4:]
client.sendto(challenge, address)
response, _ = client.recvfrom(buffer_size)
data = a2s_info_pattern.search(response).groupdict()
data['player_count'] = int.from_bytes(data['player_count'], 'big')
data['max_player_count'] = int.from_bytes(data['max_player_count'], 'big')
print(game, data)
```
The current result is:
```
Arma 3 {'name': b'\xef\xbf\xbd [ ZEN ] Public Zeus Enhanced Server (EU) #01', 'world': b'Altis', 'mission': b'Zeus 20+1 Zeus Enhanced Altis (BLUFOR)', 'player_count': 0, 'max_player_count': 21}
Reforger {'name': b'29b200d8-b310-48bc-8215-a71dce270521', 'world': b'#AR-Campaign_GamemodeName', 'mission': b'Arma Reforger', 'player_count': 0, 'max_player_count': 32}
```