• Из-за обновления 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
3,671
2,848
219
Сам спросил - сам ответил :j3r:
 
Реакции: Inoi

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,671
2,848
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;
            }
        });
    }
});
 
Реакции: 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
454
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;
            }
        });
    }
});
а куда вставить его?
 

enotit

Высший разум
High developer
BackEnd developer
13 Ноя 2020
1,627
518
187
22

enotit

Высший разум
High developer
BackEnd developer
13 Ноя 2020
1,627
518
187
22

Vermilion

Высший разум
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,355
806
181
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();
            }
        });
    }
});
 
Реакции: Mi-Zaft

Vermilion

Высший разум
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,355
806
181
34

enotit

Высший разум
High developer
BackEnd developer
13 Ноя 2020
1,627
518
187
22

Vermilion

Высший разум
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,355
806
181
34
Реакции: enotit