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

Плагин [ADMIN/FIX/CHAT] CPFix v0.4.1 - Фикс кодировок: теперь без дополнительной нагрузки [BukkitDev]

Тема в разделе "Релизы плагинов", создана пользователем fromgate, 8 мар 2013.

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

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    CPFix
    Версия: 0.4.0

    Внимание! С выходом Minecraft 1.7.2 необходимость в дополнительных инструментах для борьбы с плохими кодировками исчезла. Фактически остался только вопрос настройки кодировки консоли, но в большинстве случаем его можно решить настроив ОС. Т.е. Вы можете не ставить CPFix на 1.7.2-сервер (и выше). В связи с этим, разработка плагина прекращена. Она будет возобновлена только в случае необходимости (снова всё сломают в Minecraft'e, будут выявлены критичные ошибки в текущей версии CPFix и т.п.).


    Кстати, если вам не нравится стандартный "тонкий" шрифт, используемый для русского в Майнкрафте, то предлагаю попробовать ресурспак, который заменяет его на нормальный нормальный русский шрифт, стилизованный под оригинальный английский.


    CPFix создан для исправления русских символов, который были "испорчены" устарешвей (но, к сожалению, включенной в клиент Minecraft) версией библиотеки LWJGL, а также для перекодирования текста (ввод из консоли, вывод в консоль и server.log). Если Вы уверены, что все пользователи Вашего сервера самостоятельно обновили свой клиент и Вы выбрали для консоли кодировку UTF-8, то необходимости в данном плагине у Вас нет.

    Кратко о об организации поддержки русского языка на сервере Minecraft

    Возможности плагина
    • Исправляет кодировку чата и введенных игроком команд
    • Исправляет текст на табличках. Включая таблички созданные до установки CPFix (игроку, у которого есть пермишен cpfix.sign, достаточно стукнуть по знаку рукой)
    • Исправляет кодировку в книгах (Автор, Заголовок, Текст)
    • Исправляет кодировку в названии и описании предметов (по умолчанию отключено, в связи с тем, что стандартными средствами задать предмету русское название или описание невозможно)
    • Может информировать игрока если введенный им текст содержит хоть один неправильный символ
    • Если в консоли используется кодировка отличная от UTF-8, то может производить перекодирование как ввода (из консоли) так и вывода (в консоль, в журнальный файл)
    [​IMG]



    Скачать последнюю версию CPFix
    BukkitDev

    Зачем оно нужно?
    Если Вы видели таблички с "кривым" текстом или мучались вопросом как написать "say привет" в консоли так, чтобы Вас поняли, то Вы не будете задавать этот вопрос. Собственно, если у Вас русскоязычный сервер, то лучше поставить этот плагин. Не помешает :)

    ЧАВО?
    1. Почему-то на табличках русский текст заменяется на символы "?!"
    Эти символы подставляет craftbukkit вместо "незнакомых". Необходимо заменить font.txt в craftbukkit на "русифицированный" аналог. Взять можно тут.


    2. Чем отличает CPFix от ruFix? Можно ли их использовать вместе?
    Изначально, планировалось, что CPFix будет ориентироваться только на фикс кривой кодировки вносимой устаревшей версией LWJGL. Т.е. предполагался только фикс текста в чате, командах, табличках, книгах и названиях предметов. Затем (после нескольких намеков и прямых просьб), функционал CPFix был расширен и теперь он фактически превышает функционал ruFix'a. Помимо упомянутой правки кривой LWJGL-кодировки, появилась возможность настраивать кодировку консоли и журнального файла; текст вводимый в консоли, при необходимости может конвертироваться в кодировку UTF-8 (родную для майнкрафта).


    3. Какие кодировки надо использовать?
    Мое личное мнение состоит в том, что нужно стремиться использованию кодировки UTF-8 везде: в консоли, для файлов и т.д. Это дает возможность гарантированно правильной работы всех плагинов, при условии, что текстовые файлы этих плагинов сконвертированы в UTF-8. Именно на этот режим настроен CPFix по умолчанию, подробнее можно почитать тут.
    Дополнительно о UTF-8 в Windows 10 можно прочитать тут.


    Команды:
    • /cpfix — отображает текущие настройки
    • /cpfix reload — перезагружает настройки из файла
    • /cpfix auto — автонастройка перекодировки консоли. После выполнения этой команды надо перезагрузить сервер.
    Настройка плагина
    Настраивать плагин можно путем редактирования файла конфигурации - config.yml, затем командой /cpfix reload можно перечитать новые настройки из файла.

    Код:
    general:
    # Поиск новых версий с BukkitDev
      check-updates: true
    # Язык (russian - русский, по умолчанию)
      language: russian
    # Сохранение файла перевода
      language-save: false
    code-page:
    # Включить (true) перекодирование чата
      chat-fix-enable: true
    # Включить (true) перекодирование команд
      command-fix-enable: true
    # Включить (true) перекодирование табличек
      sign-fix-enable: true
    # Включить (true) перекодирование книг
      book-fix-enable: true
    # Включить (true) перекодирование названия и описания предметов (По умолчанию отключено)
      lore-fix-enable: false
    # Информировать игрока (включить - true) о неверно введенных символах (только один раз)
      inform-player: true
    # Перекодирование "вывода", указывается: параметр "enable" - включен/выключен (true/false)
    # параметра "code-page" указывает в какой кодировке будет производиться вывод
    output-recode:
      console:
        enable: true
        code-page: CP866
      server-log:
        enable: true
        code-page: CP866
    # Перекодирование команд вводимых с консоли, указывается:
    # параметр "enable" - включен/выключен (true/false)
    # параметра "code-page" указывает из какой кодировки производится ввод
    input-recode:
      enable: true
      code-page: CP866

    Наборы символов "неправильных" и "правильных" символов (исправление LWJGL) выведены в отдельный файл characters.txt, для реализации совместимости со системами, в которых не включено использование UTF-8 для файлов. В этом файле - первая строка содержит "неправильные символы", вторая - "правильные". При перекодировании, если в тексте встречается символ из неправильной кодировки он будет заменяться на соответствующий ему из "правильной".
    Код:
    ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ¸¨
    АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюяёЁ
    Пермишены
    • cpfix.sign - Игрок с этим пермишеном может стучать по знакам, тем самым исправляя в них кодировку.
    • cpfix.config - доступ к командам, информирование об обновлениях
    Статистика и проверка обновлений
    CPFix включает две функции, которые используют интернет соединение сервера. Первая - сбор статистики (Metrics), используется для сбора определенной (неперсонифицированной) информации (Тип ОС, версия Java, количество серверов использующих плагин, какие версии плагина установлены на серверах и т.п.). Вторая - проверка обновлений, необходима для информирования операторов сервера (пермишен cpfix.config) о выходе новых версий плагина. Отключить обновления можно в файле конфигурации.

    Совместимость с различными версиями craftbukkit
    Версии плагина 0.1.0, 0.2.0, 0.3.0, 0.4.0 проверены и совместимы с craftbukkit: 1.5.2, 1.5.1, 1.5, 1.4.7, 1.4.6
    В принципе не вижу причин почему бы плагин не работал на более ранних версиях; по идее, плагин должен нормально работать на craftbukkit 1.1-R6 и более поздних.


    История версий
    v0.4.1

    • Исправлено для совместимости (зачем-то) с 0.10.х
    v0.4.0

    • Исправление кодировки в книгах теперь работает и со старыми версиями. Эта версия является универсальной для всех версих сервера (craftbukkit / spigot) где требуется русификация.
    v0.3.2
    • Добавлена фильтрация символов. Символы, которые не включены в список разрешенных будут заменяться на строку заданную в конфиге (по умолчанию - "_"). Список разрешенных символов - третья строка в файле characters.txt

    v0.3.1
    • Обновление в связи с появлением книжных событий в Bukkit API. Эта версия будет работать только с craftbukkit #2785 или более новой версией.
    v0.3.0
    • Добавлена команда /cpfix auto которая выполняет автоматическую настройку перекодировок консоли в соответствии с настройками системной консоли. Не может являться панацеей, но возможно кому-то поможет.
    v0.2.0
    • Выбор кодировки для вывода (консоль, лог)
    • Кодировка для вводимого текста (консоль)
    • Встроен английский язык
    • Наборы символов (правильных и неправильных) выведены в отдельный файл для совместимости с системами, в которых по умолчанию установлена кодировка отличная от UTF-8
    v0.1.0
    • Релиз моего очудеснительного плагина!
     

    Вложения:

    • font.txt
      Размер файла:
      379 байт
      Просмотров:
      800
    Последнее редактирование: 6 дек 2016
    Hazard_Channel, Drago75, danilsik и 44 другим нравится это.
  2. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    N.B. Я долго ждал появления плагина с таким функционалом, но видно ждали все: и не выдержал первым - я ;)

    Ведь казалось бы: Есть ruFix, который предназначен немного для других целей. Есть LokiFix и MonsterFix, которые в той или иной мере реализуют функционал, который есть сейчас в CPFix, но в тоже время привносят множество функций, который могут быть и не нужны на сервере.

    Кроме того, некоторое время назад, я столкнулся с тем, наличие "непонятных" символов в файле конфигурации может создавать проблемы в конфигурациях, где не используется (и не нужна!) кодировка UTF-8. И скорее всего я уберу модуль фикса кодировки из MonsterFix (также как это было когда-то с микро-плагином SBC), что вобщем-то полностью соответствуем моим планам развития MonsterFix (некоторые "разросшиеся" направления, я также планирую выделить в виде отдельных плагинов).
     
  3. ITrAnEI

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

    Баллы:
    153
    Имя в Minecraft:
    Tr4nE
    Amazing, как говорится! :D
     
  4. dmitrij_kobets

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

    Баллы:
    103
    Имя в Minecraft:
    Diaman
    То что нужно:)
     
  5. Wither

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

    Баллы:
    88
    Skype:
    Wither_19
    Имя в Minecraft:
    Wither
    Если его правильно настроить, чуть-чуть допилить код, то его можно использовать как анти-мат.
     
  6. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Ну такой цели я не ставлю. Да и вообще делать антимат дело не благодарное. Лучший анти-мат, это бан-хаммер в руках модератора. Главное не стесняться им пользоваться.
     
  7. SaMEC

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

    Баллы:
    173
    Skype:
    support.meedway
    Имя в Minecraft:
    Nick
    Хм, а у меня почему-то как показывал "!?" так и показывает.
     
    WolfX7 и IguaR нравится это.
  8. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    "!?" выдаёт анализатор пакетов изменения таблички в bukkit'е.
     
  9. Aqel

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

    Баллы:
    123
    Имя в Minecraft:
    Aqel
    с ruFIX не конфликтует или его надо убарь?
     
  10. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    font.txt всё равно надо буккиту скармливать
     
  11. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    как хочешь.
    fromgate, вопрос такой: данный плагин умеет переводить из каракулей в русский в логи (например, PlayerLogger)(Разумеется, во время отправки сообщений рукокрылых игроков)?
     
    Сникерсни нравится это.
  12. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Причин для конфликта быть не должно. ruFix может потребоваться если Вы его используете для исправления кодировки консоли. Поскольку я в ней по русски ничего не ввожу, то мне для тестов достаточно было включить в ней кодировку UTF-8 (команда: chcp 65001). Если консоль не нужна, то хватит одного CPFix
     
    slavik123123123 и mihannik нравится это.
  13. Dan-det

    Dan-det Старожил Пользователь

    Баллы:
    103
    fromgate, Спасибо большое!
     
  14. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Сейчас захожу к себе на сервер (в игре, не в консоли) и пишу:
    /say ïðèâåò
    В логе вижу:
    20:37:34 [INFO] fromgate issued server command: /say привет
     
    mihannik нравится это.
  15. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    ну лог сервера есть то, что показывается в консоли.... а мне желательно узнать результат логирования стороннего плагина... *ушел тестить*
     
  16. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Если игрок вводит команду (/say или команду стороннего плагина) то она перекодируется до выполнения. Т.е. именно поэтому я вижу нормальный результат выполнения команды /say в плагине CameraObscura получаю нормальный результат переименования картинки. При этом для теста я использую стандартный клиент, который вообще никак не изменен. Даже font.txt - стандартный.
     
    mihannik и Dereku нравится это.
  17. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Слушай, да все прекрасно работает!:) лог игрока с кривомудренным lwjgl и с твоим плагином после:
    [world]Goonerman97 Joined: 37.193.153.185 (-16 67 502) (03-09-2013 22:41:49)
    [world]Goonerman97 Command: /register 123456789 123456789 (-10 65 503) (03-09-2013 22:42:05)
    [world]Goonerman97 Quit: (-34 65 508) (03-09-2013 22:43:00)
    [world]Goonerman97 Joined: 37.193.153.185 (-15 66 508) (03-09-2013 23:31:01)
    [world]Goonerman97 Command: /login 123456789 (-10 65 503) (03-09-2013 23:31:15)
    [world]Goonerman97 Command: /call viperior (-25 64 557) (03-09-2013 23:35:58)
    [world]Goonerman97 Command: /spawn (-17 62 615) (03-09-2013 23:37:17)
    [world]Goonerman97 Command: /helpop (-9 65 503) (03-09-2013 23:38:49)
    [world]Goonerman97 Said: àäìèí äàø àäìèíêó (0 65 501) (03-09-2013 23:43:10)
    [world]Goonerman97 Said: âîãåë ïðèâåò (-8 65 505) (03-09-2013 23:43:56)
    [world]Goonerman97 Command: /warp parkyr (-8 65 501) (03-09-2013 23:45:14)
    ***Добавлен плагин***
    [world]Goonerman97 Quit: (108 63 430) (03-09-2013 23:48:29)
    [world]Goonerman97 Joined: 37.193.153.185 (-14 65 497) (03-09-2013 23:48:42)
    [world]Goonerman97 Command: /login 123456789 (-10 65 503) (03-09-2013 23:48:51)
    [world]Goonerman97 Said: чё (102 63 430) (03-09-2013 23:49:08)
    [world]Goonerman97 Said: зашто (97 63 432) (03-09-2013 23:49:35)
     
    fromgate нравится это.
  18. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    А наковальню эта штука фиксить будет?
     
  19. MySt1k

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

    Баллы:
    173
    у меня в конфиге:
    [​IMG]
    и в консоле:
    [​IMG]
     
  20. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    :\
    у меня всё поставилось с первого раза + в консольке-то тоже должна быть соответствующая кодировка. К примеру, у меня даже консоль сервера 1.7.3 вся на русском, хотя не было никаких ruFix'ов на нем. (Правда пришлось поставить - логи были в кракозёбрах:confused: )
    И под спойлером в шапке есть конфиг - пихай кракозябры в wrong
     

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