Как добавить игру Rage:MP на движок LGSL?

Здравствуйте, пытаюсь добавить игру для отслеживание игроков/коло-во слотов,игроков на сервере. Хочу добавить именно RageMP, но на просторах гугла я нашел только протокол на FiveM.
function lgsl_query_41(&$server, &$lgsl_need, &$lgsl_fp)
    {
        fwrite($lgsl_fp, "\xFF\xFF\xFF\xFFgetinfo xxx");
        $buffer = fread($lgsl_fp, 4096);

        if (!$buffer) {
            return false;
        }

        lgsl_cut_byte($buffer, 18);

        $data = explode('\\', $buffer);

        for ($i = 0; $i < count($data); $i += 2) {
            if ($data[$i] == 'sv_maxclients') {
                $server['s']['playersmax'] = $data[$i + 1];
            }

            if ($data[$i] == 'clients') {
                $server['s']['players'] = $data[$i + 1];
            }

            if ($data[$i] == 'challenge') {
                $server['e']['challenge'] = $data[$i + 1];
            }

            if ($data[$i] == 'gamename') {
                $server['e']['gamename'] = $data[$i + 1];
            }

            if ($data[$i] == 'protocol') {
                $server['e']['protocol'] = $data[$i + 1];
            }

            if ($data[$i] == 'hostname') {
                $server['s']['name'] = $data[$i + 1];
            }

            if ($data[$i] == 'gametype') {
                $server['s']['game'] = $data[$i + 1];
            }

            if ($data[$i] == 'mapname') {
                $server['s']['map'] = $data[$i + 1];
            }

            if ($data[$i] == 'iv') {
                $server['e']['iv'] = $data[$i + 1];
            }

        }

        return true;
    }


Были попытки вытащить что-то из протокола FiveM, но к сожалению не смог. Прошу помощи!
  • Вопрос задан
  • 390 просмотров
Пригласить эксперта
Ответы на вопрос 1
artemiy_karkusha
@artemiy_karkusha
Гость в этой жизни.
Api Rage:MP не предусматривает получения списка игроков третьими лицами. Есть только поддержка получения списка активных игроков на серверной стороне с помощью функции GetAllPlayer C#. Если вы хотите реализовать список серверов с количеством возможных слотов и активных игроков можете спарсить эти данные со страницы Rage:MP masterlist. Если хотите реализовать отображение этих данных для своего сервера есть два пути. Тот что я описал ранее. Только добавить get параметры в запрос на masterlist с данными вашего сервера. Второй более сложный но надёжней. Количество слотов вам известно с файла конфигурации. Количество активных пользователей можно получить тоже двумя способами. Первый, воспользоваться встроенной функцией GetAllPlayer. Второй, вести учёт активных пользователей в БД. При входе на сервер после успешной авторизации регистрировать игрока как активного. При выходе этого игрока, снимать метку.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы