t.me/maj0rblog
-
Автор темы
- #1
Сейчас мы рассмотрим то как можно написать API сервер-шлюз для получения данных с майнкрафт сервера (Можно получать данные со всех игр в которых есть возможность использовать RCON, по типу : CS:GO, Minecraft, Rust. Нужно просто поменять команды и сформировать вывод)
Возможности сервера
- Получение статуса запроса (говнокод/псевдореализация) | "status" : str
- Получение пинга до сервера-шлюза | "wrPing" : str
- Получение времени сервера-шлюза | "wrTime" : str
- Получение TPS сервера | "srvTps" : str
- Получение слотов / онлайна на сервере | "srvSlots" : str
- Получение списка игроков через "," | "playersList" : str (только если онлайн >= 1)
Требования
Python 3.10+
FastAPI (pip)
Uvicorn (pip)
icmplib (pip)
logging (pip)
rcon (pip)
Подключение сервера-шлюза к игровому серверу
Нужно открыть файл rcon.py в папке modules и заменить строки:
ip = "localhost"
port = 2222
passwd = "111111"
на свои, где вы укажете ip вашего RCON / Игрового сервера, RCON порт, RCON пароль.
Перед этим убедитесь что вы включили RCON в настройках вашего игрового сервера.
Запросы на сервер
На данный сервер можно послать только один запрос
GET - localhost:8888/api/server/info
На этот запрос сервер возвращает ответ в виде JSON где есть есть вся информация которая описана в возможностях сервер (выше)
Пример ответа:
{
"status": "okay",
"wrPing": 0.0,
"wrTime": "01:38",
"srvTps": "20",
"srvSlots": "0/20"
}
Пример работы сервера-шлюза:
Запуск сервера
Для запуска сервера просто запустите run.py и откройте порт 8888 (Если что его можно поменять на любой удобный в файле run.py)
Скачать
Возможности сервера
- Получение статуса запроса (говнокод/псевдореализация) | "status" : str
- Получение пинга до сервера-шлюза | "wrPing" : str
- Получение времени сервера-шлюза | "wrTime" : str
- Получение TPS сервера | "srvTps" : str
- Получение слотов / онлайна на сервере | "srvSlots" : str
- Получение списка игроков через "," | "playersList" : str (только если онлайн >= 1)
Требования
Python 3.10+
FastAPI (pip)
Uvicorn (pip)
icmplib (pip)
logging (pip)
rcon (pip)
Подключение сервера-шлюза к игровому серверу
Нужно открыть файл rcon.py в папке modules и заменить строки:
ip = "localhost"
port = 2222
passwd = "111111"
на свои, где вы укажете ip вашего RCON / Игрового сервера, RCON порт, RCON пароль.
Перед этим убедитесь что вы включили RCON в настройках вашего игрового сервера.
Запросы на сервер
На данный сервер можно послать только один запрос
GET - localhost:8888/api/server/info
На этот запрос сервер возвращает ответ в виде JSON где есть есть вся информация которая описана в возможностях сервер (выше)
Пример ответа:
{
"status": "okay",
"wrPing": 0.0,
"wrTime": "01:38",
"srvTps": "20",
"srvSlots": "0/20"
}
Пример работы сервера-шлюза:
Запуск сервера
Для запуска сервера просто запустите run.py и откройте порт 8888 (Если что его можно поменять на любой удобный в файле run.py)
Скачать
Пожалуйста, авторизуйтесь для просмотра ссылки.