Плагин Защита UltimateServerProtector [33.4]

UltimateServerProtector
Краткое описание:
Многофункциональный плагин на защиту вашего сервера и её администрации!
1 260
10 696
  • Лайк 0
  • Gold love
  • Ниндзя
Реакции:373 пользователей

Предыдущие версии [30]

Другие версии

Последние обновления

33.4

Исправлена работа команд и ивентов на ядре Spigot. Значительно оптимизирована работа обратного...

33.3

Теперь информация об игроке загружается до вызова ServerProtectorCaptureEvent, что исправит...

33.2

Хотфикс - исправление удаления эффектов на старых версиях
Смотреть еще...
Для версий
  1. 1.8.✘
  2. 1.9.✘
  3. 1.10.✘
  4. 1.11.✘
  5. 1.12.✘
  6. 1.13.✘
  7. 1.14.✘
  8. 1.15.✘
  9. 1.16.✘
  10. 1.17.✘
  11. 1.18.✘
  12. 1.19.✘
  13. 1.20.✘
  14. 1.21.✘
Java
  1. Java 17
  2. Java 18
  3. Java 19
  4. Java 20
  5. Java 21
  6. Java 22
Исходный код
https://github.com/Overwrite987/UltimateServerProtector
Описание: Это невероятно гибкий плагин на админ-пароль. У вас есть возможность самим настроить права, за которые игроку будет необходимо ввести админ-пасс и самое важное - установить каждому игроку свой личный админ-пасс. В плагине устранены все недочеты его предшественников!

Особенности: Главными особенностями стоит считать функцию добавления прав на проверку и создание каждому игроку личного админ-пароля! Всё вместе это создает фактически непреодолимый барьер для взломщика.

Каждая попытка входа админа может быть записана в логи в отдельном файле в папке плагина. Также может логгироваться каждое включение и выключение поагина.

Вы можете добавить список админских IP адресов и если кто-то захочет взломать аккаунт админа, к нему будет применено наказание.

Также есть возможность добавлять команды, которые игрок сможет писать еще до ввода админ-пароля, что удобно, если вы используете плагины по типу AuthMe.

Стоит сказать, что если игрок не записан в конфиге, но имеет админ-права, то при включенной функции punish, вы сможете наказать игрока, незаконно получившего админ-права как угодно.
Чужой админ-пасс использовать для входа кстати не выйдет.

Конфигурация:
YAML:
#
#▀██▀  ▀█▀ ▀██    ▄    ██                       ▄            ▄█▀▀▀▄█                                           ▀██▀▀█▄                    ▄                     ▄                
# ██    █   ██  ▄██▄  ▄▄▄  ▄▄ ▄▄ ▄▄    ▄▄▄▄   ▄██▄    ▄▄▄▄   ██▄▄  ▀    ▄▄▄▄  ▄▄▄ ▄▄  ▄▄▄▄ ▄▄▄   ▄▄▄▄  ▄▄▄ ▄▄   ██   ██ ▄▄▄ ▄▄    ▄▄▄   ▄██▄    ▄▄▄▄    ▄▄▄▄  ▄██▄    ▄▄▄   ▄▄▄ ▄▄
# ██    █   ██   ██    ██   ██ ██ ██  ▀▀ ▄██   ██   ▄█▄▄▄██   ▀▀███▄  ▄█▄▄▄██  ██▀ ▀▀  ▀█▄  █  ▄█▄▄▄██  ██▀ ▀▀  ██▄▄▄█▀  ██▀ ▀▀ ▄█  ▀█▄  ██   ▄█▄▄▄██ ▄█   ▀▀  ██   ▄█  ▀█▄  ██▀ ▀▀
# ██    █   ██   ██    ██   ██ ██ ██  ▄█▀ ██   ██   ██      ▄     ▀██ ██       ██       ▀█▄█   ██       ██      ██       ██     ██   ██  ██   ██      ██       ██   ██   ██  ██  
#  ▀█▄▄▀   ▄██▄  ▀█▄▀ ▄██▄ ▄██ ██ ██▄ ▀█▄▄▀█▀  ▀█▄▀  ▀█▄▄▄▀ █▀▄▄▄▄█▀   ▀█▄▄▄▀ ▄██▄       ▀█     ▀█▄▄▄▀ ▄██▄    ▄██▄     ▄██▄     ▀█▄▄█▀  ▀█▄▀  ▀█▄▄▄▀  ▀█▄▄▄▀  ▀█▄▀  ▀█▄▄█▀ ▄██▄ 
#                                                                                                                                                                                

# Основные настройки
main-settings:
# Форматирование текста.
  # LEGACY - цвет через &, MINIMESSAGE - цвет через <цвет>
  # MINIMESSAGE был добавлен в новых версиях (1.17+)
  serialiser: LEGACY
# Если стоит true - сообщения будут отправляться по всей сети серверов которые стоят на прокси.
  proxy: false
# Префикс плагина
  prefix: '&f&l[&c&lЗащита&f&l]'
  # Если указано false, то для ввода пароля нужно будет написать пароль в чат
  use-command: true
# Команда ввода пароля. (указывается без / в начале) (по умолчанию - pas) (на spigot команда не регистрируется!)
  pas-command: 'pas'
  # Включить ли команды добавления новых игроков в конфиг
  enable-admin-commands: false
# Отправлять ли анонимную статистику (советую не отключать)
  enable-metrics: true
# Проверять ли на наличие обновлений (советую не отключать)
  update-checker: true
# Интервал основной проверки в тиках (не трогайте, если не знаете, как это работает)
  check-interval: 40

# Настройки шифрования паролей
encryption-settings:
# Включить ли шифрование
  # При использовании шифрования пароль в data.yml необходимо будет указывать в уже зашифрованном формате и в отдельной графе encrypted-pass:
  # Чтобы узнать как будет выглядеть пароль в зашифрованном виде можно использовать команду /usp encrypt <пароль>
  # Однако, если включена опция auto-encrypt-passwords - в data.yml можно будет указать обычный пароль в старом формате pass: и плагин автоматически конвертирует его
  enable-encryption: false
# Метод шифрования паролей (Поддерживаемые типы: BASE64, MD5, SHA224, SHA256, SHA384, SHA512, SHA3-224, SHA3-256, SHA3-384, SHA3-512)
  # BASE64 - Это "шифрование" не обеспечивает защиту данных; это просто метод преобразования данных в другой формат для передачи по сети или хранения.
  # Используйте BASE64 только в случае, если боитесь "случайно показать файл с паролями на демке" и вам не нужно конкретно скрывать данные или же для усложнения шифрования
  # MD5 - Старый метод шифрования, подверженный коллизиям (случай, когда 2 разных значения в зашифрованом виде дают одинаковые значени)
  # Используйте MD5 в случае, если хотите скрыть данные и в то же время что-то легкое
  # SHA256 и прочие SHA - разновидности алгоритма SHA
  # Используйте SHA256 если хотите надежно скрыть пароли без возможности расшифровки и SHA512 для еще более эффективного шифрования
  # SHA3-256 и прочие SHA3 - аналог обычного SHA с измененным алгоритмом шифрования.
  # Используйте SHA3 в случае если желаете сделать нестандартное и одновременно сильное шифрование
  # Вы можете использовать 2 и более шифрования одновременно для большей сохранности ваших паролей, чтобы их нельзя было так просто сбрутить
  # Шифрование будет выполняться по порядку 1;2;3 и так далее. Важно - глубокое шифрование может занять много времени, по этому не используйте их много
  # Для наложения соли (рандомной строки к уже существующему паролю) используется SALT. Накладывать можно лишь 1 раз
  encrypt-method: 'BASE64;SALT;MD5'
  # Если вы использовали какой-либо метод шифрования и по какой-либо причине решили его заменить - вы можете указать его здесь, чтобы не потерять данные
  old-encrypt-methods: []
# Длинна динамически-генерируемой соли. Чем она больше, тем более эффективно защищены пароли.
  salt-length: 24
# Включить ли автоматическое шифрование всех имеющихся паролей из файла data.yml при запуске и рестарте плагина
  # Данная функция автоматически переведет все пароли из формата pass: в формат encrypted-pass:, зашифровав имеющиеся на данный момент пароли
  # Если данных файле много - автоматическое шифрование может занять много времени! Отключите в случае возникновения проблем.
  auto-encrypt-passwords: true

# Настройки файлов
file-settings:
# Имя файла с данными игроков. (по умолчанию - data.yml)
  data-file: 'data.yml'
  # Имя файла с логами. (по умолчанию - log.yml)
  log-file: 'log.yml'
  # Если эта настройка включена, то вам нужно будет указать полный путь до файла
  # Пример: root/server/plugins/UltimateServerProtector/data.yml
  use-full-path: false
# Путь к файлу data.yml
  data-file-path: '/root/server/plugins/UltimateServerProtector/'
  # Путь к файлу log.yml
  log-file-path: '/root/server/plugins/UltimateServerProtector/'
 
# Настройки дополнительных блокировок
blocking-settings:
# Блокировать ли выбрасывание предметов
  block-item-drop: true
# Блокировать ли подбор предметов
  block-item-pickup: true
# Блокировать ли таб-комплит (работает против /ver + tab)
  block-tab-complete: true
# Делать ли игрока бессмертным во время ввода пароля
  block-damage: true
# Блокировать ли возможность наносить вред мобам и игрокам во время ввода пароля
  block-damaging-entity: true
# Блокировать ли возможность открывать инвентари во время ввода пароля (меню и т.п.)
  block-inventory-open: false
# Скрывать ли игрока из таб листа при вводе пароля
  hide-on-entering: true
# Скрывать ли других игроков от человека вводящего пароль
  hide-other-on-entering: true

# Настройки сессии
session-settings:
# Сохранять ли данные об игроке чтобы ему не нужно было вводить админ пас при перезаходе
  session: true
# Удалять ли данные об игроке через некоторое время
  session-time-enabled: false
# Время через которое данные о зарегистрированном игроке удалятся в секундах (отсчет идет от момента ввода пароля)
  session-time: 21600 #(6 часов)

# Настройки наказаний
punish-settings:
# Включить ли наказания за неверно введенный админ-пароль
  enable-attempts: true
# Максимальное число попыток ввода админ-пароля
  max-attempts: 3
# Включить ли время на ввод админ-пароля
  enable-time: true
# Время за которое игрок будет должен ввести админ-пароль в секундах
  time: 60

# Настройка боссбара (работает только, если включено время для входа)
bossbar-settings:
# Включить ли боссбар
  enable-bossbar: true
# Цвет боссбара (PINK, BLUE, RED, GREEN, YELLOW, PURPLE, WHITE)
  bar-color: RED
# Тип боссбара (SOLID, SEGMENTED_6, SEGMENTED_10, SEGMENTED_12, SEGMENTED_20)
  bar-style: SEGMENTED_12
 
# Настройки повышенной безопасности
secure-settings:
# Применять ли наказания к операторам которых нет в списке
  enable-op-whitelist: false
# Применять ли наказания к тем, кто не находится в конфиге, но имеет админ-права
  enable-notadmin-punish: false
# Применять ли наказания к людям, которые имеют запрещенные права
  enable-permission-blacklist: false
# Включить ли IPWhitelist для администраторов
  enable-ip-whitelist: false
# Включить ли возможность использовать команду /usp только из консоли
  only-console-usp: false
# Выключать ли сервер, если отключается плагин
  shutdown-on-disable: true
# Выключать ли сервер только если включены плугмано-подобные плагины
  shutdown-on-disable-only-if-plugman: true
# Разрешить ли ряду игроков входить в игру без админ пароля (отключено по умолчанию и небезопасно)
  enable-excluded-players: false
# Вызывать ли ServerProtectorPasswordEnterEvent при вводе пароля игроком? (Отключено по умолчанию в целях безопасности)
  call-event-on-password-enter: false

# Настройки показа сообщений
message-settings:
# Задержка между авто-сообщениями и тайтлами в секундах
  delay: 2
# Включить ли сообщения на весь экран
  send-titles: true
# Включить ли оповещения для администраторов
  enable-broadcasts: true
# Включить ли оповещения для консоли
  enable-console-broadcasts: true

# Настройки звуков, которые будут проигрываться при вводе команд/действиях
sound-settings:
# Включить ли звуки при командах
  enable-sounds: true
# Звук при поимке админа с правами (формат - ЗВУК;ГРОМКОСТЬ;ТОНАЛЬНОСТЬ)
  on-capture: ENTITY_ITEM_BREAK;1.0;1.0
# Звук при неверном пароле
  on-pas-fail: ENTITY_VILLAGER_NO;1.0;1.0
# Звук при верном пароле
  on-pas-correct: ENTITY_PLAYER_LEVELUP;1.0;1.0

# Настройка эффектов, которые даются до ввода пароля
effect-settings:
# Включить ли эффект, который будет выдаваться админу, до ввода пароля
  enable-effects: true
# Какие эффекты накладывать на игрока (ЭФФЕКТ;УРОВЕНЬ)
  effects:
- 'BLINDNESS;3'

# Настройки логгирования
logging-settings:
# Записывать ли в файл удачные/неудачные попытки ввода пароля
  logging-pas: true
# Записывать ли в файл присоединения игроков с админ-правами
  logging-join: true
# Записывать ли в файл включение и отключение плагина
  logging-enable-disable: true
# Записывать ли в файл исполнение команд плагином из раздела ниже?
  logging-command-execution: true
 
# Команды, которые будут применяться к нарушителям
commands:

# Команды, которые будут применяться к тем, у кого есть админ-права, но кого нет в конфиге
  not-in-config:
- 'kick %player% Вас нет в списке администраторов!'
  - 'deop %player%'
 
# Команды, которые будут применяться к тем, у кого есть админ-права, но он не прописан в вайтлисте
  not-in-opwhitelist:
- 'deop %player%'
  #- 'ban %player% Вам нельзя иметь права оператора!'
 
# Команды, которые будут применяться к тем, кто имеет запрещенные права (отключено по умолчанию)
  have-blacklisted-perm:
- 'lp user %player% permission clear'
  #- 'ban %player% Вам нельзя иметь такие права!'
 
# Команды, которые будут применяться к тем, кто вошел с админ-правами, указан в конфиге, но имеет не админский IP (отключено по умолчанию)
  not-admin-ip:
- 'kick %player% Ваш IP не находится в вайтлисте'
  #- 'deop %player'
 
# Команды, которые будут применяться к тем, кто ввел пас неверно за отведенные ему попытки
  failed-pass:
- 'ban %player% Вы ввели админ-пароль неверно, ваш аккаунт заморожен'
  - 'deop %player%'
 
# Команды, которые будут применяться к тем, кто не ввел пас за отведенное время
  failed-time:
- 'ban %player% Вы не успели ввести админ-проль за отведенный срок'
  - 'deop %player%'
 
# Права, за которые игроку будет необходимо ввести админ-пароль (не стесняйтесь добавлять свои!)
permissions:
- '*'
 - 'bukkit.*'
 - 'minecraft.*'
 - 'essentials.*'
 - 'cmi.*'
 - 'worldguard.*'
 - 'worldedit.*'
 - 'fawe.*'
 - 'permissions.*'
 - 'luckperms.*'
 - 'luckperms.editor'
 - 'luckperms.applyedits'
 - 'citizens.*'
 - 'citizenscmd.*'
 - 'znpcs.*'
 - 'holograms.*'
 - 'multiverse.*'
 - 'coreprotect.*'
 - 'mycommand.*'
 - 'towny.*'
 - 'matrix.*'
 - 'vulcan.*'
 - 'dh.admin'
 - 'ls.admin'
 - 'fawe.admin'
 - 'authme.admin'
 - 'protocol.admin'
 - 'placeholderapi.admin'
 - 'plugman.admin'
 - 'plugman.download'
 - 'serverprotector.admin'

# Права, которые никто, кроме игроков из раздела excluded-players, не сможет иметь (отключено по умолчанию.)
blacklisted-perms:
- '*'

# Команды, которые можно вводить до ввода админ-пароля (указывать вместе с /)
allowed-commands:
- '/l'
 - '/login'
 - '/reg'
 - '/register'
 - '/captcha'

# Каким игрока разрешно иметь ОП права
op-whitelist:
 - Overwrite
 - test99999
 
# С каких IP и каким игрокам разрешено входить с админ-правами
# Вы можете указать только часть IP адреса, чтобы разрешить вход людям с динамическим IP. К примеру 1.2.3.4 -> 1.2.3.*
ip-whitelist:
# Игрок 1
    test99999:
      - 127.0.0.1
      - 0.0.0.0
# Игрок 2
    test123123:
      - 228.13.37.*
 
# Какие игроки будут исключены из проверок (каждой проверке - свой тип)
excluded-players:
# Игроки, которым не нужно будет вводить админ-пароль
    admin-pass:
      - test99999
      - test123123
# Игроки, которые не будут проверяться на наличие в op-whitelist
    op-whitelist:
      - test99999
      - test123123
# Игроки, которые не будут проверяться на наличие в ip-whitelist
    ip-whitelist:
      - test99999
      - test123123
# Игроки, которым можно будет иметь заблокированные права
    blacklisted-perms:
      - test99999
      - test123123

YAML:
# Сообщения которые будет выводиться людям при вводе команды
msg:
  message: '%prefix% &fУ вас обнаружены админ-права. Вы должны ввести админ-пароль!'
  incorrect: '%prefix% &cВведенный тобой пароль неверен!'
  correct: '%prefix% &aПароль верный. Добро пожаловать на сервер.'
  noneed: '%prefix% &fВам не нужно вводить админ-пароль или он уже был введен.'
  cantbenull: '%prefix% &fПас не может быть пустым.'
  playeronly: '%prefix% &fТолько для игроков'

# Оповещения для консоли и администраторов сервера
broadcasts:
  failed: '%prefix% &fАдминистратор &3%player% &fввел админ-пас &cнеудачно! &fIP адрес: &c%ip%'
  passed: '%prefix% &fАдминистратор &3%player% &fввел админ-пас &aуспешно! &fIP адрес: &c%ip%'
  joined: '%prefix% &fАдминистратор &3%player% &fвошел в игру. &fIP адрес: &c%ip%'
  captured: '%prefix% &fИгрок &3%player% &fбыл пойман с админ-правами! &fIP адрес: &c%ip%'
  disabled: '%prefix% &6&lВнимание! &fПлагин был отключен!'

# Как сообщения будут отображаться в логах
log-format:
  enabled: '%date% [UltimateServerProtector - плагин включён]'
  disabled: '%date% [UltimateServerProtector - плагин выключён]'
  failed: '%date% Администратор %player% ввел админ-пас неудачно! IP адрес: %ip%'
  passed: '%date% Администратор %player% ввел админ-пас успешно! IP адрес: %ip%'
  joined: '%date% Администратор %player% вошел в игру. IP адрес: %ip%'
  captured: '%date% Игрок %player% был пойман с админ-правами! IP адрес: %ip%'
 
# Сообщения которые будут высвечиваться на экране
titles:
  message: '&e&l⚠ &c&lЗащита &e&l⚠;&fОбнаружены админ-права! Вводи админ-пароль!;10;60;15'
  incorrect: '&e&l⚠ &c&lЗащита &e&l⚠;&cПароль неверен!;10;60;15'
  correct: '&e&l⚠ &c&lЗащита &e&l⚠;&aПароль верный. Добро пожаловать.;10;60;15'
 
# Сообщение в босс-баре
bossbar:
  message: '&fОсталось: &c%time% секунд'

# Сообщение при вводе команды /usp (админ-команд)
uspmsg:
  consoleonly: '&cДанная команда может быть исполнена только из консоли!'
  reloaded: '&aПлагин перезагружен'
  rebooted: '&aПлагин перезапущен'
  playernotfound: '&cАккаунт %nick% не найден в системе!'
  alreadyinconfig: '&aДанный аккаунт уже находится в конфиге'
  notinconfig: '&cДанный аккаунт не находится в конфиге'
  playeradded: '&aИгрок %nick% успешно добавлен'
  playerremoved: '&aИгрок успешно удалён'
  ipadded: '&aIP %ip% успешно добавлен'
  setpassusage: '&f/%cmd% setpass (ник) (пароль)'
  addopusage: '&f/%cmd% addop (ник)'
  addipusage: '&f/%cmd% addip (ip)'
  rempassusage: '&f/%cmd% rempass (ник)'
  remopusage: '&f/%cmd% remop (ник)'
  remipusage: '&f/%cmd% rempip (ip)'
  usage: '&7&l> &7Использование:'
  usage-reload: '&6/%cmd% reload&7 - перезагрузить конфиг'
  usage-reboot: '&6/%cmd% reboot&7 - перезапустить плагин'
  usage-setpass: '&6/%cmd% setpass (ник) (пароль) &7- установить пароль игроку'
  usage-rempass: '&6/%cmd% rempass (ник) &7- удалить пароль игроку'
  usage-addop: '&6/%cmd% addop (ник) &7- добавить игрока в op-whitelist'
  usage-remop: '&6/%cmd% remop (ник) &7- удалить игрока из op-whitelist'
  usage-addip: '&6/%cmd% addip (ник) (ip) &7- добавить игрока и его ip в ip-whitelist'
  usage-remip: '&6/%cmd% remip (ник) (ip) &7- удалить игрока и его ip из ip-whitelist'

YAML:
# Уникальные пароли для игроков
data:
  Overwrite: # игрок 1
    pass: '123123' # админ-пасс игрока 1
  test99999: # игрок 2
    pass: '321321' # админ-пасс игрока 2

Разрешения:
serverprotector.protect - при наличии просит игрока ввести админ-пароль. Вставлен в плагин для того, чтобы вам не пришлось указывать лишний пермишн в конфиге.
serverprotector.admin - позволяет использовать команду /usp и видеть оповещения об успешных/провальных попытках ввода пароля

Команды:
/pas <пароль> - необходимо иметь админ-права или ОП, чтобы ввести её.
(эту команду вы можете изменить в конфиге)
/usp reload - команда перезагрузки конфига
/usp reboot - команда перезапуска плагина
Админ команды, которые можно включить в конфиге:
/usp setpass (ник) (пас) - добавить игрока и его пас в конфиг
/usp addop (ник) - добавить игрока в список операторов
/usp addip (ip) - добавить IP в adminipwhitelist
/usp rempass (ник) - удалить пароль игрока
/usp remop (ник) - удалить игрока из списка операторов
/usp remip (ip) - удалить IP из adminipwhitelist

bStats:
UltimateServerProtector.svg

Автор

OverwriteMC

Еще ресурсы от OverwriteMC

OvRandomTeleport - Новая рандомная телепортация | Рядом с базами - rtp base
OvRandomTeleport - Новая рандомная телепортация | Рядом с базами - rtp base
Универсальный ртп с гибкой настройкой
🛡️ ShieldSpigot 1.16.5 | Лучшее из возможных 🛡️
🛡️ ShieldSpigot 1.16.5 | Лучшее из возможных 🛡️
Производительный форк Paper на версии 1.16.5, включающий в себя множество оптимизаций и улучшений.
UniversalBlockerUltimate - универсальный блокиратор нежелательных действий в чате, командах и прочем
UniversalBlockerUltimate - универсальный блокиратор нежелательных действий в чате, командах и прочем
Универсальный плагин на блокировку всего, что вы только могли представить.
PromisedChat - просто плагин на чат.
PromisedChat - просто плагин на чат.
На сей раз ФАКТИЧЕСКИ на чат.
Почти идеальная конфигурация GrimAC + полноценный перевод на русский
Почти идеальная конфигурация GrimAC + полноценный перевод на русский
Конфиг на GrimAC, направленный на устарение недостатков античита
Идеальная конфигурация Vulcan+Полноценный перевод на русский
Идеальная конфигурация Vulcan+Полноценный перевод на русский
Полноценный перевод плагина Vulcan на русский, а также усиленные проверки
UniversalBlockerUltimate
UniversalBlockerUltimate
Универсальный плагин на блокировку всего, что вы только могли представить.
Руководство по использованию Spark
Руководство по использованию Spark
Документация по Spark для тех, кто плох в английском или не желает шариться по оф.докам.
SSCrashFix
SSCrashFix
Плагин на фикс краш машины при помощи люка и редстоуна
ВерхНиз