Как получить подробную информацию о любом сервере?

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
7
Реакции
-2
Неверный раздел форума
Как получить подробную информацию о любом сервере?
 
Сообщения
1,086
Реакции
233
Предупреждения
8
Помог
6 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
11-3947249.jpg
 
Сообщения
7
Реакции
-2
@Loki,Количество игроков, установленные моды, какая карта и тд
 
Сообщения
34
Реакции
6
@antefil,все необходимое для пользователя указано в самой стандартной инфо сервера, многие сервера свой мод вписывают в названии.
 
Сообщения
7
Реакции
-2
Akilano, Я нагуглил что к серверу можно обратиться через UDP и запросить A2S_INFO, A2S_RULES и A2S_PLAYER но в ответе просто дичь какая то, декодирование байтов почему то может происходит по разному или сервер так по разному отвечает. По это причине нужен какой то более стабильный способ
 
Сообщения
283
Реакции
291
Помог
2 раз(а)
Мне кажется или он хочет такую инфу доставать:
1730101724131.png
1730101750030.png
28 Окт 2024
1730102091404.png
 
Сообщения
7
Реакции
-2
@Arni,в целом да что то такое и надо. Хотелось бы написать на php что бы не городить костылей, но написал на питоне с использованием библиотеки так и не понял почему на php у меня данные прыгают
28 Окт 2024
Скинь пожалуйста ServerInfo.php
 
Сообщения
7
Реакции
-2
Ладно я оставлю работу через питона в принципе это даже логичней чем php подружить только надо их. Там и данных больше собрать можно!
 
Сообщения
437
Реакции
66
Помог
10 раз(а)
На python можно такой скрипт попробовать:
Python:
import asyncio
import html
import a2s

async def main() -> None:
    input_server_ip: str = input("Server IP: ")
    input_server_port: int = int(input("Server Port: "))

    try:
        result = await a2s.ainfo((input_server_ip, input_server_port))
        result_players = await a2s.aplayers((input_server_ip, input_server_port))
        result_message = f"Сервер - {result.server_name}\n" \
                         f"Карта - {result.map_name}\n" \
                         f"Количество игроков - {result.player_count}\n" \
                         f"Максимум игроков - {result.max_players}\n" \
                         f"Количество ботов - {result.bot_count}\n"

        for idx, player in enumerate(result_players):
            result_message += f"{idx + 1} | {html.escape(s=player.name, quote=True)} | {player.duration} | {player.score}"

        print(result_message)
    except Exception as e:
        print(f"Ошибка при получении данных - {e}")


if __name__ == "__main__":
    try:
        asyncio.run(main())
    except KeyboardInterrupt:
        pass
 
Сообщения
7
Реакции
-2
Arni, Хорошо и правильно что берёшь деньги.
28 Окт 2024
@DEVV,Чёт подобное и реализовал а обмен между питоном и php сделал через json
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу