serverType: Difference between revisions

From OpenKore Wiki
Jump to navigation Jump to search
No edit summary
 
(44 intermediate revisions by 9 users not shown)
Line 1: Line 1:
; serverType [<number>]
; serverType <value>
: If serverType is not specified in your master server details (see tables\servers.txt), you can specify in this option on what kind of server you're playing.
: Network parser module to use with your server.


{{Available since 2.1}}


= ServerTypes overview =


{| border="1" cellspacing="0" cellpadding="2"
== ServerTypes overview ==
 
=== Supported ===
 
Named serverTypes can be loaded since r6870 and begin to appear in r7066 (not counting kRO serverType tree which started all that madness).
 
{| class="wikitable" border="1" cellspacing="0" width="100%"
!Server
!serverType
!revision
!Last used numeric ST
|-
|-
!ST
| Official, Korea
!base
| kRO_RagexeRE_0
!charblock
|
!notes and changes
| 8_1
|-
|-
|'''0''' ||- ||[[charBlockSize]] or 106 ||'''bRO: Odin, fRO, inRO, rRO'''
| Official, Taiwan
| twRO
|  
| 21, 22
|-
|-
|1 ||0 || ||"oRO (Oceania/Australia), as of February 2006"
| Official, Japan
: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
| ''[[Patches Welcome|none]]''
|-
|-
|2 ||0 || ||
| Official, Thailand
:send: ...
| tRO
|  
| 21
|-
|-
|3 ||0 || ||
| Official, China
:send: ...
| cRO
| added in [http://openkore.svn.sourceforge.net/viewvc/openkore?view=revision&revision=8352 r8352]
| none
|-
|-
|4 ||0 || ||
|rowspan=2| Official, International
:send: ...
| iRO
|  
| 22
|-
|-
|5 ||0 || ||
| iRO_Classic (Classic Pre-Renewal)
:send: ...
| added in [http://openkore.svn.sourceforge.net/viewvc/openkore?view=revision&revision=8046 r8046]
| none
|-
|-
|6 ||0 || ||
| Official, Philippines
:send: ...
| pRO
|  
| 22
|-
|-
|'''7''' ||0 || ||'''jRO: Verdandi'''
| Official, Indonesia
:send: ...
| idRO
|  
| 22
|-
|-
|8 ||0 ||108 ||"kRO before February 2007; the majority of private servers on Dec 2007; packet_ver 22 of eAthena"
| Official, Malaysia
:send: ...
| mRO
|  
| 22
|-
|-
|8_1 ||8 ||108 ||'''[kRO]'''
|rowspan=3| Official, Brazil
"kRO after February 2007"
| bRO (Odin)
:send: ...
|  
| 0
|-
|-
|8_2 ||8 ||108 ||"some eAthena servers after Feb 26th 2008"
| bRO_Thor (Thor)
:recv: 0078 actor_display, 007C actor_display, 022C actor_display
| removed in [http://openkore.svn.sourceforge.net/viewvc/openkore?view=revision&revision=7929 r7929]
| 22
|-
|-
|8_3 ||8 ||108 ||"LegacyRO after February 2008"
| bRO (Asgard)
:send: ...
|
| none
|-
|-
|8_4 ||8 ||108 ||"kRO Client 2008-3-26 (eA packet version 9)"
| Official, Russia
:identical to 8_2
| rRO
|  
| 0
|-
|-
|8_5 ||8 ||[[charBlockSize]] or 108 ||"kRO Client 2009-02-25b (eA packet version 23)"
| Official, France
:recv: 0078 actor_display, 007C actor_display, 022C actor_display
| fRO
:send: sendMapLogin 0436
|  
| 0
|-
|-
|9 ||0 || ||"new eAthena episode X.5"
| Official, Middle East
:send: ...
| aRO
|  
| 22
|-
|-
|10 ||0 || ||'''[vRO]'''
| Private servers
"vRO (Vietnam)"
| kRO_RagexeRE_* <br/>kRO_Sakexe_*
:send: ...
|  
| *
|}
 
 
{{Changes expected}}
 
=== Legacy ===
 
Numeric serverTypes ('''0'''-'''22''', '''8_1'''-'''8_5''') are outdated and aren't being updated to follow server updates, so '''they probably will not work correctly''' - that's a real reason to update from OpenKore 2.0.7 and stop using them, if you don't want to update them by yourself. <span style="color:red;">Don't complain that there's just "some problems" with them if you don't have solutions too.</span>
 
They're kept in OpenKore for use with really outdated official and private servers.
 
serverType 0 is also used as a base for serverTypes for official servers (except kRO).
 
== kRO serverTypes for private servers ==
 
<span style="font-weight:bold; color:red;">OpenKore 2.0.7 and previous versions does not have kRO serverType and aren't capable of loading it without changes in source. To configure for an up to date pserver, you need svn trunk (or 2.1 when it becomes released), not 2.0.7.</span>
 
Only official servers have their own serverType, so other servers (private ones) must find the server's executable compilation date and use the appropriate kRO serverType (newer versions) or Sakray serverTypes (older versions)
 
Currently, kRO serverTypes syntax is:
kRO_RagexeRE_<year>_<month>_<date><letter>
 
And Sakray ones is:
kRO_Sakexe_<year>_<month>_<date><letter>
 
You can find all serverType files in '''src/Network/Receive'''. <span style="font-weight:bold; color:red;">Only serverTypes whose files actually do exist would work.</span>
 
=== Determining kRO serverType ===
 
There are several ways to determine kRO serverType for your server.
 
==== Server Version ====
 
Server version changes when there are incompatible changes in protocol (usually game_login packet changes at that point). Try serverTypes corresponding to the server's version. Use openkore source or eAthena's packet_db as reference.
 
{| class="wikitable" border="1" cellspacing="0" width="100%"
!version
!Min. serverType
!game_login
|-
|-
|11 ||0 || ||'''[euRO]'''
|
"euRO (Europe) as of September 16 2006"
| [[Patches Welcome]]
:send: ...
|
|-
|-
|12 ||0 || ||'''[pRO Valkyrie]'''
| 44
"pRO Thor as of October 22 2006"
| ''2013-07-17 Ragexe'' (N/A, [[Patches Welcome]])
:send: ...
| 091D
|-
|-
|'''13''' ||0 || ||'''vRO'''
| 43
"rRO (Russia)"
| ''2013-07-10 Ragexe'' (N/A, [[Patches Welcome]])
:send: ...
| 022D
|-
|-
|14 ||0 || ||'''[pRO Valkyrie]'''
| 42
"pRO Thor as of December 1 2006"
| ''2013-07-03 Ragexe'' (N/A, [[Patches Welcome]])
:send: ...
| 022D
|-
|-
|15 ||11 || ||'''[pRO Thor]'''
| 41
"pRO Thor"
| ''2013-06-26 Ragexe'' (N/A, [[Patches Welcome]])
:recv: map_loaded
| 088C
:send: ...
|-
|-
|16 ||11 || ||'''[euRO]'''
| 40
"euRO (Europe) as of December 20 2006"
| ''2013-06-18 Ragexe'' (N/A, [[Patches Welcome]])
:send: ...
| 095B
|-
|-
|17 ||0 || ||'''[tRO]'''
| 39
"tRO (Thai) for 2007-05-22bRagexe"
| ''2013-06-12 Ragexe'' (N/A, [[Patches Welcome]])
recv: account_server_info
| 0919
send: ...
|-
|-
|17_1 ||? ||? ||'''[tRO]'''
| 38
| ''2013-06-05 Ragexe'' (N/A, [[Patches Welcome]])
| 022D
|-
|-
|18 ||0 || ||'''[iRO]'''
| 37
"iRO (International) as of June 21 2007"
| ''2013-05-29 Ragexe'' (N/A, [[Patches Welcome]])
:send: ...
| 0919
|-
|-
|19 ||0 || ||'''[pRO Valkyrie]'''
| 36
"pRO Valkyrie"
| ''2013-05-22 Ragexe'' (N/A, [[Patches Welcome]])
:recv: identical to 15
| 08A9
:send: ...
|-
|-
|20 ||0 || ||'''[pRO Valkyrie]'''
| 35
"pRO Valkyrie"
| ''2013-05-15a Ragexe'' (N/A, [[Patches Welcome]])
:recv: identical to 15
| 0943
:send: ...
|-
|-
|'''21''' ||0 || ||'''twRO (Chaos, Loki, Aegir), tRO'''
| 34
"tRO (Thai) for 2008-09-16Ragexe12_Th"
| ''2013-03-20Ragexe'' (N/A, [[Patches Welcome]])
:recv: 0069 account_server_info, 0078 actor_display, 007C actor_display, 022C actor_display
| 0888
:send: sendMove 0085, sendHomunculusMove 0232
|-
|-
|'''22''' ||0 || ||'''bRO: Thor, euRO, idRO, iRO, mRO, pRO, twRO (Free, Test)'''
| 33
"idRO (Indonesia)"
| ''2012-07-02aRagexeRE'' (N/A, [[Patches Welcome]])
:recv: 0078 actor_display, 007C actor_display, 009A system_chat, 022C actor_display
| 0363
:send: identical to 21
|-
| 32
| ''2012-06-18'' (N/A)
| 022D
|-
| 31
| ''2012-04-18aRagexeRE'' (N/A, [http://rathena.org/board/topic/66079-2012-06-18aragexere-packet-db/ N/A in rAthena], [[Patches Welcome]])
| 022D
|-
| 30
| kRO_RagexeRE_2012_04_10a ([http://forums.openkore.com/viewtopic.php?t=17288 unfinished], [[Patches Welcome]])
| 094B
|-
| 29
| kRO_RagexeRE_2012_03_07f ([http://forums.openkore.com/viewtopic.php?t=17288 unfinished], [[Patches Welcome]])
| 086A
|-
| 28
| kRO_RagexeRE_2011_11_02a ([http://forums.openkore.com/viewtopic.php?t=17288 unfinished], [[Patches Welcome]])
| 083C
|-
| 27
| kRO_RagexeRE_2011_10_05a
| 0436 (no change)
|-
| 26
| kRO_RagexeRE_2010_11_24a
| 0436 (no change)
|-
| 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
|}
|}


[[Category:config.txt]]
==== Packets ====
[[Category:Connection]]
 
(''Reliable'')
 
Since there are packets being continually introduced, you may inspect packets (and packet lengths) used on the server (either from already generated [[recvpackets.txt]] or from warnings on unknown packets) and compare that with serverType's data in openkore's source.
 
==== Compilation Date ====
 
(''Not reliable: Executable's compilation date can be changed easily.'')
 
'''1.''' Download [https://mega.nz/file/CZYWjRAZ#4yb7bNj0-2xnxlUpZpq5xUpg3Xfb_tVN2Bo4NzBKWpA PE Viewer].
 
'''2.''' Open it and go the '''File > Open''' or just press F2. Select your server's executable.
:[[File:File.PNG]]
 
'''3.''' Go to '''PE Header''' tab.
:[[File:ServerType-header.PNG]]
 
'''4.''' Beside the '''Time Data Stamp box''', see the executable's compilation date.
:[[File:ServerType-date.PNG]]
 
'''5.''' Find the most suitable serverType file in '''src/Network/Receive/kRO'''.
 
For example, if the date was '''January 26, 2010''', file name would be '''RagexeRE_2010_01_26a.pm'''.
 
:[[File:ServerType-file.PNG]]
 
'''6.''' Set serverType to "kRO_" and file name without extension.
 
For example, if file name was '''RagexeRE_2010_01_26a.pm''', serverType would be '''kRO_RagexeRE_2010_01_26a'''.
 
If there is no file with exact compilation date, try the ones near to that date, or the latest available.
 
==== Notes ====
 
* If you bot on a private server that uses eAthena, '''DO NOT''' use kRO_RagexeRE_0, as it is only meant to be used for the official kRO server.
 
 
== Links ==
 
* OpenKore's serverType files: [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://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:connection]]
[[Category:servers.txt]]

Latest revision as of 21:52, 27 April 2021

serverType <value>
Network parser module to use with your server.
Development.pngThe following documentation describes a feature that was greatly changed in SVN trunk (latest development version) since the last release.
It may work differently or not be available if you're using 2.0.7 or any older version.


ServerTypes overview

Supported

Named serverTypes can be loaded since r6870 and begin to appear in r7066 (not counting kRO serverType tree which started all that madness).

Server serverType revision Last used numeric ST
Official, Korea kRO_RagexeRE_0 8_1
Official, Taiwan twRO 21, 22
Official, Japan none
Official, Thailand tRO 21
Official, China cRO added in r8352 none
Official, International iRO 22
iRO_Classic (Classic Pre-Renewal) added in r8046 none
Official, Philippines pRO 22
Official, Indonesia idRO 22
Official, Malaysia mRO 22
Official, Brazil bRO (Odin) 0
bRO_Thor (Thor) removed in r7929 22
bRO (Asgard) none
Official, Russia rRO 0
Official, France fRO 0
Official, Middle East aRO 22
Private servers kRO_RagexeRE_*
kRO_Sakexe_*
*


Development.pngImplementation of this feature is expected to become outdated with server updates.
As OpenKore is a free project, if you stumble upon such updates, you are expected to fix the problem and contribute your changes back. Usually, server supporters will do that, but there isn't any for random private servers, and some official ones may not always be covered.

Legacy

Numeric serverTypes (0-22, 8_1-8_5) are outdated and aren't being updated to follow server updates, so they probably will not work correctly - that's a real reason to update from OpenKore 2.0.7 and stop using them, if you don't want to update them by yourself. Don't complain that there's just "some problems" with them if you don't have solutions too.

They're kept in OpenKore for use with really outdated official and private servers.

serverType 0 is also used as a base for serverTypes for official servers (except kRO).

kRO serverTypes for private servers

OpenKore 2.0.7 and previous versions does not have kRO serverType and aren't capable of loading it without changes in source. To configure for an up to date pserver, you need svn trunk (or 2.1 when it becomes released), not 2.0.7.

Only official servers have their own serverType, so other servers (private ones) must find the server's executable compilation date and use the appropriate kRO serverType (newer versions) or Sakray serverTypes (older versions)

Currently, kRO serverTypes syntax is:

kRO_RagexeRE_<year>_<month>_<date><letter>

And Sakray ones is:

kRO_Sakexe_<year>_<month>_<date><letter>

You can find all serverType files in src/Network/Receive. Only serverTypes whose files actually do exist would work.

Determining kRO serverType

There are several ways to determine kRO serverType for your server.

Server Version

Server version changes when there are incompatible changes in protocol (usually game_login packet changes at that point). Try serverTypes corresponding to the server's version. Use openkore source or eAthena's packet_db as reference.

version Min. serverType game_login
Patches Welcome
44 2013-07-17 Ragexe (N/A, Patches Welcome) 091D
43 2013-07-10 Ragexe (N/A, Patches Welcome) 022D
42 2013-07-03 Ragexe (N/A, Patches Welcome) 022D
41 2013-06-26 Ragexe (N/A, Patches Welcome) 088C
40 2013-06-18 Ragexe (N/A, Patches Welcome) 095B
39 2013-06-12 Ragexe (N/A, Patches Welcome) 0919
38 2013-06-05 Ragexe (N/A, Patches Welcome) 022D
37 2013-05-29 Ragexe (N/A, Patches Welcome) 0919
36 2013-05-22 Ragexe (N/A, Patches Welcome) 08A9
35 2013-05-15a Ragexe (N/A, Patches Welcome) 0943
34 2013-03-20Ragexe (N/A, Patches Welcome) 0888
33 2012-07-02aRagexeRE (N/A, Patches Welcome) 0363
32 2012-06-18 (N/A) 022D
31 2012-04-18aRagexeRE (N/A, N/A in rAthena, Patches Welcome) 022D
30 kRO_RagexeRE_2012_04_10a (unfinished, Patches Welcome) 094B
29 kRO_RagexeRE_2012_03_07f (unfinished, Patches Welcome) 086A
28 kRO_RagexeRE_2011_11_02a (unfinished, Patches Welcome) 083C
27 kRO_RagexeRE_2011_10_05a 0436 (no change)
26 kRO_RagexeRE_2010_11_24a 0436 (no change)
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

Packets

(Reliable)

Since there are packets being continually introduced, you may inspect packets (and packet lengths) used on the server (either from already generated recvpackets.txt or from warnings on unknown packets) and compare that with serverType's data in openkore's source.

Compilation Date

(Not reliable: Executable's compilation date can be changed easily.)

1. Download PE Viewer.

2. Open it and go the File > Open or just press F2. Select your server's executable.

File.PNG

3. Go to PE Header tab.

ServerType-header.PNG

4. Beside the Time Data Stamp box, see the executable's compilation date.

ServerType-date.PNG

5. Find the most suitable serverType file in src/Network/Receive/kRO.

For example, if the date was January 26, 2010, file name would be RagexeRE_2010_01_26a.pm.

ServerType-file.PNG

6. Set serverType to "kRO_" and file name without extension.

For example, if file name was RagexeRE_2010_01_26a.pm, serverType would be kRO_RagexeRE_2010_01_26a.

If there is no file with exact compilation date, try the ones near to that date, or the latest available.

Notes

  • If you bot on a private server that uses eAthena, DO NOT use kRO_RagexeRE_0, as it is only meant to be used for the official kRO server.


Links