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

  • Автор темы Автор темы fromgate
  • Дата начала Дата начала
Кому надо, то под Шиндовс так должно быть + добавить в строку запуска "-Dfile.encoding=CP1251". Тогда будет и консоль и наковальня и сервер и остальное работать.
Код:
general:
  check-updates: true
  language: russian
  language-save: false
white-list:
  enable: true
  replace: _
code-page:
  chat-fix-enable: true
  command-fix-enable: true
  sign-fix-enable: true
  book-fix-enable: true
  lore-fix-enable: false
  inform-player: true
output-recode:
  console:
    enable: true
    code-page: CP866
  server-log:
    enable: true
    code-page: СP1251
input-recode:
  enable: true
  code-page: CP866
Лично у меня так и все норм :3

UPD: в server-log вместо UTF-8 надо CP1251 ))
UPDx2: (06.01.2014) В строку запуска "-Dfile.encoding=CP866"
 
Последнее редактирование:
Дайте пожалуйста Гитхаб\дропбокс с сорцами
 
Просто код посмотреть,изучить.
Пока основные знания получил разбирая плагины
Благо есть багаж знаний за спиной
П.С. спасибо)

существует но не дает доступ
DescriptionResourcePathLocationType
Access restriction: The type SharedSecrets is not accessible due to restriction on required library C:\Program Files\Java\jre7\lib\rt.jarCPFix.java/CPFIx/src/fromgate/cpfixline 245Java Problem
 
lwjgl надо в клиент кидать ? в папку lib ? Очень непонятно написано.
 
@Averus, как скачаете LWJGL, найдёте там файлы. Вот файлы с такими же именами заменяете в майнкрафте. Ошибиться сложно. Если у Вас 1.6, то там уже нормальный LWJGL.
 
CPFix
Версия: 0.3.2

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

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

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



Скачать последнюю версию CPFix
v0.3.0 - Для сraftbukkit 1.5.2-R0.1 и более ранних
BukkitDev

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

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

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

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


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

Настраивать плагин можно путем редактирования файла конфигурации - config.yml, затем командой /cpfix reload можно перечитать новые настройки из файла.

YAML:
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 проверены и совместимы с craftbukkit: 1.5.2, 1.5.1, 1.5, 1.4.7, 1.4.6
В принципе не вижу причин почему бы плагин не работал на более ранних версиях; по идее, плагин должен нормально работать на craftbukkit 1.1-R6 и более поздних.

Однако, версия 0.3.1 переписана с учетом изменений, которые появились craftbukkit 1.5.2-R1.0 и соответственно не будет работать с более ранними craftbukkit. Это относится также и к следующим версиям (если такие появятся 😉).

История версий
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

  • Релиз моего очудеснительного плагина!

Слышал на линухе он не нужен? так ли это?
 
@Roman72q, слышал, оверквотинг - это неуважение к другим участникам форума. Так ли это?

На линуксе можно настроить консоль нормально под UTF-8 (можно будет и вводить текст и соответственно - читать). Под Windows в UTF8 текст может только выводиться, к сожалению.
 
@fromgate, у меня версия 1.5.2 в чате и консоли норм, а вот таблички криво показуют всёравно! что делать?
2afa5561ba2bc2e9f4444297846a54f2.jpg
 
Проверьте в конфиге включен ли фикс табличек, выдайте себе (если вдруг нету) пермишен cpfix.sign и постучите по (правкой кнопкой и рукой) по этим табличкам.
 
@fromgate, вот конфиг
f51a4cb8ddda97bbd671a26d01595a82.jpg
 
Кстати кодировку консоли можно получать через SharedSecrets
 
@Shevchik, вот когда буду добавлять фикс названий (как у тебя 😉) тогда и попробую. Спасибо 🙂
@AsBesT, это новые таблички? Т.е. если ты сейчас поставишь табличку - получишь такой текст? Или эти таблички уже стоят? Если уже установлены - то значит они были установлены до CPFix и их нужно "исправить". Как я писал выше нужно по ним для этого стукнуть рукой (при наличии соответствующего пермишена). Я до сих пор у себя на севере такие таблички нахожу.
 
Ребятки, помогайте криворукому. Долго пытался все сам сделать, теперь просто тупо смотрю в консоль серва и вижу иероглифы, изрядно вымотан. Что имею:

Ядро: mcpc-plus-1.6.2-R1.1-forge871-B97
В строке запуска серва есть: -Dfile.encoding=UTF-8
font.txt положен в корень вышеуказанного jar, пробовал разные варианты этого файла
characters.txt - кодировка файла UTF-8 без BOM
config.yml - кодировка файла UTF-8 без BOM

В конфиге сабжа ставил напротив консоли и UTF-8 и CP866 и Windows-1251, результат один мфк. До этого все версии сервера доводил до ума, в консоле был полноценный рус. Может мне нужно синхронизировать LWJGL ядра и клиента? Или у меня руки не из того еста растут я просто гений?
 
Rumble,
LWJGL это только для клиента. В 1.6.2 (если у Вас нормальный 1.6.2) он уже обновлен.
 
Назад
Верх