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

Недавно обновленные
VendingRedirect
VendingRedirect
0.00 звёзд
Перенаправляет торговые автоматы отсутствующей мирной зоны в доступную.
IQRates
IQRates
4.92 звёзд
Рейтинг контроллер на ваш сервер! Без излишеств с удобным функционалом!
IQWipeBlock
IQWipeBlock
5.00 звёзд
Продвинутая и оптимизированная система временной блокировки оружия
IQSeaContainers
IQSeaContainers
5.00 звёзд
Выброшенные на берег контейнеры, отличное фоновое мероприятие для игроков
Water
Water Event
5.00 звёзд
A new event includes a lot of game mechanics
Supermarket
Supermarket Event
0.00 звёзд
A new event that takes place at the Supermarket monument, made for beginners on your server
Satellite
Satellite Dish Event
5.00 звёзд
It’s an event in the Satellite Dish location
Power
Power Plant Event
5.00 звёзд
It’s an Event in the Power Plant location
Junkyard
Junkyard Event
5.00 звёзд
This event automatically takes place in the Junkyard location if on the map
Harbor
Harbor Event
5.00 звёзд
This event that takes place in Harbor location
Gas
Gas Station Event
0.00 звёзд
In a tense multiplayer event, players are thrust into a violent dispute between two warring gangs, w
Ferry
Ferry Terminal Event
0.00 звёзд
Хотите разнообразить монумент Ferry Terminal на своей карте? Поехали!
Arctic
Arctic Base Event
5.00 звёзд
An event for the Arctic Research Base monument with a plot to rescue both a scientist and a pilot
Air
Air Event
5.00 звёзд
The event is an alternative to the usual cargoship, but it is only in the air
SocialLink
SocialLink
5.00 звёзд
Плагин для привязки аккаунтов игроков к социальным сетям с возможностью отправки уведомлений

pokemon

Пользователь
Сообщения
118
Реакции
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
 
Назад
Сверху Снизу