Gs-client: uid ban system

Gs-client: uid ban system 1.0.8

Нет прав для скачивания
Сообщения
1,408
Реакции
182
Помог
2 раз(а)
wellasgood добавил(а) новый ресурс:

GS-Client: Uid Ban System - Способ бана плохих игроков на сервере

Description: The plugin works on this principle: if there is an attacker on the server (a bad player), and it is necessary not to let him on the server at all, then select the desired player through the menu, then the UID (unique identifier of the attacker's computer) is recognized using the authemu module. There is a ban on this ID, it is entered in a separate one .txt file. When you next visit the server of such a player, it will not be allowed, since the plugin checks all IDs from the...
Узнать больше об этом ресурсе...
 
Сообщения
432
Реакции
409
Помог
14 раз(а)
Код:
set_task_ex(1.0, "PlayerKick", Player);
Что будет если за эту секунду игрок выйдет, а на его слот зайдет другой?

Код:
new Data[DATA_LENGHT_TWO], f = fopen(fmt("%s/%s", Folder, AccessFile), "at");
    new UIDHash[DATA_LENGHT_TWO];

    aemu_get_clientinfo(Player, aci_unique_id, UIDHash, charsmax(UIDHash));

    formatex(Data, charsmax(Data), "%s", UIDHash);
    write_file(fmt("%s/%s", Folder, AccessFile), Data, -1);
    fclose(f);
write_file сам открывает и закрывает файл, в лучшем случае ты делаешь работу дважды, в худшем - в файл ничего не запишется, он ведь уже открыт.

Код:
    if(!is_user_alive(Player)){
        return ITEM_DISABLED;
    }
...

Код:
    DATA_LENGHT_ONE = 6,
    DATA_LENGHT_TWO = 11,
Очень информативно

Код:
    new f = fopen(fmt("%s/%s", Folder, AccessFile), "rt");

    while(!feof(f)){
        fgets(f, Data, charsmax(Data));
        trim(Data);

        if(!Data[0]){
            continue;
        }

        parse(Data, UIDHashOld, charsmax(UIDHashOld));

        if(equal(UIDHashOld, UIDHashNew)){
            set_task_ex(1.0, "PlayerKick", Player);
        }
    }

    fclose(f);
nvault_get(vault, UIDHashNew) "вместо тысячи слов"
 
Сообщения
1,408
Реакции
182
Помог
2 раз(а)
voed, многое поправлено в обновлении (ver 1.0.1), остальное со временем, спасибо за обратную связь.
 
Сообщения
3,374
Реакции
1,479
Помог
124 раз(а)
wellasgood, ты бы хоть написал, что это работает только для ГС.
 
Сообщения
1,408
Реакции
182
Помог
2 раз(а)
Nordic Warrior, а из названия непонятно?
10 Фев 2020
Оно работает с гс-клиент игроками. (но нон стим также могут играть)
 
Сообщения
3,374
Реакции
1,479
Помог
124 раз(а)
wellasgood, ты думаешь, что много кто вчитывается в названия?
 
Сообщения
1,408
Реакции
182
Помог
2 раз(а)
Желательно, что-бы сервер был заточен только на гс игроков, а нон стим вообще нельзя
10 Фев 2020
Если нон-стим вообще нельзя, то шансы защиты сервера увеличиваются от недоброжелателей.
10 Фев 2020
Nordic Warrior, ладно, щас где-то впишу, спасибо.
 
Сообщения
315
Реакции
104
Помог
2 раз(а)
Хм, это аналог SuperBan? По описанию "уникальный идентификактор компьютера злоумышленника".... Материнку, чтоль, списывает?)
Я в коде не скриптер, поэтому не судите строго, я просто спрашиваю)
Аналог в плане наказания по железу*
 
Сообщения
1,408
Реакции
182
Помог
2 раз(а)
SNauPeR, доброй ночи.

Информация из .inc файла модуля authemu:

C++:
/*
    * Description:      The unique hash ID of client.
    * Data type:        char [65]
    * Get params:       aemu_get_clientinfo(const index, authemu_client_info:aci_type);
    */
    aci_unique_id,

/*
Да, банит по этой информации, которая привязана к компьютеру с которого играет недоброжелатель.

Т.е проще говоря, эту информацию никак не стереть, не подменить (по крайней мере обычным игрокам это точно не получится сделать), в отличии от ip, Steam id (которые с лёгкостью можно обойти)
 
Последнее редактирование:
Сообщения
315
Реакции
104
Помог
2 раз(а)
wellasgood, не подменить, мысль интересная!)
Если бы это было для всех - было бы актуально, а так только для игроков-читеров с GS сборкой (их на много порядков меньше, чем игроков с других сборок)
Вам бы с Мазданом(Данилом) поговорить) Допбан усилить, так скажем)
10 Фев 2020
К чему мысль, кстати написал. Его допбан можно обойти. Можно, но это стоит неимоверных усилий и кучи утилит) Я 1 раз обошел допбан 3.0.3 + фрешбанс не помню какой версии... для теста. СТИМИД, ИП другие, но комп тот же. Защита от того же компа нет в том плагине
 
Сообщения
1,408
Реакции
182
Помог
2 раз(а)
SNauPeR, идея интересная, но мне показалось, что этот плагин должен быть отдельным от других, так как работает по другому принципу. (Другим способом)
 
Сообщения
1,536
Реакции
2,319
Помог
39 раз(а)
Если бы это было для всех - было бы актуально, а так только для игроков-читеров с GS сборкой (их на много порядков меньше, чем игроков с других сборок)
Это работает только с GS сборкой и модулем AuthEmu, другие сборки просто не могут получить метки компьютера.
 
Сообщения
35
Реакции
15
Помог
1 раз(а)
SNauPeR, это невозможно, нужно как то получать идентификатор компьютера. На Non-Steam этого нету, Допбан давно обходят путём чистки конфигов и сменой IP. Самый эффективный вариант, это бан по UID, но это сервер должен быть заточенный под GSClient сборки.
 
Сообщения
271
Реакции
347
Помог
15 раз(а)
nvault/mysql + forward (fb, lb, gmx?)

хотя думаю даже лучше mysql использовать, ибо в fb есть ban_id в форварде forward fbans_player_banned_post(id, uid, ban_id); и можно уже сразу сделать запрос на истёкший бан, чем хранить это.
 
Сообщения
1,408
Реакции
182
Помог
2 раз(а)
Minni, Вкурсе, только обычному игроку это недоступно, да и захочет ли он напрягаться? И мудрить что то со своим компом.
10 Фев 2020
Опять же 100% защиты никто не обещает.
10 Фев 2020
Код:
set_task_ex(1.0, "PlayerKick", Player);
Что будет если за эту секунду игрок выйдет, а на его слот зайдет другой?

Код:
new Data[DATA_LENGHT_TWO], f = fopen(fmt("%s/%s", Folder, AccessFile), "at");
    new UIDHash[DATA_LENGHT_TWO];

    aemu_get_clientinfo(Player, aci_unique_id, UIDHash, charsmax(UIDHash));

    formatex(Data, charsmax(Data), "%s", UIDHash);
    write_file(fmt("%s/%s", Folder, AccessFile), Data, -1);
    fclose(f);
write_file сам открывает и закрывает файл, в лучшем случае ты делаешь работу дважды, в худшем - в файл ничего не запишется, он ведь уже открыт.

Код:
    if(!is_user_alive(Player)){
        return ITEM_DISABLED;
    }
...

Код:
    DATA_LENGHT_ONE = 6,
    DATA_LENGHT_TWO = 11,
Очень информативно

Код:
    new f = fopen(fmt("%s/%s", Folder, AccessFile), "rt");

    while(!feof(f)){
        fgets(f, Data, charsmax(Data));
        trim(Data);

        if(!Data[0]){
            continue;
        }

        parse(Data, UIDHashOld, charsmax(UIDHashOld));

        if(equal(UIDHashOld, UIDHashNew)){
            set_task_ex(1.0, "PlayerKick", Player);
        }
    }

    fclose(f);
nvault_get(vault, UIDHashNew) "вместо тысячи слов"
voed ,

C++:
nvault_get(vault, UIDHashNew)
"вместо тысячи слов"

не подойдет, нужна возможность самому вносить UID в файл. А nvault файл просто так не отредактируешь.
10 Фев 2020
Denzer, nvault конечно хорошо, я даже хочу сделать, но файл этот nvault редактировать сложно, а нужна возможность самому вносить UID
 
Сообщения
1,408
Реакции
182
Помог
2 раз(а)
Пока что остановился на sql, но не у всех есть возможномть юзать его. (в обновление сделаю поддержку разных способов хранений)
Каждый выберет для себя сам как ему хранить UID забаненных игроков.
 
Сообщения
52
Реакции
34
с таким уровнем админов на пабликах, которые в холодном поту по ночам просыпаются, что читеры окружают, пора в бан-системах не всякие метки добавлять, а двери оставлять
 
Сообщения
432
Реакции
409
Помог
14 раз(а)
А nvault файл просто так не отредактируешь.
А в чем сложность?
И еще фокус: можно кэшировать в Trie хотя бы забаненных на текущей карте, чтоб не дергать файл при каждом коннекте.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу