serverType: Difference between revisions
(29 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
; serverType | ; serverType <value> | ||
: | : Network parser module to use with your server. | ||
{{Available since 2.1}} | {{Available since 2.1}} | ||
== ServerTypes overview == | == ServerTypes overview == | ||
Line 10: | Line 11: | ||
Named serverTypes can be loaded since r6870 and begin to appear in r7066 (not counting kRO serverType tree which started all that madness). | 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=" | {| class="wikitable" border="1" cellspacing="0" width="100%" | ||
!Server | !Server | ||
!serverType | !serverType | ||
|- | !revision | ||
| | !Last used numeric ST | ||
| | |- | ||
|- | | Official, Korea | ||
| | | kRO_RagexeRE_0 | ||
| | | | ||
|- | | 8_1 | ||
| | |- | ||
| | | Official, Taiwan | ||
| | | twRO | ||
| | | | ||
| | | 21, 22 | ||
|- | |- | ||
| | | Official, Japan | ||
| | | ''[[Patches Welcome|none]]'' | ||
|- | |- | ||
| Indonesia | | Official, Thailand | ||
| tRO | |||
| | |||
| 21 | |||
|- | |||
| Official, China | |||
| cRO | |||
| added in [http://openkore.svn.sourceforge.net/viewvc/openkore?view=revision&revision=8352 r8352] | |||
| none | |||
|- | |||
|rowspan=2| Official, International | |||
| iRO | |||
| | |||
| 22 | |||
|- | |||
| iRO_Classic (Classic Pre-Renewal) | |||
| added in [http://openkore.svn.sourceforge.net/viewvc/openkore?view=revision&revision=8046 r8046] | |||
| none | |||
|- | |||
| Official, Philippines | |||
| pRO | |||
| | |||
| 22 | |||
|- | |||
| Official, Indonesia | |||
| idRO | | idRO | ||
| | | | ||
| 22 | |||
|- | |||
| Official, Malaysia | |||
| | |||
|- | |||
| Malaysia | |||
| mRO | | mRO | ||
|- | | | ||
| | | 22 | ||
| | |- | ||
|- | |rowspan=3| Official, Brazil | ||
|Russia | | bRO (Odin) | ||
| | |||
| 0 | |||
|- | |||
| bRO_Thor (Thor) | |||
| removed in [http://openkore.svn.sourceforge.net/viewvc/openkore?view=revision&revision=7929 r7929] | |||
| 22 | |||
|- | |||
| bRO (Asgard) | |||
| | |||
| none | |||
|- | |||
| Official, Russia | |||
| rRO | | rRO | ||
|- | | | ||
| | | 0 | ||
| | |- | ||
| | | Official, France | ||
| | | fRO | ||
| | | | ||
| | | 0 | ||
| | |- | ||
| | | Official, Middle East | ||
|- | | aRO | ||
| Private | | | ||
| kRO_RagexeRE_*<br/>kRO_Sakexe_* | | 22 | ||
|- | |||
| Private servers | |||
| kRO_RagexeRE_* <br/>kRO_Sakexe_* | |||
| | |||
| * | |||
|} | |} | ||
{{Changes expected}} | |||
=== Legacy === | === Legacy === | ||
Line 68: | Line 109: | ||
serverType 0 is also used as a base for serverTypes for official servers (except kRO). | 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) | 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) | ||
Line 77: | Line 121: | ||
kRO_Sakexe_<year>_<month>_<date><letter> | kRO_Sakexe_<year>_<month>_<date><letter> | ||
You can find all serverType files | 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 | |||
|- | |||
| … | |||
| [[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, [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 | |||
|} | |||
==== 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 [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. | '''2.''' Open it and go the '''File > Open''' or just press F2. Select your server's executable. | ||
:[[File: | :[[File:File.PNG]] | ||
'''3.''' Go to '''PE Header''' tab. | '''3.''' Go to '''PE Header''' tab. | ||
Line 90: | Line 306: | ||
:[[File:ServerType-date.PNG]] | :[[File:ServerType-date.PNG]] | ||
'''5.''' | '''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]] | :[[File:ServerType-file.PNG]] | ||
'''6.''' | '''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. | If there is no file with exact compilation date, try the ones near to that date, or the latest available. | ||
=== Notes === | ==== 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. | * 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. | ||
[[Category: | == 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]] | [[Category:servers.txt]] |
Latest revision as of 21:52, 27 April 2021
- serverType <value>
- Network parser module to use with your server.
The 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_* |
* |
Implementation 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.
3. Go to PE Header tab.
4. Beside the Time Data Stamp box, see the executable's compilation date.
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.
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: tables/servers.txt src/Network/Receive src/Network/Send
- eAthena's packet_db.txt
- rAthena's packet_db.txt