Подключение бота к серверу: различия между версиями
Manticora (обсуждение | вклад) м Удалена глупая ссылка, которая вела из самого конца одного раздела в самое начало следующего раздела. |
Manticora (обсуждение | вклад) м Исправлена нерабочая ссылка |
||
Строка 58: | Строка 58: | ||
:'''7.''' Так как '''version''' и '''master version''' записаны сейчас в шестнадцетеричном формате (основание системы счисления равно 16), а OpenKore ожидает их увидеть в десятичном формате (основание равно 10), то их надо перевести из одной системы счисления в другую. Используйте [http://www.statman.info/conversions/hexadecimal.html вот этот калькулятор]. Переведённые в десятичную систему '''version''' и '''master version''' могут быть использованы в OpenKore. Теперь осталось только [[ | :'''7.''' Так как '''version''' и '''master version''' записаны сейчас в шестнадцетеричном формате (основание системы счисления равно 16), а OpenKore ожидает их увидеть в десятичном формате (основание равно 10), то их надо перевести из одной системы счисления в другую. Используйте [http://www.statman.info/conversions/hexadecimal.html вот этот калькулятор]. Переведённые в десятичную систему '''version''' и '''master version''' могут быть использованы в OpenKore. Теперь осталось только [[%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B1%D0%BE%D1%82%D0%B0_%D0%BA_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D1%83#.D0.9F.D1.80.D0.BE.D0.BF.D0.B8.D1.81.D0.B0.D1.82.D1.8C_.D0.BD.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B8_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.B0_.D0.B2_OpenKore|прописать настройки сервера в OpenKore]]. | ||
Версия от 17:39, 1 апреля 2010
Вместе с OpenKore идёт внушительный список с настройками серверов. Однако некоторых серверов нет в списке и иногда настройки устаревают (например, когда сервер меняет IP-адрес или обновляется до новой версии). Этот гайд научит вас некоторым способам выяснения настроек сервера. Прочитайте внимательно этот гайд полностью! Если вы столкнулись с проблемами, дочитайте сначала гайд до конца, прежде чем задавать вопросы на форуме или в IRC!
Однако прежде чем приступить к чтению гайда, прочитайте список неподдерживаемых серверов. Если ваш сервер вообще не поддерживается, то чтение гайда будет пустой тратой времени.
OpenKore нуждается в следующей информации о сервере Ragnarok Online, прежде чем сможет залогиниться:
- Имя сервера.
- Адрес сервера в интернете (IP-адрес или доменное имя) и номер порта.
- Номер master version сервера.
- Номер version сервера.
- Кодировка текста.
- СерверТип serverType сервера.
Получение информации о сервере
Есть два способа получить информацию о сервере, с использованием WPE или Wireshark. Способ с WPE - проще, потому что большинство игроков уже знакомы с WPE, или хотя бы знают, что это такое и как оно работает. Однако некоторые сервера блокируют использование WPE, поэтому лучше использовать Wireshark.
WPE (Winsock Packet Editor)
- 1. Скачайте и распакуйте. Скачивать отсюда.
- До начала скачивания, отключите ваш антивирус, так как он может принять WPE за вирус и удалить его. Также следует сказать, что никто не несёт ответственности, если ваш компьютер вдруг поломается.
- 2. Запустите клиент Ragnarok Online но не вводите пока логин и пароль! Оставьте сейчас Ragnarok и запустите WPE.
- Примечание: Некоторые серверы "скрывают" свой настоящий выполняемый файл, переименовывая его (например из xxxRO.exe в binadds.dll), так что не переживайте, если запущенный файл не является .exe-файлом.
- 5. Перейдите назад в окно клиента Ragnarok Online. Залогиньтесь в игру - введите логин и пароль, нажмите Enter. Вам не нужно логиниться на map-сервер, логина на login-сервер будет достаточно.
- Примечание: Не обязательно вводить правильные логин и пароль.
- Откроется новое окно с содержимым перехваченных пакетов. Здесь можно найти version, master_version, IP-адрес и порт сервера.
- Пакеты различаются от сервера к серверу, но в большинстве случаев пакеты начинаются с 64 00.
- На следующем рисунке показан перехваченный пакет, который содержит version и master_version. Выпишите обведённые числа на бумажку, они понадобятся позднее.
- Условные обозначения:
- Version
- IP
- Port
- Master version
- 7. Так как version и master version записаны сейчас в шестнадцетеричном формате (основание системы счисления равно 16), а OpenKore ожидает их увидеть в десятичном формате (основание равно 10), то их надо перевести из одной системы счисления в другую. Используйте вот этот калькулятор. Переведённые в десятичную систему version и master version могут быть использованы в OpenKore. Теперь осталось только прописать настройки сервера в OpenKore.
Wireshark
- 1. Скачайте и установите Wireshark. Скачивать отсюда.
- 2. Запустите клиент Ragnarok Online но не вводите пока логин и пароль! Оставьте сейчас Ragnarok и запустите Wireshark.
- 4. В открывшемся окне в выпадающем списке Interface: выберите сетевой интерфейс, с которого вы хотите перехватывать пакеты. Если вы не уверены, какой сетевой интерфейс использовать, выберите тот, у которого прописан ваш IP-адрес в интернете, или же хотя бы не стоит unknown. Можно также перепробовать их все и выбрать тот, с которого можно перехватить пакеты. Все остальные параметры найстройте так, как показано на рисунке.
- 5. После настройки всех параметров, щёлкните по кнопке Start button и перейдите назад в окно клиента Ragnarok Online. Залогиньтесь в игру - введите логин и пароль, нажмите Enter. Вам не нужно логиниться на map-сервер, логина на login-сервер будет достаточно.
- Примечание: Не обязательно вводить правильные логин и пароль.
- 7. В главном окне Wireshark можно увидеть записи о перехваченных TCP-сегментах. Отсейте ненужные, используя в фильтре пакетов введённый вами логин.
- Введите в поле Filter одно из двух:
eth contains "xxxxxx" или eth contains xxxxxx
- 8. Теперь останется только одна запись о перехваченном пакете, щёлкните по записи и получите кое-какую информацию о пакете. Здесь вы найдёте IP-адрес и порт сервера.
- Запишите IP-адрес и порт сервера на бумажку, они понадобятся позже.
- 12. Так как version и master version записаны сейчас в шестнадцетеричном формате (основание системы счисления равно 16), а OpenKore ожидает их увидеть в десятичном формате (основание равно 10), то их надо перевести из одной системы счисления в другую. Используйте вот этот калькулятор. Переведённые в десятичную систему version и master version могут быть использованы в OpenKore. В следующем разделе вы узнаете, как прописать настройки сервера в OpenKore.
Прописать настройки сервера в OpenKore
OpenKore читает настройки сервера из файла tables\servers.txt.
Если вашего сервера нет в списке, тогда добавьте в этот файл новую запись. Если же ваш сервер уже есть в списке, тогда измените существующую запись. Записи имеют следующий формат:
[Server's Name] -> Имя вашего сервера, должно быть между квадратных скобок '[' и ']'. ip x.x.x.x -> IP-адрес сервера. port xxxx -> Порт сервера. master_version xx -> master_version сервера, одно из тех чисел, которое мы переводили из шестнадцетеричной системы в десятичную. version xx -> version сервера, другое число, которое мы переводили из шестнадцетеричной системы в десятичную.The one that you converted from hex to decimal. serverType xxx -> СерверТип, для пиратских обычно 8_2, иногда бывает что-то вроде RagexeRE_2009_12_15a, официальные сервера имеют буквенные сервертипы, для руофа, например, это rRO. charBlockSize xx -> По умолчанию 106. Если у чара отображается неправильно имя и профессия,
то следует выяснить и прописать правильное значение.
serverEncoding xxxx -> Кодировка текста. private 1 -> Этот параметр указывается только в том случае, если OpenKore соединяется с map-сервером, используя неправильный ip-адрес. Обычно такое случается
на пиратских серверах.
recvpackets xxxxxx.txt -> Имя файла с ресивпакетами конкретно для вашего сервера. Если этот параметр не указан, то будет использован файл recvpackets.txt.
И вот вам один пример:
[MushroomRO] ip 127.0.0.1 port 6900 master_version 16 version 20 serverType 8_4 charBlockSize 108 serverEncoding Western recvpackets mush-recvpackets.txt
После изменения файла servers.txt следует перезапустить OpenKore.
Кодировка текста
Кодировка текста не может быть автоматически определена, поэтому её нужно прописывать руками. Вот список возможных кодировок:
Кодировка текста | Используется в языках |
---|---|
Western | Английский язык, или другой, основанный на латинском алфавите язык. Например немецкий, французский, португальский, а также индонезийский и другие. |
Simplified Chinese | Упрощённый китайский. |
Traditional Chinese | Традиционный китайский. |
Korean | Корейский язык. |
Russian | Русский язык, или другой, основанный на кириллице. |
Japanese | Японский. |
Thai | Тайский язык. |
Packet Length Extractor
Packet Length Extractor - это программа, которая достаёт из клиента RO длины используемых им пакетов и сохраняет их в файле recvpackets.txt. Если вы испытываете такие проблемы со своим сервером, как:
- Packet Tokenizer: Unknown switch: xxxx
- Дисконнект после нескольких секунд
- OpenKore не видит неписей, игроков и мобов
В этом случае создание своего собственного файла recvpackets.txt может решить проблему. На самом деле рекомендуется всегда извлекать ресивпакеты для любого сервера, на котором вы бы хотели играть. Этот файл должен находиться в папке tables.
Примечание: У вас могут возникнуть сложности с извлечением ресивпакетов, если клиент был каким-то образом защищён.
Зачем нужны ресивпакеты?
Данные, которые посылает сервер к OpenKore, являются неразрывным потоком байт. OpenKore должна распознать в этом потоке отдельные сообщения, чтобы потом их как-то обработать. Однако длина одного и того же сообщения меняется от сервера к серверу. Файл recvpackets.txt содержит информацию о длине каждого сообщения, таким образом OpenKore удаётся правильно разбивать поток байт на отдельные сообщения.
Скачать извлекалки ресивпакетов
Есть две программы для извлечения ресивпакетов:
Лучше использовать JCV's RO Tools, так как она более свежая и заточена под новые клиенты. Но в некоторых случаях помогает другая программа - OpenKore Packet Length Extractor.