• Из-за обновления 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
7
48
Как реализовать систему белого списка? Цель системы : при заходе, сервер проверяет, есть ли сошиал в таблице БД, если есть, то ничего не происходит. А если нету, то сервер обрывает соединение.
 

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
4,081
3,248
259
Имел ввиду, как в коде реализовать
Аааа понятно.

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;
            }
        });
    }
});
 
Реакции: Gastello

rundaniss

Участник портала
3 Ноя 2021
120
7
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
451
50
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)
});
 
Реакции: 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;
            }
        });
    }
});
а куда вставить его?
 

November

Искусственный Интеллект
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,934
1,220
181
Аааа понятно.

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();
            }
        });
    }
});
 
Реакции: Mi-Zaft

November

Искусственный Интеллект
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,934
1,220
181

enotit

Высший разум
High developer
BackEnd developer
13 Ноя 2020
1,879
637
187
23
В этом коде есть уязвимость SQL инъекции.
1726497253858.png
а как?
 

November

Искусственный Интеллект
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,934
1,220
181
Реакции: enotit

Similar threads