10-27-2010, 09:50 AM
Есть много мануалов на тему того, как сделать русские ники на своем сервере, а вот по этому вопросу не нашел ни одного.
Очень многие хотят разрешить игрокам писать ники, титулы, имена петам и т.д. как русскими буквами, так и английскими. Но если делать по инструкциям, которые я встречал ранее, то нужно выбирать: только англ. ники, только русские ники, ники, в которых перемешаны буквы 2х алфавитов. Последний вариант особо проклинаем модераторами.
В конфигах java-серверов по дефолту стоит строка вида
CnameTemplate = .*
Это позволяет игрокам использовать любые символы, которые могут уместиться в unicode, т.е. все. Значение этого параметра парсится сервером из конфига и воспринимается как регулярное выражение. Про них огромное количество инструкций в инете.
Именно используя регулярки делаются такие вещи, как правильность вводы мыла на сайте, номера телефона, пароля и остального. С помощью них можно задать абсолютно любой символьный шаблон.
Итак, теперь по теме. Искомое значение конфига:
CnameTemplate = [a-zA-Z0-9]*|[\u0410-\u042f\u0430-\u044f0-9]*
Что здесь проверяется:
Так же сам документ конфига должен быть в utf-8 кодировке, добиться этого можно открыв его в программе notepad++ и выбрав в панели меню "Кодировки"===>"Кодировать в UTF-8".
Спасибо за внимание. Это первый написанный мною мануал (до этого я их только читал), поэтому просьба сильно какахами не кидаться.
Очень многие хотят разрешить игрокам писать ники, титулы, имена петам и т.д. как русскими буквами, так и английскими. Но если делать по инструкциям, которые я встречал ранее, то нужно выбирать: только англ. ники, только русские ники, ники, в которых перемешаны буквы 2х алфавитов. Последний вариант особо проклинаем модераторами.
В конфигах java-серверов по дефолту стоит строка вида
CnameTemplate = .*
Это позволяет игрокам использовать любые символы, которые могут уместиться в unicode, т.е. все. Значение этого параметра парсится сервером из конфига и воспринимается как регулярное выражение. Про них огромное количество инструкций в инете.
Именно используя регулярки делаются такие вещи, как правильность вводы мыла на сайте, номера телефона, пароля и остального. С помощью них можно задать абсолютно любой символьный шаблон.
Итак, теперь по теме. Искомое значение конфига:
CnameTemplate = [a-zA-Z0-9]*|[\u0410-\u042f\u0430-\u044f0-9]*
Что здесь проверяется:
- [a-zA-Z0-9]* - разрешает использовать любые символы из промежутков a-z, A-Z, 0-9. * указывает на то, что символов этих может быть любое количество.
- [\u0410-\u042f\u0430-\u044f0-9]* - разрешает использовать символы а-я, А-Я, 0-9. Русские символы заданы в формате Unicode. * Про зведочку вы уже знаете.
- Символ "|" работает как "ИЛИ". То есть выражение можно представить как "[a-zA-Z0-9]* или [\u0410-\u042f\u0430-\u044f0-9]*".
Так же сам документ конфига должен быть в utf-8 кодировке, добиться этого можно открыв его в программе notepad++ и выбрав в панели меню "Кодировки"===>"Кодировать в UTF-8".
Спасибо за внимание. Это первый написанный мною мануал (до этого я их только читал), поэтому просьба сильно какахами не кидаться.