Gs-client: uid ban system

Gs-client: uid ban system 1.0.8

Нет прав для скачивания

wellasgood

Кидала, мошенник, вымогатель
Сообщения
1,409
Реакции
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
Реакции
410
Помог
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) "вместо тысячи слов"
 

wellasgood

Кидала, мошенник, вымогатель
Сообщения
1,409
Реакции
182
Помог
2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован

wellasgood

Кидала, мошенник, вымогатель
Сообщения
1,409
Реакции
182
Помог
2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
voed, многое поправлено в обновлении (ver 1.0.1), остальное со временем, спасибо за обратную связь.
 
Сообщения
3,569
Реакции
1,560
Помог
133 раз(а)
wellasgood, ты бы хоть написал, что это работает только для ГС.
 

wellasgood

Кидала, мошенник, вымогатель
Сообщения
1,409
Реакции
182
Помог
2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Nordic Warrior, а из названия непонятно?
10 Фев 2020
Оно работает с гс-клиент игроками. (но нон стим также могут играть)
 
Сообщения
3,569
Реакции
1,560
Помог
133 раз(а)
wellasgood, ты думаешь, что много кто вчитывается в названия?
 

wellasgood

Кидала, мошенник, вымогатель
Сообщения
1,409
Реакции
182
Помог
2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Желательно, что-бы сервер был заточен только на гс игроков, а нон стим вообще нельзя
10 Фев 2020
Если нон-стим вообще нельзя, то шансы защиты сервера увеличиваются от недоброжелателей.
10 Фев 2020
Nordic Warrior, ладно, щас где-то впишу, спасибо.
 
Сообщения
315
Реакции
104
Помог
2 раз(а)
Хм, это аналог SuperBan? По описанию "уникальный идентификактор компьютера злоумышленника".... Материнку, чтоль, списывает?)
Я в коде не скриптер, поэтому не судите строго, я просто спрашиваю)
Аналог в плане наказания по железу*
 

wellasgood

Кидала, мошенник, вымогатель
Сообщения
1,409
Реакции
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 + фрешбанс не помню какой версии... для теста. СТИМИД, ИП другие, но комп тот же. Защита от того же компа нет в том плагине
 

wellasgood

Кидала, мошенник, вымогатель
Сообщения
1,409
Реакции
182
Помог
2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
SNauPeR, идея интересная, но мне показалось, что этот плагин должен быть отдельным от других, так как работает по другому принципу. (Другим способом)
 
Сообщения
1,536
Реакции
2,324
Помог
39 раз(а)
Если бы это было для всех - было бы актуально, а так только для игроков-читеров с GS сборкой (их на много порядков меньше, чем игроков с других сборок)
Это работает только с GS сборкой и модулем AuthEmu, другие сборки просто не могут получить метки компьютера.
 
Сообщения
35
Реакции
15
Помог
1 раз(а)
SNauPeR, это невозможно, нужно как то получать идентификатор компьютера. На Non-Steam этого нету, Допбан давно обходят путём чистки конфигов и сменой IP. Самый эффективный вариант, это бан по UID, но это сервер должен быть заточенный под GSClient сборки.
 
Сообщения
271
Реакции
348
Помог
15 раз(а)
nvault/mysql + forward (fb, lb, gmx?)

хотя думаю даже лучше mysql использовать, ибо в fb есть ban_id в форварде forward fbans_player_banned_post(id, uid, ban_id); и можно уже сразу сделать запрос на истёкший бан, чем хранить это.
 

wellasgood

Кидала, мошенник, вымогатель
Сообщения
1,409
Реакции
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
 

wellasgood

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

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

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