Задать вопрос

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

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

Похожие вопросы