serverType: различия между версиями

Материал из Руководство по OpenKore
Перейти к навигации Перейти к поиску
мНет описания правки
 
(не показано 14 промежуточных версий 2 участников)
Строка 1: Строка 1:
; serverType [<number>]
; <includeonly>[[serverType]]</includeonly><noinclude>serverType</noinclude> <название_типа_сервера>
: В этом параметре конфига прописывается так называемый сервертип сервера, к которому должна подключиться OpenKore. Если в этом параметре конфига не было прописано никакого значения, то OpenKore обратится к файлу tables\servers.txt. Этот параметр конфига указывает на какого типа сервере вы играете.
: В этом параметре указывается так называемый тип сервера, к которому должна подключиться OpenKore. Это "язык" общения OpenKore с сервером RO. Каждый официальный сервер имеет свой serverType. Приватные сервера используют '''kRO-шные serverType''' в соответствии с датой компиляции запускаемых файлов клиента.
<noinclude>
== Обзор serverType ==
'''Именные serverType''' используются для подключения к официальным серверам Ragnarok Online. Они появились в OpenKore начиная с ревизии r6870.


=== Поддерживаемые ===
{| class="wikitable" border="1" cellspacing="0" width="100%"
!Сервер
!serverType
!ревизия
!Последний используемый sT
|-
| Официальный, Korea
| kRO_RagexeRE_0
|
| 8_1
|-
| Официальный, Taiwan
| twRO
|
| 21, 22
|-
| Официальный, Japan
| ''[[Patches Welcome|нет]]''
|
|
|-
| Официальный, Thailand
| tRO
|
| 21
|-
| Официальный, China
| cRO
| появился в [http://openkore.svn.sourceforge.net/viewvc/openkore?view=revision&revision=8352 r8352]
|
|-
|rowspan=2| Официальный, International
| iRO
|
| 22
|-
| iRO_Classic (Classic Pre-Renewal)
| появился в [http://openkore.svn.sourceforge.net/viewvc/openkore?view=revision&revision=8046 r8046]
|
|-
| Официальный, Philippines
| pRO
|
| 22
|-
| Официальный, Indonesia
| idRO
|
| 22
|-
| Официальный, Malaysia
| mRO
|
| 22
|-
|rowspan=3| Официальный, Brazil
| bRO (Odin)
|
| 0
|-
| bRO_Thor (Thor)
| removed in [http://openkore.svn.sourceforge.net/viewvc/openkore?view=revision&revision=7929 r7929]
| 22
|-
| bRO (Asgard)
|
| none
|-
| Официальный, Russia
| rRO
|
| 0
|-
| Официальный, France
| fRO
|
| 0
|-
| Официальный, Middle East
| aRO
|
| 22
|-
| Приватные сервера
| kRO_RagexeRE_* <br/>kRO_Sakexe_*
|
| *
|}
=== Устаревшие ===
'''Числовые serverType''' ('''0'''-'''22''', '''8_1'''-'''8_5''') устарели и более не обновляются. Поэтому '''эти serverType скорее всего не будут работать'''.
Числовые serverType существуют до сих пор только для работы с действительно устаревшими официальными приватными серверами.
Кроме того, <code>serverType0</code> используется как основа в именных serverType для официальных серверов (за исключением kRO).
== serverType kRO  для приватных серверов ==
Только официальные серверы имеют свой собственный serverType. Для приватных серверов необходимо найти дату компиляции исполняемого файла клиента и использовать соответствующий ему serverType: kRO - для новых версий или Sakray - для старых.
Синтаксис kRO serverTypes:
kRO_RagexeRE_<год>_<месяц>_<дата><буква>


== Обзор сервертипов ==
Синтаксис Sakray serverTypes:
kRO_Sakexe_<год>_<месяц>_<дата><буква>


{|border="1" cellpadding="2" cellspacing="1"  
Вы можете найти все поддерживаемые serverType в папке '''src/Network/Receive'''.
|- style=background-color:#F9F9F9;
 
=== Определение serverTypes для приватного сервера ===
Есть несколько способов определить kRO serverType для вашего сервера.
 
==== Версия сервера ====
 
Версия сервера изменяется при несовместимых изменениях протокола (обычно в этот момент изменяется пакет <code>game_login</code>). Попробуйте указать serverTypes, соответствующий версии сервера. Используйте исходный код OpenKore или eAthena packet_db в качестве ссылки.
 
{| class="wikitable" border="1" cellspacing="0" width="100%"
!Версия
!Минимальный serverType
!game_login
|-
|-
!Сервертип
| …
!На основе сервертипа
| [[Patches Welcome|Добавьте самостоятельно]]
!charblock
|
!Замечания и отличия
|-
|-
|'''0''' ||- ||[[charBlockSize]] or 106 ||'''bRO: Odin, fRO, inRO, rRO'''
| 44
| ''2013-07-17 Ragexe'' (Не поддерживается, [[Patches Welcome|Добавьте самостоятельно]])
| 091D
|-
|-
|1 ||0 || ||"oRO (Oceania/Australia), as of February 2006"
| 43
:send: 0089 sendAction, 00A2 sendDrop, 0094 sendGetPlayerInfo, 00A7 sendItemUse, 009B sendLook, 0072 sendMapLogin, 0113 sendSkillUse, 0116 sendSkillUseLoc, 00F3 sendStorageAdd, 00F5 sendStorageGet, 007E sendSync, 009F sendTake
| ''2013-07-10 Ragexe'' (Не поддерживается, [[Patches Welcome|Добавьте самостоятельно]])
| 022D
|-
|-
|2 ||0 || ||
| 42
:send: ...
| ''2013-07-03 Ragexe'' (Не поддерживается, [[Patches Welcome|Добавьте самостоятельно]])
| 022D
|-
|-
|3 ||0 || ||
| 41
:send: ...
| ''2013-06-26 Ragexe'' (Не поддерживается, [[Patches Welcome|Добавьте самостоятельно]])
| 088C
|-
|-
|4 ||0 || ||
| 40
:send: ...
| ''2013-06-18 Ragexe'' (Не поддерживается, [[Patches Welcome|Добавьте самостоятельно]])
| 095B
|-
|-
|5 ||0 || ||
| 39
:send: ...
| ''2013-06-12 Ragexe'' (Не поддерживается, [[Patches Welcome|Добавьте самостоятельно]])
| 0919
|-
|-
|6 ||0 || ||
| 38
:send: ...
| ''2013-06-05 Ragexe'' (Не поддерживается, [[Patches Welcome|Добавьте самостоятельно]])
| 022D
|-
|-
|'''7''' ||0 || ||'''jRO: Verdandi'''
| 37
:send: ...
| ''2013-05-29 Ragexe'' (Не поддерживается, [[Patches Welcome|Добавьте самостоятельно]])
| 0919
|-
|-
|8 ||0 ||108 ||"kRO before February 2007; the majority of private servers on Dec 2007; packet_ver 22 of eAthena"
| 36
:send: ...
| ''2013-05-22 Ragexe'' (Не поддерживается, [[Patches Welcome|Добавьте самостоятельно]])
| 08A9
|-
|-
|8_1 ||8 ||108 ||'''[kRO]'''
| 35
"kRO after February 2007"
| ''2013-05-15a Ragexe'' (Не поддерживается, [[Patches Welcome|Добавьте самостоятельно]])
:send: ...
| 0943
|-
|-
|8_2 ||8 ||108 ||"some eAthena servers after Feb 26th 2008"
| 34
:recv: 0078 actor_display, 007C actor_display, 022C actor_display
| ''2013-03-20Ragexe'' (Не поддерживается, [[Patches Welcome|Добавьте самостоятельно]])
| 0888
|-
|-
|8_3 ||8 ||108 ||"LegacyRO after February 2008"
| 33
:send: ...
| ''2012-07-02aRagexeRE'' (Не поддерживается, [[Patches Welcome|Добавьте самостоятельно]])
| 0363
|-
|-
|8_4 ||8 ||108 ||"kRO Client 2008-3-26 (eA packet version 9)"
| 32
:identical to 8_2
| ''2012-06-18'' (Не поддерживается, [[Patches Welcome|Добавьте самостоятельно]])
| 022D
|-
|-
|8_5 ||8 ||[[charBlockSize]] or 108 ||"kRO Client 2009-02-25b (eA packet version 23)"
| 31
:recv: 0078 actor_display, 007C actor_display, 022C actor_display
| ''2012-04-18aRagexeRE'' (Не поддерживается, [http://rathena.org/board/topic/66079-2012-06-18aragexere-packet-db/ N/A in rAthena], [[Patches Welcome|Добавьте самостоятельно]])
:send: sendMapLogin 0436
| 022D
|-
|-
|9 ||0 || ||"new eAthena episode X.5"
| 30
:send: ...
| kRO_RagexeRE_2012_04_10a ([http://forums.openkore.com/viewtopic.php?t=17288 требуется доработка], [[Patches Welcome|Добавьте самостоятельно]])
| 094B
|-
|-
|10 ||0 || ||'''[vRO]'''
| 29
"vRO (Vietnam)"
| kRO_RagexeRE_2012_03_07f ([http://forums.openkore.com/viewtopic.php?t=17288 требуется доработка], [[Patches Welcome|Добавьте самостоятельно]])
:send: ...
| 086A
|-
|-
|11 ||0 || ||'''[euRO]'''
| 28
"euRO (Europe) as of September 16 2006"
| kRO_RagexeRE_2011_11_02a ([http://forums.openkore.com/viewtopic.php?t=17288 требуется доработка], [[Patches Welcome|Добавьте самостоятельно]])
:send: ...
| 083C
|-
|-
|12 ||0 || ||'''[pRO Valkyrie]'''
| 27
"pRO Thor as of October 22 2006"
| kRO_RagexeRE_2011_10_05a
:send: ...
| 0436 (без изменений)
|-
|-
|'''13''' ||0 || ||'''vRO'''
| 26
"rRO (Russia)"
| kRO_RagexeRE_2010_11_24a
:send: ...
| 0436 (без изменений)
|-
|-
|14 ||0 || ||'''[pRO Valkyrie]'''
| 25
"pRO Thor as of December 1 2006"
| kRO_RagexeRE_2008_09_10a
:send: ...
| 0436
|-
|-
|15 ||11 || ||'''[pRO Thor]'''
| 24
"pRO Thor"
| kRO_RagexeRE_2008_08_27a
:recv: map_loaded
| 009B
:send: ...
|-
|-
|16 ||11 || ||'''[euRO]'''
| 23
"euRO (Europe) as of December 20 2006"
| kRO_Sakexe_2008_09_10a
:send: ...
| 0436
|-
|-
|17 ||0 || ||'''[tRO]'''
| 22
"tRO (Thai) for 2007-05-22bRagexe"
| kRO_Sakexe_2007_02_12a
recv: account_server_info
| 009B
send: ...
|-
|-
|17_1 ||? ||? ||'''[tRO]'''
| 21
| kRO_Sakexe_2007_01_08a
| ...
|-
|-
|18 ||0 || ||'''[iRO]'''
| 20
"iRO (International) as of June 21 2007"
| kRO_Sakexe_2006_03_27a
:send: ...
|-
|-
|19 ||0 || ||'''[pRO Valkyrie]'''
| 19
"pRO Valkyrie"
| kRO_Sakexe_2005_07_19b
:recv: identical to 15
:send: ...
|-
|-
|20 ||0 || ||'''[pRO Valkyrie]'''
| 18
"pRO Valkyrie"
| kRO_Sakexe_2005_07_18a
:recv: identical to 15
:send: ...
|-
|-
|'''21''' ||0 || ||'''twRO (Chaos, Loki, Aegir), tRO'''
| 17
"tRO (Thai) for 2008-09-16Ragexe12_Th"
| kRO_Sakexe_2005_06_28a
:recv: 0069 account_server_info, 0078 actor_display, 007C actor_display, 022C actor_display
:send: sendMove 0085, sendHomunculusMove 0232
|-
|-
|'''22''' ||0 || ||'''bRO: Thor, euRO, idRO, iRO, mRO, pRO, twRO (Free, Test)'''
| 16
"idRO (Indonesia)"
| kRO_Sakexe_2005_05_09a
:recv: 0078 actor_display, 007C actor_display, 009A system_chat, 022C actor_display
|-
:send: identical to 21
| 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
|}
|}


[[Category:config.txt]]
 
[[Category:connection]]
==== Редактирование пакетов ====
 
(''Надежный'')
 
Поскольку постоянно появляются новые пакеты, вы можете исследовать их. Используйте сгенерированный свежий [[recvpackets|recvpackets.txt]] и предупреждения о неизвестных пакетах в консоли OpenKore, сравнивая новые данные с имеющимися в существующих serverType. Например, при подъёме предмета с земли в консоли OpenKore появляется информация о неизвестном пакете - включите [[:Категория:debug|debug пакетов]] и исследуйте его.
 
 
==== Дата компиляции ====
 
(''Ненадежно: дату компиляции исполняемого файла можно легко изменить.'')
 
'''1.''' Скачайте [https://mega.nz/file/CZYWjRAZ#4yb7bNj0-2xnxlUpZpq5xUpg3Xfb_tVN2Bo4NzBKWpA PE Viewer].
 
'''2.''' Откройте '''PE Viewer''' и выберите меню '''File > Open''' или просто нажмите кнопку '''F2'''. Выберите исполняемый файл клиента (не перепутайте с патчером!) <ref>Помните, что искать дату компиляции надо именно в исполняемом файле клиента (а не патчера, например). Имя настоящего исполняемого файла можно узнать через "Диспетчер задач Windows", просмотрев список запущенных в данный момент процессов. Среди них должен быть процесс игры Ragnarok Online. Таким именем может оказаться, например, ro.bin.</ref>.
:[[File:file.png]]
 
'''3.''' Перейдите ко вкладке '''PE Header'''.
:[[File:ServerType-header.png]]
 
'''4.''' Рядом с полем '''Time Data Stamp''' стоит дата компиляции исполняемого файла.
:[[File:ServerType-date.png]]
 
'''5.''' Откройте папку с файлами serverType '''src/Network/Receive/kRO''' и найдите файл, в имени которого есть указанная дата. В данном примере дата компиляции была '''January 26, 2010''', таким образом нужным файлом будет файл с именем '''RagexeRE_2010_01_26a.pm'''.
:[[File:ServerType-file.png]]
 
'''6.''' Нужный файл был найден, а значит для указанной даты компиляции существует serverType. Если нет файла с точно подходящей датой, попробуйте другой ближайший serverType или, на крайний случай, наиболее свежий из доступных. Название kRO-шного serverType отличается от названия файла только двумя вещами: в начало названия serverType добавляем '''kRO_''', а в конце убираем (если оно там было) расширение '''.pm'''. Например:
 
Из этого имени файла: <code>RagexeRE_2010_01_26a.pm</code> получится вот такой kRO-шный сервертип: <code>kRO_RagexeRE_2010_01_26a</code>. Следите за регистром букв в названии serverType. Например, так писать неправильно: kR'''o'''_RagexeRE_2010_01_26a и OpenKore сообщит об ошибке, мол, нет такого serverType.
==== Примечение ====
* Если вы используете OpenKore на приватном сервере, который использует eAthena или Herkules, то '''НЕ используйте''' <code>kRO_RagexeRE_0</code>, так как он предназначен только для использования на официальном сервере kRO.
 
== Ссылки ==
 
* Файлы serverType: [https://github.com/OpenKore/openkore/blob/master/tables/servers.txt tables/servers.txt] [https://github.com/OpenKore/openkore/tree/master/src/Network/Receive src/Network/Receive] [https://github.com/OpenKore/openkore/tree/master/src/Network/Send src/Network/Send]
* [https://github.com/HerculesWS/Hercules Проект Herkules]
* [https://code.google.com/p/eathena-project/source/browse/trunk/db/packet_db.txt eAthena's packet_db.txt]
* [http://sourceforge.net/apps/trac/rathena/browser/trunk/db/packet_db.txt rAthena's packet_db.txt]
 
[[Category:servers.txt]]
[[Category:connection]]</noinclude>

Текущая версия от 19:23, 31 января 2021

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.

Ссылки