Участник
Пользователь
- Сообщения
- 330
- Реакции
- 93
- Помог
- 2 раз(а)
Решил написать "требования" к начинке современной бан системы (для тех, кто будет делать новую, если найдёт силы, нервы, время). Ваши и моё мнение будет различаться, поэтому жду комментария с чем вы согласны и нет. Всё "нужное" будет добавляться, "лишние" убираться. (Совет: прочитать про наработки GM-X)
- Баны/Кики/Пометки игрока
- Администратор может банить игрока по Steam/IP/Steam+IP. Доступ к такой функции выдаётся по флагу/группе. Если доступа не будет или такой IP/Steam в исключениях, то тип определяется автоматически.
- Автоматический бан будет определяться по Steam игрока. Если не удалось получить Steam (HLTV / STEAM_ID_LAN / VALVE_ID_LAN / VALVE_ID_PENDING / STEAM_ID_PENDING / нет совпадений с STEAM_ / VALVE_), то бан по IP, если Steam (STEAM_0: / STEAM_0:2), то бан по Steam (Non-Steam должен иметь любой формат, кроме STEAM_0: т.к. это выдаётся Steam-клиентам, но это под ? т.к. и такое уже давно возможно), если это Non-Steam, то бан идёт по Steam+IP.
- Возможность банить игроков не только через консоль (_ban, _banid, _banip), но и через чат, где из индификатора можно указать только часть ника и выбрать игрока, если есть совпадения >1 (Иммунитет исключается, если нет прав банить таких, либо это бот / hltv сервера. Если не указывать тип бана, то автоматическое определение. Если нет причины, то дефолт причина. Если у администратора фиксированное время и причина не дефолт, то максимальное кастомное время, иначе если фикс. время и не кастом, то будет время причины)
- Возможность кикать игроков через чат. Всё почти аналогично бану в чате. Если ник администратора не скрыт и/или имеется причина, то это будет писаться в консоль игрока соответственно. (Кроме ника администратора пишется и его стим, дабы можно было найти админа для жалобы)
- Меню с подтверждением бана/кика игрока, где можно было бы изменить данные, дабы не было случайностей.
- Проверка игрока/История банов игрока
- Когда игрок авторизуется, то будут проверки на наличие активного бана/активной пометки.
- Если проверка пройдена, то администраторам в чат будет написано кол-во старых банов, а также причину последней блокировки, если такие имеются. Если игрок помечен, то напишется информация о данной пометке.
- Консольная команда _find показывает историю банов игрока в консоль администратора. (Steam, IP игрока, id бана, ник игрока, причину, ник администратора, Steam администратора, продолжительность бана, сколько осталось, название сервера и карты, ip сервера. Лимит в 10 историй по 11 строк каждая с учётом разделения: пустой строкой и "полосой" в начале и конце.)
- У помеченного игрока пишется причина, ник администратора.
- Когда будут добавлять/снимать пометку, то в чате появится уведомление для всех администраторов. (администратор, продолжительность пометки, ник игрока, причина)
- Префиксы/Gag/Чат
- Настройка идёт через БД/файл. Выдача по Нику/Флагу/IP/Steam/Группе.
- Можно выбрать как цвет префикса, так и цвет сообщения администратора.
- Администратор может зайти/выйти из своего аккаунта в чате с помощью команды.
- Возможность выдавать gag игрокам через чат (Если нет времени, то значение из авто-гага. Если нет причины, то дефолт значение. Если нет флагов, то полный гаг).
- Авто-гаг выдаётся, если n% игроков написало /mute на игрока.
- Gag проверяет на ссылки (разрешённые и блокируемые), флуд, капс.
- Возможность давать иммунитет от gag`а (Steam/IP/Нику/Флагу/Группе).
- При подключении игрока пишется кол-во его гагов, также причину последней блокировки.
- Гаги, как и баны, буду отправляться в БД (они не будут удаляться автоматически).
- БД
- Поддержка MySQL, SQLite.
- Бан/Гаг/Пометка будет автоматически менять свой статус, если время истекло, без участия игрока.
- Если при бане игрока нет подключения к БД, то вся информация будет записываться в файл/временную БД, откуда будет браться информация для проверки игрока при подключение (для игроков, которые получили блокировку во время не работы основной БД). Если на след. карте подключение будет работать, то все данные будут отправляться в основную БД, после чего файл/временная БД очиститься. Для пометок/гагов игроков аналогично.
- При смене карты или перезагрузке администраторов будет обновляться файл с их данными, дабы они могли находиться на сервере, когда пропадёт подключение к основной БД.
Не все задумки написал, не всё нужно затронул, есть неточности, но лучше пока так.
Последнее редактирование модератором: