Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Плагин [ADMN/SEC/MECH] ShareControl v2.6.4 - контроль творческого режима [1.7 - 1.11]

TB8iO7cRPfw.jpg
Это называется префикс сообщений. В конфигурациях можно отключить его полностью (переменная PrefixEnabled в Notifications), изменить нельзя.
 
Поставил 30, по прежнему зависает.
Поставь 1 там, сохранение бд будет каждую минуту, ты же поставил раз в полчаса.
Почему-то плагин начал плеваться непонятной ошибкой при сохранении инвентарей игроков в креативе. Когда кто-либо из креативов играет на сервере и происходит сохранение, в консоль выводится следующая ошибка:
[08:29:05 INFO]: [ShareControl] Database have been background saved!
[08:29:05 WARN]: Exception in thread "Craft Scheduler Thread - 53"
[08:29:05 WARN]: org.apache.commons.lang.UnhandledException: Plugin ShareControl v2.6.1 generated an exception while executing task 71115
at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at org.bukkit.craftbukkit.v1_7_R1.inventory.CraftMetaItem.serializeEnchantments(CraftMetaItem.java:613)
at org.bukkit.craftbukkit.v1_7_R1.inventory.CraftMetaItem.serialize(CraftMetaItem.java:597)
at org.bukkit.craftbukkit.v1_7_R1.inventory.CraftMetaItem.serialize(CraftMetaItem.java:583)
at org.bukkit.configuration.file.YamlRepresenter$RepresentConfigurationSerializable.representData(YamlRepresenter.java:33)
at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:96)
at org.yaml.snakeyaml.representer.BaseRepresenter.representMapping(BaseRepresenter.java:164)
at org.yaml.snakeyaml.representer.SafeRepresenter$RepresentMap.representData(SafeRepresenter.java:201)
at org.bukkit.configuration.file.YamlRepresenter$RepresentConfigurationSerializable.representData(YamlRepresenter.java:35)
at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:96)
at org.yaml.snakeyaml.representer.BaseRepresenter.representMapping(BaseRepresenter.java:164)
at org.yaml.snakeyaml.representer.SafeRepresenter$RepresentMap.representData(SafeRepresenter.java:201)
at org.bukkit.configuration.file.YamlRepresenter$RepresentConfigurationSection.representData(YamlRepresenter.java:23)
at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:96)
at org.yaml.snakeyaml.representer.BaseRepresenter.representMapping(BaseRepresenter.java:164)
at org.yaml.snakeyaml.representer.SafeRepresenter$RepresentMap.representData(SafeRepresenter.java:201)
at org.bukkit.configuration.file.YamlRepresenter$RepresentConfigurationSection.representData(YamlRepresenter.java:23)
at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:96)
at org.yaml.snakeyaml.representer.BaseRepresenter.representMapping(BaseRepresenter.java:164)
at org.yaml.snakeyaml.representer.SafeRepresenter$RepresentMap.representData(SafeRepresenter.java:201)
at org.bukkit.configuration.file.YamlRepresenter$RepresentConfigurationSection.representData(YamlRepresenter.java:23)
at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:96)
at org.yaml.snakeyaml.representer.BaseRepresenter.representMapping(BaseRepresenter.java:164)
at org.yaml.snakeyaml.representer.SafeRepresenter$RepresentMap.representData(SafeRepresenter.java:201)
at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:96)
at org.yaml.snakeyaml.representer.BaseRepresenter.represent(BaseRepresenter.java:66)
at org.yaml.snakeyaml.Yaml.dumpAll(Yaml.java:270)
at org.yaml.snakeyaml.Yaml.dumpAll(Yaml.java:261)
at org.yaml.snakeyaml.Yaml.dumpAll(Yaml.java:233)
at org.yaml.snakeyaml.Yaml.dump(Yaml.java:209)
at org.bukkit.configuration.file.YamlConfiguration.saveToString(YamlConfiguration.java:38)
at org.bukkit.configuration.file.FileConfiguration.save(FileConfiguration.java:57)
at com.net.h1karo.sharecontrol.database.InventoriesDatabase.saveInvConfig(InventoriesDatabase.java:63)
at com.net.h1karo.sharecontrol.listeners.multiinventories.PlayerGameModeChangeListener.saveMultiInv(PlayerGameModeChangeListener.java:98)
at com.net.h1karo.sharecontrol.database.Database$2.run(Database.java:85)
at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftTask.run(CraftTask.java:71)
at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
... 3 more
Не знаю, в чем здесь может быть дело, он просто не может сохранить. Можешь попробовать удалить файл inventories.yml (это удалит все инвентари игроков).
 
Подскажи пожалуйста, какие PeX нужны именно игрокам?
Если используешь GamemodesControl, то для креативов нужно добавить sharecontrol.gamemodescontrol.creative, если не используешь, то ничего не надо.
 
Чинить будете? У меня сегодня сервер завис и 20 минут не мог выключиться, пока я не увидел.
http://pastebin.com/MqZGzL7r
Что там с этим сохранением? На асинхроне что-ли?? Плагин хороший, помогите кто-нибудь человеку допилить, кто программирует нормально.
 
Чинить будете? У меня сегодня сервер завис и 20 минут не мог выключиться, пока я не увидел.
http://pastebin.com/MqZGzL7r
Что там с этим сохранением? На асинхроне что-ли?? Плагин хороший, помогите кто-нибудь человеку допилить, кто программирует нормально.
Сохранение при выключении синхронное. Если у тебя стоит интервал сохранения 1 минута, то ничем помочь не могу, по крайней мере пока.
 
Можете запретить открывать вагонетку с сундуком?
 
Сам попробовал - получилось.
Я тоже пробовал и ничего не входило. Пробовал на Spigot 1.7, 1.8.9, 1.10.2.
Сам попробовал - получилось.
В любом случае, я пока не занимаюсь плагином ShareControl, а тем более фиксами. У меня на него другие планы есть, я собираюсь его переписать.
 
Кстати, поставил сохранение раз в минуту, получил - периодические лаги и всё то же зависание при крашах.
 
Игроки, имеющие все права не могут использовать рамки. Как это исправить?
И ещё. Те же игроки не могут выкидывать вещи. Право выдано...
 
Последнее редактирование:
Кстати, поставил сохранение раз в минуту, получил - периодические лаги и всё то же зависание при крашах.
Если так, то значит проблема только на твоей стороне. Например, пинг между твоим сервером и mysql более 15 ms, либо же sqlite база настолько большая, что любое обращение к ней заставляет драйвер биться в агонии.
 
Если так, то значит проблема только на твоей стороне. Например, пинг между твоим сервером и mysql более 15 ms, либо же sqlite база настолько большая, что любое обращение к ней заставляет драйвер биться в агонии.
У меня есть несколько маленьких серверов, и скажу, что SQLite большая на столько, если бы на сервере в течении 1-го месяца средний онлайн был ~15 игроков. То есть проблема на стороне плагина, или плагин для сервера, на котором онлайн до 10 игроков и на котором очистка базы (или вовсе вайп) каждую неделю.
h1karo, не надо переписывать плагин, Вы на исправьте этот баг, пожалуйста. Не знаю, как другим админам, но мне это очень поможет, так как примерно 2 раза в неделю бывает такая ситуация.
На крайний случай, добавьте параметр, чтобы можно было отключать сохранение, или иные процессы, которые происходят во время отключения плагина.
 
У меня есть несколько маленьких серверов, и скажу, что SQLite большая на столько, если бы на сервере в течении 1-го месяца средний онлайн был ~15 игроков. То есть проблема на стороне плагина, или плагин для сервера, на котором онлайн до 10 игроков и на котором очистка базы (или вовсе вайп) каждую неделю.
h1karo, не надо переписывать плагин, Вы на исправьте этот баг, пожалуйста. Не знаю, как другим админам, но мне это очень поможет, так как примерно 2 раза в неделю бывает такая ситуация.
На крайний случай, добавьте параметр, чтобы можно было отключать сохранение, или иные процессы, которые происходят во время отключения плагина.
Если никто более не отписался с этой проблемой, то это значит что проблема не на стороне плагина. Хотя, не могу точно утверждать, потому что кое кто не соблюдает ООП и использует статические методы, из-за чего хрен пойми что где и как оно в принципе работает.
 

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

Назад
Верх