• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    Ошибка: Ваша версия Grand Theft Auto V не поддерживается RAGE Multiplayer.
    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Вопрос Система белого списка.

rundaniss

Начинающий специалист
3 Ноя 2021
120
9
48
Как реализовать систему белого списка? Цель системы : при заходе, сервер проверяет, есть ли сошиал в таблице БД, если есть, то ничего не происходит. А если нету, то сервер обрывает соединение.
 

Harland David Sanders

Куратор портала
Команда форума
Куратор портала
VIP
high coder
media
10 Сен 2020
3,411
2,777
219
Сам спросил - сам ответил :j3r:
 
  • Like
Реакции: Inoi

Harland David Sanders

Куратор портала
Команда форума
Куратор портала
VIP
high coder
media
10 Сен 2020
3,411
2,777
219
Имел ввиду, как в коде реализовать
Аааа понятно.

JavaScript:
var whitelistState = true; // whitelist state true / false

mp.events.add('playerJoin', player => {

    if(whitelistState)
    {
        mysql.executeQuery(`SELECT * FROM white_list WHERE social = '${player.socialClub}'`, function (err, rows, fields) {
            if (!rows.length) {
                player.outputChatBox("[Whitelist] У вас нет доступа на сервер в данный момент!");
                player.kick();
                return;
            }
        });
    }
});
 
  • Like
Реакции: Gastello

rundaniss

Начинающий специалист
3 Ноя 2021
120
9
48
Аааа понятно.

JavaScript:
var whitelistState = true; // whitelist state true / false

mp.events.add('playerJoin', player => {

    if(whitelistState)
    {
        mysql.executeQuery(`SELECT * FROM white_list WHERE social = '${player.socialClub}'`, function (err, rows, fields) {
            if (!rows.length) {
                player.outputChatBox("[Whitelist] У вас нет доступа на сервер в данный момент!");
                player.kick();
                return;
            }
        });
    }
});
пасеба
 

FlameProfi

Специалист
18 Дек 2020
454
58
76

JavaScript:
mp.events.add('server:login:success:after', (player:PlayerMp) => {
    if(!methods.isTestServer()) return true;
    if (whitelist.list.includes(player.socialClub.toLowerCase()) || player.ip == "127.0.0.1") return true;
    setTimeout(() => {
        if (!mp.players.exists(player)) return;
        user.disableAllControls(player, true)
        user.hideLoadDisplay(player);
        user.bigAlert(player, `У вас нет доступа к тестовому серверу`, "error", 120000);
        user.kick(player, 'У вас нет доступа к тестовому серверу');
    }, 5000)
});
 
  • Like
Реакции: Gastello

Kusto

Участник портала
12 Сен 2024
64
8
17
Аааа понятно.

JavaScript:
var whitelistState = true; // whitelist state true / false

mp.events.add('playerJoin', player => {

    if(whitelistState)
    {
        mysql.executeQuery(`SELECT * FROM white_list WHERE social = '${player.socialClub}'`, function (err, rows, fields) {
            if (!rows.length) {
                player.outputChatBox("[Whitelist] У вас нет доступа на сервер в данный момент!");
                player.kick();
                return;
            }
        });
    }
});
а куда вставить его?
 

enotit

Гуру
13 Ноя 2020
941
422
127
21

Vermilion

Мастер
29 Сен 2021
871
647
151
34
Аааа понятно.

JavaScript:
var whitelistState = true; // whitelist state true / false

mp.events.add('playerJoin', player => {

    if(whitelistState)
    {
        mysql.executeQuery(`SELECT * FROM white_list WHERE social = '${player.socialClub}'`, function (err, rows, fields) {
            if (!rows.length) {
                player.outputChatBox("[Whitelist] У вас нет доступа на сервер в данный момент!");
                player.kick();
                return;
            }
        });
    }
});
В этом коде есть уязвимость SQL инъекции.

Лучше использовать вот так:
Код:
mp.events.add('playerJoin', player => {

    if(whitelistState) {
        const query = 'SELECT * FROM white_list WHERE social = ?';
        mysql.executeQuery(query, [player.socialClub], function (err, rows, fields) {
            if (err) {
                console.error(err);
                return;
            }

            if (!rows.length) {
                player.outputChatBox("[Whitelist] У вас нет доступа на сервер в данный момент!");
                player.kick();
            }
        });
    }
});
 
  • Like
Реакции: Mi-Zaft

Vermilion

Мастер
29 Сен 2021
871
647
151
34

Vermilion

Мастер
29 Сен 2021
871
647
151
34
  • Like
Реакции: enotit