Приветствую.
Необходимо разработать плагин по типу EnhancedBanSystem
EnhancedBanSystem - не подходит много лишнего
ТЗ:
1. Перехват бана, чтобы баны не писали в bans.cfg
2. Сохранение банов в Mysql
Структура таблиц:
Таблица -
Поля:
Таблица -
Поля:
owner - ник админа который выдал бан:steamID, при автоматическом бане античитом значение "Server"
nickname - есть проблема в EnhancedBanSystem что символы не читаемы растом в нике вызывают фейл и бан не записывается в БД, нужно это решить, может заменой ника на steam_id игрока
reason - будет либо от античита своя либо та которую указали при бане с консоли: ban [STEAMID] [читак] [TIME:1h OR 1d...] или в чате на сервере имея определенный пермишен /ban [STEAMID] [читак] [TIME:1h OR 1d...]
ip - ip игрока
expired - как указал тип данных для хранения "decimal", в случае бана навсегда значение 0, в случае на время unixtime(или что там понятное для раста, при кике пишет на сколько забанен), значение -1 разбанен
Таблица -
owner - ник админа который разбанил:steamId
ban_id - связь с таблицей bans -> id
При выполнении команды с консоли: unban [STEAMID] или в чате на сервере имея определенный пермишен /unban [STEAMID]
3. При заходе игрок проверяется в базе на наличие активных банов на всех серверах, если есть бан хоть на каком либо - кик [reason] [expired] ? [expired]:''
4. Должны быть ланги для RU и EN
5. Раздельные пермишены на бан и разбан
6. Конфиг должен иметь белый списк ip, данный ip из списка игнорируется в случае обхода бана и игрок не отлетает (актуально для тех кто играет с 1 ip и 1 банится и все за ним атоматом).
7. При бане проверка на обход бана сменой аккаунта, проверяется на совпадение ip и если есть бан с там же - бан, причину настраивать в конфиге, дефолт Ban Evade
8. Добавить в конфиг возможность указать свою иконку и префикс для сообщений в чате.
9. Логирование в DiscordMessages по Discord Webhook Url, -> Oxide.Ext.Discord.dll
Формат лога в DS:
Ник игрока (steam id | ip) был забанен за: [reason]
Мой дискорд для связи Ghoster#2473
Ответить
Жалоба Изменить
Необходимо разработать плагин по типу EnhancedBanSystem
EnhancedBanSystem - не подходит много лишнего
ТЗ:
1. Перехват бана, чтобы баны не писали в bans.cfg
2. Сохранение банов в Mysql
Структура таблиц:
Таблица -
servers
Поля:
- id (auto_increment, int 11)
- server_name (varchar 100)
- server_address (ip:port) (varchar 100)
Таблица -
bans
Поля:
- id (auto_increment, int 11)
- steam_id (varchar 100)
- nickname (varchar 100)
- reason (varchar 100)
- ip (varchar 100)
- owner
- expired (decimal)
- server_id
- created (datetime)
- updated (datetime)
owner - ник админа который выдал бан:steamID, при автоматическом бане античитом значение "Server"
nickname - есть проблема в EnhancedBanSystem что символы не читаемы растом в нике вызывают фейл и бан не записывается в БД, нужно это решить, может заменой ника на steam_id игрока
reason - будет либо от античита своя либо та которую указали при бане с консоли: ban [STEAMID] [читак] [TIME:1h OR 1d...] или в чате на сервере имея определенный пермишен /ban [STEAMID] [читак] [TIME:1h OR 1d...]
ip - ip игрока
expired - как указал тип данных для хранения "decimal", в случае бана навсегда значение 0, в случае на время unixtime(или что там понятное для раста, при кике пишет на сколько забанен), значение -1 разбанен
Таблица -
unban
- id (auto_increment, int 11)
- ban_id (int 11)
- owner
- created (datetime)
owner - ник админа который разбанил:steamId
ban_id - связь с таблицей bans -> id
При выполнении команды с консоли: unban [STEAMID] или в чате на сервере имея определенный пермишен /unban [STEAMID]
3. При заходе игрок проверяется в базе на наличие активных банов на всех серверах, если есть бан хоть на каком либо - кик [reason] [expired] ? [expired]:''
4. Должны быть ланги для RU и EN
5. Раздельные пермишены на бан и разбан
6. Конфиг должен иметь белый списк ip, данный ip из списка игнорируется в случае обхода бана и игрок не отлетает (актуально для тех кто играет с 1 ip и 1 банится и все за ним атоматом).
7. При бане проверка на обход бана сменой аккаунта, проверяется на совпадение ip и если есть бан с там же - бан, причину настраивать в конфиге, дефолт Ban Evade
8. Добавить в конфиг возможность указать свою иконку и префикс для сообщений в чате.
9. Логирование в DiscordMessages по Discord Webhook Url, -> Oxide.Ext.Discord.dll
Формат лога в DS:
Ник игрока (steam id | ip) был забанен за: [reason]
Мой дискорд для связи Ghoster#2473
Ответить
Жалоба Изменить