serverType

Материал из Руководство по OpenKore
(перенаправлено с «ServerType»)
Перейти к навигации Перейти к поиску
serverType <название_типа_сервера>
В этом параметре указывается так называемый тип сервера, к которому должна подключиться OpenKore. Это "язык" общения OpenKore с сервером RO. Каждый официальный сервер имеет свой serverType. Приватные сервера используют kRO-шные serverType в соответствии с датой компиляции запускаемых файлов клиента.

Обзор serverType

Именные serverType используются для подключения к официальным серверам Ragnarok Online. Они появились в OpenKore начиная с ревизии r6870.

Поддерживаемые

Сервер serverType ревизия Последний используемый sT
Официальный, Korea kRO_RagexeRE_0 8_1
Официальный, Taiwan twRO 21, 22
Официальный, Japan нет
Официальный, Thailand tRO 21
Официальный, China cRO появился в r8352
Официальный, International iRO 22
iRO_Classic (Classic Pre-Renewal) появился в r8046
Официальный, Philippines pRO 22
Официальный, Indonesia idRO 22
Официальный, Malaysia mRO 22
Официальный, Brazil bRO (Odin) 0
bRO_Thor (Thor) removed in r7929 22
bRO (Asgard) none
Официальный, Russia rRO 0
Официальный, France fRO 0
Официальный, Middle East aRO 22
Приватные сервера kRO_RagexeRE_*
kRO_Sakexe_*
*

Устаревшие

Числовые serverType (0-22, 8_1-8_5) устарели и более не обновляются. Поэтому эти serverType скорее всего не будут работать.

Числовые serverType существуют до сих пор только для работы с действительно устаревшими официальными приватными серверами.

Кроме того, serverType0 используется как основа в именных serverType для официальных серверов (за исключением kRO).

serverType kRO для приватных серверов

Только официальные серверы имеют свой собственный serverType. Для приватных серверов необходимо найти дату компиляции исполняемого файла клиента и использовать соответствующий ему serverType: kRO - для новых версий или Sakray - для старых.

Синтаксис kRO serverTypes:

kRO_RagexeRE_<год>_<месяц>_<дата><буква>

Синтаксис Sakray serverTypes:

kRO_Sakexe_<год>_<месяц>_<дата><буква>

Вы можете найти все поддерживаемые serverType в папке src/Network/Receive.

Определение serverTypes для приватного сервера

Есть несколько способов определить kRO serverType для вашего сервера.

Версия сервера

Версия сервера изменяется при несовместимых изменениях протокола (обычно в этот момент изменяется пакет game_login). Попробуйте указать serverTypes, соответствующий версии сервера. Используйте исходный код OpenKore или eAthena packet_db в качестве ссылки.

Версия Минимальный serverType game_login
Добавьте самостоятельно
44 2013-07-17 Ragexe (Не поддерживается, Добавьте самостоятельно) 091D
43 2013-07-10 Ragexe (Не поддерживается, Добавьте самостоятельно) 022D
42 2013-07-03 Ragexe (Не поддерживается, Добавьте самостоятельно) 022D
41 2013-06-26 Ragexe (Не поддерживается, Добавьте самостоятельно) 088C
40 2013-06-18 Ragexe (Не поддерживается, Добавьте самостоятельно) 095B
39 2013-06-12 Ragexe (Не поддерживается, Добавьте самостоятельно) 0919
38 2013-06-05 Ragexe (Не поддерживается, Добавьте самостоятельно) 022D
37 2013-05-29 Ragexe (Не поддерживается, Добавьте самостоятельно) 0919
36 2013-05-22 Ragexe (Не поддерживается, Добавьте самостоятельно) 08A9
35 2013-05-15a Ragexe (Не поддерживается, Добавьте самостоятельно) 0943
34 2013-03-20Ragexe (Не поддерживается, Добавьте самостоятельно) 0888
33 2012-07-02aRagexeRE (Не поддерживается, Добавьте самостоятельно) 0363
32 2012-06-18 (Не поддерживается, Добавьте самостоятельно) 022D
31 2012-04-18aRagexeRE (Не поддерживается, N/A in rAthena, Добавьте самостоятельно) 022D
30 kRO_RagexeRE_2012_04_10a (требуется доработка, Добавьте самостоятельно) 094B
29 kRO_RagexeRE_2012_03_07f (требуется доработка, Добавьте самостоятельно) 086A
28 kRO_RagexeRE_2011_11_02a (требуется доработка, Добавьте самостоятельно) 083C
27 kRO_RagexeRE_2011_10_05a 0436 (без изменений)
26 kRO_RagexeRE_2010_11_24a 0436 (без изменений)
25 kRO_RagexeRE_2008_09_10a 0436
24 kRO_RagexeRE_2008_08_27a 009B
23 kRO_Sakexe_2008_09_10a 0436
22 kRO_Sakexe_2007_02_12a 009B
21 kRO_Sakexe_2007_01_08a ...
20 kRO_Sakexe_2006_03_27a
19 kRO_Sakexe_2005_07_19b
18 kRO_Sakexe_2005_07_18a
17 kRO_Sakexe_2005_06_28a
16 kRO_Sakexe_2005_05_09a
15 kRO_Sakexe_2005_01_10b
14 kRO_Sakexe_2004_11_29a
13 kRO_Sakexe_2004_10_25a
12 kRO_Sakexe_2004_10_05a
11 kRO_Sakexe_2004_09_20a
10 kRO_Sakexe_2004_09_06a
9 kRO_Sakexe_2004_08_09a
8 kRO_Sakexe_2004_07_26a
7 kRO_Sakexe_2004_07_13a
6 kRO_Sakexe_2004_07_05a
5 kRO_Sakexe_0


Редактирование пакетов

(Надежный)

Поскольку постоянно появляются новые пакеты, вы можете исследовать их. Используйте сгенерированный свежий recvpackets.txt и предупреждения о неизвестных пакетах в консоли OpenKore, сравнивая новые данные с имеющимися в существующих serverType. Например, при подъёме предмета с земли в консоли OpenKore появляется информация о неизвестном пакете - включите debug пакетов и исследуйте его.


Дата компиляции

(Ненадежно: дату компиляции исполняемого файла можно легко изменить.)

1. Скачайте PE Viewer.

2. Откройте PE Viewer и выберите меню File > Open или просто нажмите кнопку F2. Выберите исполняемый файл клиента (не перепутайте с патчером!) <ref>Помните, что искать дату компиляции надо именно в исполняемом файле клиента (а не патчера, например). Имя настоящего исполняемого файла можно узнать через "Диспетчер задач Windows", просмотрев список запущенных в данный момент процессов. Среди них должен быть процесс игры Ragnarok Online. Таким именем может оказаться, например, ro.bin.</ref>.

3. Перейдите ко вкладке PE Header.

4. Рядом с полем Time Data Stamp стоит дата компиляции исполняемого файла.

5. Откройте папку с файлами serverType src/Network/Receive/kRO и найдите файл, в имени которого есть указанная дата. В данном примере дата компиляции была January 26, 2010, таким образом нужным файлом будет файл с именем RagexeRE_2010_01_26a.pm.

6. Нужный файл был найден, а значит для указанной даты компиляции существует serverType. Если нет файла с точно подходящей датой, попробуйте другой ближайший serverType или, на крайний случай, наиболее свежий из доступных. Название kRO-шного serverType отличается от названия файла только двумя вещами: в начало названия serverType добавляем kRO_, а в конце убираем (если оно там было) расширение .pm. Например:

Из этого имени файла: RagexeRE_2010_01_26a.pm получится вот такой kRO-шный сервертип: kRO_RagexeRE_2010_01_26a. Следите за регистром букв в названии serverType. Например, так писать неправильно: kRo_RagexeRE_2010_01_26a и OpenKore сообщит об ошибке, мол, нет такого serverType.

Примечение

  • Если вы используете OpenKore на приватном сервере, который использует eAthena или Herkules, то НЕ используйте kRO_RagexeRE_0, так как он предназначен только для использования на официальном сервере kRO.

Ссылки