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

Плагин [INFO/ADMN/CHAT] rscMessages v0.7.5b — менеджер межсерверных объявлений [1.5.x-1.10.x]

Тема в разделе "Релизы плагинов", создана пользователем Reality_SC, 18 июн 2014.

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

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    В новой версии 0.5.0b в таблице messages появилась новая колонка lifetime, позволяющая устанавливать срок действия для сообщений — правда устанавливать/изменять её из плагина нельзя, только со стороны. Делалось по заявке для ЛК, чтобы продавать ограниченную временем рекламу :)
     
    Последнее редактирование: 9 июн 2015
  2. Хостинг MineCraft
    <
  3. Flubox

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

    Баллы:
    78
    Имя в Minecraft:
    Mega_Boss
    Замена AM?Красава :D
     
  4. Prince500

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

    Баллы:
    66
    Имя в Minecraft:
    Prince
    Не могу понять такую штуку: когда добавляю сообщение из-под клиента, русские буквы преобразуются в вопросительные знаки. Проверил -- база данных, как и все остальные на этом сервере, UTF-8.
    Настроек, где прописывается кодировка сообщений, я не нашел.
    Наверное, можно присвоить базе данных кодировку win-1251. Но будет ли это правильным решением? Все остальное на UTF-8.[DOUBLEPOST=1439051925,1439049716][/DOUBLEPOST]В ... /rscMessages/config.yml дописал:
    hostname: localhost:3306/messages?useUnicode=true&characterEncoding=UTF8
    Перезагрузил серв.
    Не помогло :-(

    В БД отображаются все те же вопросики...
     
  5. craftist

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

    Баллы:
    76
    Имя в Minecraft:
    SavaSivkov
    Код:
    #Проверка кода ямл
    yamltest:
      helloworld:
      - 'hello'
      - 'world'
    [DOUBLEPOST=1439054759,1439054666][/DOUBLEPOST]А какого фига кода ямл нету в списке кодов?
     
  6. Prince500

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

    Баллы:
    66
    Имя в Minecraft:
    Prince
    Как оказалось, присвоение БД кодировки win-1251 -- не лучшая идея. :bad:

    Как же, все-таки, решить эту проблему?[DOUBLEPOST=1439068865,1439068440][/DOUBLEPOST]Попробовал в параметрах запуска клиента указать -Dfile.encoding=UTF-8, но безрезультатно.

    Может, есть у кого какие идеи?[DOUBLEPOST=1439069100][/DOUBLEPOST]Хм... Когда в БД используется UTF-8, создание строки из консоли сервера тоже портит кодировку, что странно, поскольку сеанс консоли работает как раз в UTF-8 -- только что убедился.
     
    Последнее редактирование: 9 авг 2015
  7. Автор темы
    Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Попробуй выставить utf8 на сервере как кодировку для подключений по умолчанию в my.cfg на сервере.
     
  8. Prince500

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

    Баллы:
    66
    Имя в Minecraft:
    Prince
    У меня нет такого файла. Но я запускаю сервер с ключом -Dfile.encoding=UTF-8.
    Подозреваю, что win-1251 каким-то образом передается плагину самим клиентом.[DOUBLEPOST=1439158695,1439158455][/DOUBLEPOST]А, дошло! Ты, наверное, имел в виду /etc/mysql/my.cnf
    Щас посмотрю...[DOUBLEPOST=1439159980][/DOUBLEPOST]Спасибо, все заработало! :good:
     
  9. Автор темы
    Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Если кому-то будет польза от этого, и у него есть время для проверки, то прошу потестировать
    • rscMessages v0.6.0b: Добавлена поддержка PlaceholderAPI, если он у Вас установлен, то можно использовать его заменители в префиксах/текстах сообщений.
      Скачать: https://ci.methuselah.ru/job/rscMessages/51/
    [DOUBLEPOST=1441177771,1441172717][/DOUBLEPOST]
    • Версия v0.6.2b поддерживает сообщения в формате Json. Ещё не тестировал! В БД появилась новая колонка json (да/нет), новая опция в конфиге "плюсовать ли префикс json-сообщениям" (да/нет). Требует ProtocolLib (я собирал под версию 3.6.4 со spigotmc.org), если его нет, сломаться вроде не должно.
      Скачать: https://ci.methuselah.ru/job/rscMessages/52/
    [DOUBLEPOST=1441187356][/DOUBLEPOST]P.S. Потестировал и отладил, шапка темы обновлена. Можно пользоваться.
    Актуальная рабочая версия это #53, но лучше брать просто последнюю успешную сборку.
     
    Последнее редактирование: 2 сен 2015
  10. Prince500

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

    Баллы:
    66
    Имя в Minecraft:
    Prince
    У меня почему-то не работает. Судя по ошибке, не может получить доступ к полям в базе данных.
    Код:
    [17:35:39] [Server thread/ERROR]: Could not load 'plugins/rscMessages_v0.6.2b.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: com/comphenix/protocol/reflect/FieldAccessException
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:149) ~[JavaPluginLoader.class:1.7.10-1492.150]
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:334) ~[SimplePluginManager.class:1.7.10-1492.150]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:256) [SimplePluginManager.class:1.7.10-1492.150]
        at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugins(CraftServer.java:320) [CraftServer.class:1.7.10-1492.150]
        at net.minecraft.world.storage.SaveHandler.initBukkitData(SaveHandler.java:461) [ayq.class:?]
        at net.minecraft.world.storage.SaveHandler.func_75757_d(SaveHandler.java:137) [ayq.class:?]
        at net.minecraft.world.World.<init>(World.java:360) [ahb.class:?]
        at net.minecraft.world.WorldServer.<init>(WorldServer.java:158) [mt.class:?]
        at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:367) [MinecraftServer.class:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:336) [lt.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:631) [MinecraftServer.class:?]
        at java.lang.Thread.run(Thread.java:745) [?:1.7.0_79]
    Caused by: java.lang.NoClassDefFoundError: com/comphenix/protocol/reflect/FieldAccessException
        at ru.simsonic.rscMessages.BukkitPluginMain.<init>(BukkitPluginMain.java:30) ~[?:?]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.7.0_79]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[?:1.7.0_79]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.7.0_79]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[?:1.7.0_79]
        at java.lang.Class.newInstance(Class.java:379) ~[?:1.7.0_79]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:201) ~[PluginClassLoader.class:1.7.10-1492.150]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:145) ~[JavaPluginLoader.class:1.7.10-1492.150]
        ... 11 more
    Все конфиги остались с рабочей 0.5.0.
    P.S. Пока откатываюсь, но готов пробовать еще.
     
    Последнее редактирование: 2 сен 2015
  11. Автор темы
    Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    @Prince500, а у тебя сервер 1.7-1.8?
    Нужен протоколлиб 3.6.4, взятый по приведённой ссылке.

    P.S. Кстати, возьми вот эту сборку ^_^ Я там поправил баги.
     
  12. Prince500

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

    Баллы:
    66
    Имя в Minecraft:
    Prince
    Сервер Cauldron 1.7.10
    ProtocolLib 3.4.0
    Сейчас попробую заменить и отпишусь...
     
  13. Автор темы
    Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    @Prince500, и ещё: #52 имело косяки, я перекомпилил #53.
     
  14. Prince500

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

    Баллы:
    66
    Имя в Minecraft:
    Prince
    Сорри, туплю, наверное, но где ссылка?
    P.S. Сборку взял #53
     
  15. chief

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

    Баллы:
    76
    Добрый день, у меня вот такой вопрос, будете ли вы продолжать работу над плагином rscBans ?
     
  16. Автор темы
    Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Буду, но он имеет самый низкий приоритет.
     
  17. chief

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

    Баллы:
    76
    @Reality_SC
    Не понимаю, в чем проблема. Плагин подключился к бд и создал свои таблицы. Когда я перезагружает его, он просит меня, чтобы я поставил ProtocolLib, чтобы он мог читать json файлы.
    Почему он не читает текст из базы данных?

    Код:
    [00:04:52] [Server thread/INFO]: [rscMessages] Disabling rscMessages v0.6.3b
    [00:04:52] [Server thread/INFO]: [rscm] rscMessages has been disabled.
    [00:04:52] [Server thread/INFO]: [rscMessages] Enabling rscMessages v0.6.3b
    [00:04:52] [Server thread/INFO]: [rscAPI][SQL] Connecting to "rscMessages"...
    [00:04:53] [Server thread/INFO]: [rscm] ProtocolLib wasn't found. You cannot use json messages now.
    [00:04:53] [Server thread/INFO]: [rscm] rscMessages has been successfully enabled.
    [00:04:53] [Server thread/INFO]: [rscm] rscMessages has been reloaded.
    [00:04:53] [Thread-28/WARN]: Exception in fetch(2): {0}
    java.sql.SQLException: Column 'json' not found.
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) ~[SQLError.class:?]
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) ~[SQLError.class:?]
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) ~[SQLError.class:?]
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) ~[SQLError.class:?]
        at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1144) ~[ResultSetImpl.class:?]
        at com.mysql.jdbc.ResultSetImpl.getBoolean(ResultSetImpl.java:1761) ~[ResultSetImpl.class:?]
        at ru.simsonic.rscMessages.Database.fetch(Database.java:71) [rscMessages_v0.6.3b.jar:?]
        at ru.simsonic.rscMessages.Fetcher.run(Fetcher.java:22) [rscMessages_v0.6.3b.jar:?]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_66]
    [00:04:53] [Server thread/INFO]: [rscm] Message lists have been fetched from database.
    
     
  18. GoodCoder

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

    Баллы:
    76
    @chief колонка в таблице отсутствует. Создай её выполнив запрос:
    Код:
    ALTER TABLE `messages` ADD COLUMN `json` BIT(1) NOT NULL DEFAULT b'0' AFTER `text`
    Название таблицы "messages" в запросе не забудь на своё поменять.
     
  19. Автор темы
    Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Тут другой смысл, есть сообщения просто текстовые, и есть сообщения в формате json — для них и нужен ProtocolLib. Тексты он и читает из БД.
    Решение, предложенное GoodCoder-ом, самое правильное. Воспользуйся им. Вообще я хз, плагин должен сам создавать эту колонку. Увы, открыть IDE раньше, чем до февраля не могу, личные причины.
     
  20. chief

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

    Баллы:
    76
    Большое вам спасибо. Это помогло.
    Возможно, дело в том, что в коде присутствует большая буква?
    Я пытаюсь понять Java, но я окончательно остановился на php...
    Код:
    msg.[B]isJson[/B] = rsMessages.getBoolean("json");
    [DOUBLEPOST=1449559158,1449559096][/DOUBLEPOST]isJson
     
  21. Автор темы
    Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Нет.
    Javaрегистро-зависимый язык, что означает, что i и I являются разными именами. То же самое относится к isjson, IsJson, isJson, ISJSON — всё это разные названия.
    Но, есть общие соглашения между разработчиками (это справедливо для разных языков), когда они придерживаются единого набора правил оформления кода, в том числе и как называть переменные.

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

    P.S. Учите и PHP, и Java, и столько всего остального, сколько сможете. Это очень будет нужно в наступающем будущем.
     

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