Разработать плагин бан системы

Недавно обновленные
IQInfo
IQInfo
5.00 звёзд
Добавляет новое, информативное меню на ваш сервер с приятным UI
IQDefenderSupply
IQDefenderSupply
5.00 звёзд
Плагин добавляет защищенный груз ученых, который обладает броней и защитой, попробуй отобрать!
IQCases
IQCases
5.00 звёзд
Лучшие система кейсов на ваш сервер, приятный дизайн,огромный функционал
Blight
Blight Island
0.00 звёзд
4500, ~71к префабов
XGiftThrower
XGiftThrower
0.00 звёзд
Подаркомёт который может подарить все. Даже коптер под ёлочку.
XLevels
XLevels (BattlePass)
5.00 звёзд
Уровни и награды для вашего сервера.
IQHandFight
IQHandFight
5.00 звёзд
Добавь на свой сервер рукопашный бой, долой этот камень!
CreativeTurret
CreativeTurret
0.00 звёзд
Добавляет новую турель которую игроки могут размещать на любой поверхности
CaseHook
CaseHook
0.00 звёзд
Позволяет привязывать контейнеры к специальным сумкам и получать удалённый доступ к их содержимому.
MonumentReset
MonumentReset
0.00 звёзд
Добавляет в игру специальную гранату, которая позволяет мгновенно сбросить (reset) монумент
IQBearRide
IQBearRide
5.00 звёзд
Усмири и приручи дикого медведя! Медведь это неплохая замена лошади!
CustomRocketLauncher
CustomRocketLauncher
0.00 звёзд
Добавляет на сервер кастомную ракетницу с гибкой настройкой характеристик.
IQPotionFarm
IQPotionFarm
5.00 звёзд
"Зельевая" ферма, которая добавит возможность выпить его или продать!
IQTeamLimitter
IQTeamLimitter
5.00 звёзд
Лимитируйте количество тим, чтобы игроки не нарушали правила, постоянно меняя команды
UraniumTools
UraniumTools
5.00 звёзд
Необычные инструменты для ваших игроков, иной взгляд на магические инструменты

pokemon

Пользователь
Сообщения
123
Реакции
14
Приветствую.
Необходимо разработать плагин по типу 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
 
Назад
Сверху Снизу