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

Плагин [MECH/ADMIN] BungeeReports v2.2.1 - репорт-система для BungeeCord и не только! [1.12.2]

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

  1. Автор темы
    FrostDelta123

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

    Баллы:
    66
    BungeeReports - репорт-система с наградами, комментариями, вайт-листом, ограничениями по репортам и наблюдением за подозреваемыми для BungeeCord и не только!
    Версия: v2.2.1


    Функционал:
    Плагин предоставляет возможность игрокам отправлять жалобу на других игроков не выходя из игры! Ограничения по количеству, награды игрокам за правильное использование! Поддержка vault, кастомные награды, поддержка BungeeCord!
    Возможность добавить игроков в whitelist.
    Возможность наблюдать за подозреваемым!
    Необходимость комментариев поможет сделать репорты более полезными.

    Файл конфигурации:
    Код:
    #BungeeReports config v1.0
    
    #Данные для подключения к базе данных.
    url: jdbc:mysql://localhost:3306/test
    username: test
    password: test
    
    #Включить возможность наблюдения за игроком
    #true по умолчанию
    spectate: true
    
    #Список игнорируемых игроков
    #На них нельзя отправить репорт
    whitelist:
      - FrostDelta123
      - example
    
    #Список причин, по которым можно отправить жалобу.
    reasons:
      - test
      - чат
      - example
    
    #Использовать bungee cord, если false, то bungee cord не используется и имя не задаётся. false по умолчанию.
    bungee:
      enabled: false
      #имя сервера bungee cord, прописано в config. ALL для игроков со всех сервреов. ALL по умолчанию.
      servername: ALL
    
    #Комментарии игроков к репортам, если true, то для отправки репорта игрок будет обязан оставить свой комментарий в чат,например скриншот.
    #false по умолчанию.
    comments: false
    
    #Использование vault для наград
    #Если true, то он загрузится
    #ВАЖНО, при использовании НЕ кастомных наград vault должен быть true
    #false по умолчанию
    vault:
      enabled: false
    
    #Использование наград за количество корректных репортов
    #false по умолчанию
    reward:
      enabled: false
      #Количество одобренных репортов, необходимых для выдачи наград
      reportsneed: 10
      #Награда
      amount: 1000
    
    #Использование кастомных наград, если ваш плагин не поддерживает vault
    #false по умолчанию
    #ВАЖНО!!!
    #Если включены оба вида наград - будет выдаваься через vault
    customreward:
      enabled: false
      #Количество одобренных репортов, необходимых для выдачи наград
      reportsneed: 10
      #Данные для базы данных, в которые нужно записывать награду
      table: test
      namecoloumn: name
      moneycoloumn: money
      #Использовать UUID вместо никнейма игрока в таблице кастомных наград
      #false по умолчанию
      uuid: false
      #Награда
      amount: 1000
    
    #Лимит неодобренных репортов
    #Если игрок подаёт слишком много репортов
    #то при достижении лимита, он не сможет отправлять новые,
    #пока они не будут проверены модератором
    #true по умолчанию
    limit:
      enabled: true
      limit: 10
    

    Команды:
    /report - открыть меню со списком игроков. Permission - bungeereports.player
    /getreports - получить список активных репортов. Permission - bungeereports.admin
    /br reload - перезагрузка файла конфигурации. Permission - bungeereports.reload
    /spectate - наблюдать за игроком от 1 лица (иногда бывают ошибки). Permission - bungeereports.spectate
    /spectateoff - отключить наблюдение. Permission - bungeereports.spectate

    Так как это лишь бета-версия плагина в нём могут быть ошибки и баги, при нахождении таковых прошу сообщить.

    Скачать стабильную версию.
    Скачать бета-версию.

    Исходный код на GitHub - https://github.com/FrostDelta123/BungeeReports

    Лог изменений:
    Версия 0.2:

    Выпуск первой бета-версии.
    Версия o.3:
    Небольшие исправления по коду, добавлена функция релоада конфига.
    Версия 0.4:
    Добавлен whitelist. Минимальные изменения по коду. В планах обновлении оптимизации.
    Релиз 1.0:
    Большой апдейт оптимизации.
    Исправлен баг с NPE при нажатии на пустое место в инвентаре.
    Оптимизированы запросы в базу данных.
    Исправлен баг, когда не отображалось имя игрока, которого зарепортили.
    Исправлен баг с NPE при нажатии вне инвентаря.
    Исправлен баг, когда репорт не добавлялся, если игрок успел выйти с сервера.
    Версия 1.1:
    Добавлены нормальные проверки через холдеры.
    Исправлен критический баг, когда можно было открыть инвентарь через наковальню.
    Версия 2.0:
    Добавлен режим наблюдения за подозреваемым (от первого лица) через команду или через GUI-репортов!
    Исправлен NPE при включенных обоих видах наград.
    Проект переделан под Maven.
    Улучшения внешнего вида.
    Плагин теперь работает с версии 1.8
    Оптимизация кода.
    Общие исправления ошибок.
    Версия 2.1.1 BETA:
    Исправлено "магическое открытие инвентаря". (BETA)
    Исправлены спамы ошибок в консоль, когда криво настроена база данных.
    Вместо спамов при ошибке подключения к БД плагин просто отключается с пометкой о неудаче.
    Версия 2.2:
    Полностью исправлено "магическое открытие инвентаря".
    Немного оптимизации.
    Исправлены баги с спектейт-модов.
     
    Последнее редактирование: 6 авг 2018
  2. Mr Hosting
  3. _MasterCapeXD_

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

    Баллы:
    76
    Имя в Minecraft:
    _MasterCapeXD_
    Сильно в код не вникал, не хотел читать дальше после того, как увидел, что классы проименованы с маленькой буквы... По функционалу плагин, думаю, неплохой. Посмотрим, как пользователи этого плагина его воспримут.

    UPD:
    moderUI (-_-)
    public HashMap<Integer, String> sender = new HashMap<Integer, String>();
    Java Conventions не одобряет подобную запись (в плагине таких использований очень много). Гораздо лучше было бы:
    Map<T, V>... (в данном случаи - Map<Integer, String>)
    (При текущей записи невозможно использовать полиморфизм, что очень плохо сказывается на качестве кода)

    Кроме того, полный доступ к Map - не очень хорошая практика.

    Внедрение зависимостей - это конечно хорошо, дает свой плюс в удобстве доработки кода и выглядит неплохо.

    (Не особо важно) - много классов с одним методом. Выглядит не очень.
    Другие мелкие замечания, которые практически не влияют на общий вид.

    Это первая версия плагина. Удачи, и надеюсь, ошибки, допущенные в первом релизе, будут исправлены.

    Тестить плагин не буду, посмотрим, что скажут те, кто этим займется.
     
    Последнее редактирование: 11 июл 2018
  4. Автор темы
    FrostDelta123

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

    Баллы:
    66
    В некст версии обязательно сделаю классы с большой буквы
     
  5. hyndorik

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

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Ты конечно все правильно сказал об использовании, но эта проблема никак не относится к java code conventions, в конвенциях описывается только правила оформления кода(классы с большой буквы, пакеты с маленькой, методы в lowCamelCase), за то что ты написал отвечает принцип LSP из солид принципов
     
  6. _MasterCapeXD_

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

    Баллы:
    76
    Имя в Minecraft:
    _MasterCapeXD_
    Ну окей, пусть так. Важнее не то, где это написано, а то, что это плохая практика. Но спасибо за поправку.
     
  7. Автор темы
    FrostDelta123

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

    Баллы:
    66
    Где можно подробнее почитать об этом?
     
  8. _MasterCapeXD_

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

    Баллы:
    76
    Имя в Minecraft:
    _MasterCapeXD_
    Загугли SOLID-принципы ООП
     
  9. Автор темы
    FrostDelta123

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

    Баллы:
    66
    Версия 0.4:
    Добавлен whitelist. В планах обновлении оптимизации.
     
  10. Автор темы
    FrostDelta123

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

    Баллы:
    66
    Релиз 1.0.
    Большой апдейт оптимизации.
    Исправлен баг с NPE при нажатии на пустое место в инвентаре.
    Оптимизированы запросы в базу данных.
    Исправлен баг, когда не отображалось имя игрока, которого зарепортили.
    Исправлен баг с NPE при нажатии вне инвентаря.
    Исправлен баг, когда репорт не добавлялся, если игрок успел выйти с сервера.
     
  11. John McCafferty

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

    Баллы:
    76
    Skype:
    VR_SN_5
    Будет возможность телепортации к игроку, на которого подан репорт, в режиме наблюдения?
     
  12. Автор темы
    FrostDelta123

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

    Баллы:
    66
    Чтоб можно было про во freecam режиме летать вокруг игрока?
     
  13. BestLunar

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

    Баллы:
    78
    Имя в Minecraft:
    Liassid
    Данный плагин ставится на каждый сервер Spigot или на BungeeCord?
    ---------------
    Можно скриншотов?
     
  14. Автор темы
    FrostDelta123

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

    Баллы:
    66
    Можно на Bukkit/Spigot сервер, а можно на BungeeCord сервера, репорты будут грузится таким образом, как укажешь в конфиге. Полной интеграции (поставил на 1 сервер - работает на всех) пока нет, но тем не менее.
    http://prntscr.com/kbd9b6
    http://prntscr.com/kbd9ee
    http://prntscr.com/kbdb5z
    http://prntscr.com/kbdbjj
     
  15. BestLunar

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

    Баллы:
    78
    Имя в Minecraft:
    Liassid
    Мне нужно чтобы на всех спигот серверах связаных Bungee были репорты они и теже
     
  16. BestLunar

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

    Баллы:
    78
    Имя в Minecraft:
    Liassid
    @FrostDelta123
    :(
    Код:
    [13:49:38 INFO]: Liassid issued server command: /getreports
    [13:49:38 ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'getreports' in plugin BungeeReports v1.0
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[server.jar:git-Spigot-642f6d2-57ab4cf]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[server.jar:git-Spigot-642f6d2-57ab4cf]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:648) ~[server.jar:git-Spigot-642f6d2-57ab4cf]
        at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1397) [server.jar:git-Spigot-642f6d2-57ab4cf]
        at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1232) [server.jar:git-Spigot-642f6d2-57ab4cf]
        at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [server.jar:git-Spigot-642f6d2-57ab4cf]
        at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [server.jar:git-Spigot-642f6d2-57ab4cf]
        at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [server.jar:git-Spigot-642f6d2-57ab4cf]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_171]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_171]
        at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [server.jar:git-Spigot-642f6d2-57ab4cf]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [server.jar:git-Spigot-642f6d2-57ab4cf]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [server.jar:git-Spigot-642f6d2-57ab4cf]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [server.jar:git-Spigot-642f6d2-57ab4cf]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [server.jar:git-Spigot-642f6d2-57ab4cf]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
    Caused by: java.lang.NullPointerException
        at ru.frostdelta.bungeereports.gui.GetReportsUI.openGUI(GetReportsUI.java:31) ~[?:?]
        at ru.frostdelta.bungeereports.executor.Executor.onCommand(Executor.java:60) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[server.jar:git-Spigot-642f6d2-57ab4cf]
        ... 15 more
    
     
  17. Автор темы
    FrostDelta123

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

    Баллы:
    66
    Опиши действия, которые привели к такому. Просто поставил на сервер и ввёл команду?
     
  18. Notsuru

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

    Баллы:
    63
    Имя в Minecraft:
    _DimaPlay_
    Дааа.. У меня такая-же байда.
    Код:
    [05:04:17 WARN]: java.lang.NullPointerException
    [05:04:17 WARN]:        at ru.frostdelta.bungeereports.Network.playerReports(Ne)
    [05:04:17 WARN]:        at ru.frostdelta.bungeereports.CanReport.needReward(Can)
    [05:04:17 WARN]:        at ru.frostdelta.bungeereports.executor.Executor.onComm)
    [05:04:17 WARN]:        at org.bukkit.command.PluginCommand.execute(PluginComma)
    [05:04:17 WARN]:        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleC)
    [05:04:17 WARN]:        at org.bukkit.craftbukkit.v1_13_R1.CraftServer.dispatch)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.PlayerConnection.handl)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.PlayerConnection.a(Pla)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.PacketPlayInChat.a(Pac)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.PacketPlayInChat.a(Pac)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.PlayerConnectionUtils.)
    [05:04:17 WARN]:        at java.util.concurrent.Executors$RunnableAdapter.call()
    [05:04:17 WARN]:        at java.util.concurrent.FutureTask.run(FutureTask.java:)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.SystemUtils.a(SourceFi)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.MinecraftServer.w(Mine)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.DedicatedServer.w(Dedi)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.MinecraftServer.v(Mine)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.MinecraftServer.run(Mi)
    [05:04:17 WARN]:        at java.lang.Thread.run(Thread.java:748)
    [05:04:17 WARN]: java.lang.NullPointerException
    [05:04:17 WARN]:        at ru.frostdelta.bungeereports.Network.playerReports(Ne)
    [05:04:17 WARN]:        at ru.frostdelta.bungeereports.CanReport.limit(CanRepor)
    [05:04:17 WARN]:        at ru.frostdelta.bungeereports.executor.Executor.onComm)
    [05:04:17 WARN]:        at org.bukkit.command.PluginCommand.execute(PluginComma)
    [05:04:17 WARN]:        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleC)
    [05:04:17 WARN]:        at org.bukkit.craftbukkit.v1_13_R1.CraftServer.dispatch)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.PlayerConnection.handl)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.PlayerConnection.a(Pla)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.PacketPlayInChat.a(Pac)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.PacketPlayInChat.a(Pac)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.PlayerConnectionUtils.)
    [05:04:17 WARN]:        at java.util.concurrent.Executors$RunnableAdapter.call()
    [05:04:17 WARN]:        at java.util.concurrent.FutureTask.run(FutureTask.java:)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.SystemUtils.a(SourceFi)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.MinecraftServer.w(Mine)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.DedicatedServer.w(Dedi)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.MinecraftServer.v(Mine)
    [05:04:17 WARN]:        at net.minecraft.server.v1_13_R1.MinecraftServer.run(Mi)
    [05:04:17 WARN]:        at java.lang.Thread.run(Thread.java:748)
    
    Дело в 1.13, или нужен ProtoclLib?
     
  19. Автор темы
    FrostDelta123

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

    Баллы:
    66
    Дело в 1.13, под него пока не работает
     
  20. Автор темы
    FrostDelta123

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

    Баллы:
    66
    Смоделировал твою ситуацию, это твоя ошибка, настрой правильно доступ к базе данных.
     
  21. BestLunar

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

    Баллы:
    78
    Имя в Minecraft:
    Liassid
    После подключения к БД каким-то образом, даже не проверил. Вообще /report перестал работать, а при /getreports выдает ошибочку
     

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