Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Плагин [WIP] rscBans — менеджер банов для мультисерверных сред

Тема в разделе "Неподтвержденные плагины", создана пользователем Reality_SC, 29 июн 2015.

Статус темы:
Закрыта.
  1. Автор темы
    Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    ВНИМАНИЕ: Плагин находится в зачаточном состоянии. Его использование на данном этапе невозможно. Тема создана для предварительного знакомства с ним и внесения предложений на ранней стадии планирования его архитектуры.

    Плагин предназначен для удобства администрирования банов; хранит записи в MySQL. Простота настройки и интеграции с чем-либо, удобные и интуитивные команды.

    Сбор пожеланий. Не факт, что всё перечисленное будет, но скорее-всего:
    • Кросс-серверность
    • Кики
    • Предопределённые баны
    • Муты
    • Накапливаемые предупреждения + автобан
    Скачать | dev.bukkit.org | spigotmc.org | Исходный код
    Структура бана:
    Каждый бан является записью в базе данных со следующими полями:
    • id — сквозной порядковый номер бана.
    • active — состояние бана (действует/отменён).
    • banTarget — ник или UUID игрока, который был забаннен.
    • banSource — ник или UUID игрока, который наложил бан.
    • bannedWhen — дата/время наложения бана.
    • bannedUntil — дата/время, до которого действует бан.
    • banReason — причина бана — текст, который показан забанненому игроку при его автоматическом отключении от сервера и последующих попытках входа.
    • serverId — идентификатор сервера (server.properties), на котором действует бан.
    • comment — комментарий — дополнительная (расширенная) информация, которая видна административному составу сервера при анализе банов.
    • unbannedWhen — дата/время отмены бана.
    • unbanReason — причина отмены бана.
    • unbanSource — ник или UUID игрока, который отменил бан.

    Команды:
    • WORK IN PROGRESS!
    • /banp <ник|uuid> <preset> — наложить бан, используя заранее предопределённый набор свойств.
    • /ban <ник|uuid> [<r=|reason=><причина>] [<u=|until=><дата и/или время>] [<t=|time=><временной интервал>] [<c=|comment=><комментарий>] [<sid=|serverid=><серверId>] — наложить кастомный бан.
    • /banh <ник|uuid> <#> — постраничный вывод истории нарушений игрока.
    • /banmh <ник|uuid> <#> — постраничный вывод истории действий уполномоченных игроков (m от moderator).
    • /unban <ник|uuid|#> <<r=|reason=><причина>> — отмена наложенного на игрока бана.
    • /kick <ник|uuid> — xxx
    • /mute <ник|uuid> — xxx
    • /unmute <ник|uuid> — xxx
    • /rscb help [1|2|...] — страницы помощи по доступным Вам командам.
    • /rscb reload — перечитать config.yml и перезапустить плагин.
    Подчёркнутые красные символы являются однобуквенными алиасами для соответствующих им команд.

    Права:
    • WORK IN PROGRESS!
    • rscb.ban-preset.<название пресета> — право на использование определенного пресета на других игроков.
    • rscb.ban-custom — право накладывать бан с произвольными параметрами.
    • rscb.ban-exempt.<название пресета> — защита игроку от применения на него определённого пресета.
    • rscb.ban-exempt.* — защита игроку от применения на него всех возможных пресетов.
    • rscb.admin — доступ ко всем командам и возможностям плагина.
    Пресеты:
    Пресет (англ. preset) — заранее предопределённые администратором сервера свойства бана, объединённые под одним именем. Пресет включает в себя: текст причины бана, срок действия бана, указание принадлежности бана (к текущему серверу или глобальный).

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

    Настройка плагина:
    WORK IN PROGRESS.
    Файл config.yml создаётся автоматически при первом запуске и содержит минимум необходимых настроек:
    Код:
    settings:
      # Список заранее заготовленных шаблонов для вынесения банов
      ban-presets:
        # Название шаблона
        example_r42:
          # Автоматически заполненная причина
          reason:   '{_DR}RULES/{_LR}4.2'
          # Автоматически заполненный срок бана
          lifetime: '1d12h'
      # Список заранее заготовленных шаблонов для кика
      kick-presets:
        # Название шаблона
        example_r11:
        # Автоматически заполненная причина
          reason:   '{_DR}RULES/{_LR}1.1'
      # Список заранее заготовленных шаблонов для мьюта
      mute-presets:
        # Название шаблона
        example_r177:
        # Автоматически заполненная причина
          reason:   '{_DR}RULES/{_LR}1.17'
          # Автоматически заполненный срок бана
          lifetime: '4 hours'
      # Параметры соединения с БД
      connection:
        # Описание соединения с MySQL сервером
        hostname: 'localhost:3306'
        database: 'minecraft'
        username: 'user1'
        password: 'pass1'
        # Префиксы, которые будут иметь таблицы плагина
        prefixes: 'rscb_'
      # Как часто нужно обновлять данные из БД (в секундах)?
      fetch-interval-sec: 600
      # Какой языковой файл использовать? Из коробки идут english и russian
      language: russian
      use-metrics: true
    internal:
      version: 1
    История изменений:
    • v0.1.0a — Initial commits.
     
    Последнее редактирование: 30 июн 2015
  2. Хостинг MineCraft
    <
  3. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Можно добавить /mute /tempmute /unmute и функция на каких серверах не работает плагин.
     
  4. _EnderWorld_

    _EnderWorld_ Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Steve
    Предлагаю сделать так чтобы при вводе команды /ban <player> <reason>, автоматически игрок банился на 5 минут, а есть /rsban <player> <reason>, то игрок банится навсегда
     
  5. chief

    chief Активный участник Пользователь

    Баллы:
    76
    Хорошая идея, так будет куда удобнее и быстрее банить игроков
     
  6. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Еще можно кик сделать. Типо kick SERVER NICK
     
  7. chief

    chief Активный участник Пользователь

    Баллы:
    76
    Можно еще добавить к функционалу предупреждения (/warn)
    Если игрок получит определенное количество предупреждений (например, 10 предупреждений), то он автоматически забаниться на одни сутки (или заданное время в конфиге)
     
  8. _EnderWorld_

    _EnderWorld_ Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Steve
    Слишком много, максимум 3
     
  9. Artem99z

    Artem99z Активный участник Пользователь

    Баллы:
    88
    Skype:
    Artemuidak
    Имя в Minecraft:
    ReDcTiOn
    Сделай так: /ban <игрок> <причина>, и в отдельном файле, можно даже в конфиге можно создавать такие строчки:
    - 1.22:300

    - То есть, при вводе /ban Player 1.22 игрок баниться на 300 секунд (5 минут), если же ввести /ban Player Чит, то игрок уже баниться навсегда по причине "Чит", для временного бана команда /tempmute
     
  10. _EnderWorld_

    _EnderWorld_ Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Steve
    Похожа на мою идею[DOUBLEPOST=1435641936,1435641349][/DOUBLEPOST]Для BungeeCord предлагаю сделать команду чтобы когда её вводили, то игрок блокировался автоматически, то есть на него накладывают: Мут, Его кикает, и банят. Команда /rsblock
     
  11. DimaTiunov

    DimaTiunov Активный участник Пользователь

    Баллы:
    78
    Так же есть небольшое предложение по поводу плагина, можно сделать пресеты только для части агрументов, а не для всех. Например сделать список агрументов в конфиге пресета, для всех all, для остальных соответственно - nick|uuid => имя|uuid, reason или r => причина, until или u => дата и/или время, time или t => временной интервал, comment или c =>комментарий serverid или sid=> серверId.
     
  12. Автор темы
    Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Я думаю сделать у каждого пресета на основные настройки рамки значений.
    Что-то типа так:
    • срок бана:
      • только фиксированный => указано конкретное значение
      • всегда указывать вручную =>
        • опционально минимальный срок
        • опционально максимальный срок
      • допустимо указывать вручную =>
        • опционально минимальный срок
        • опционально максимальный срок
        • значение по умолчанию
    Ну для комментария без мин/макс, попроще.

    Я в отпуск, сваливаю на пару недель, когда вернусь продолжу развлекаться с кодом.

    P.S. от 26 августа 2016:
    Нахрен его!
     
    Последнее редактирование: 26 авг 2016
Статус темы:
Закрыта.

Поделиться этой страницей