serverType: Difference between revisions

From OpenKore Wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 69: Line 69:
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).


== Finding serverType ==
== Determining kRO serverType ==
 
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 79: Line 80:


You can find all serverType files on '''src/Network/Receive'''.
You can find all serverType files on '''src/Network/Receive'''.
=== Compilation Date ===
'''Executable's compilation date can be changed, so don't really rely on it.'''


'''1.''' Download [http://www.megaupload.com/?d=U7DR26E4 PE Viewer].
'''1.''' Download [http://www.megaupload.com/?d=U7DR26E4 PE Viewer].
Line 103: Line 108:


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.
=== Packet Appearance ===
Since there are packets being continually introduced, you may compare packets (and packet lengths) used on the server (either from already generated [[recvpackets.txt]] or from warnings on unknown packets) with the packet information in [[wikipedia:grep|OpenKore's serverType files]] or [https://code.google.com/p/eathena-project/source/browse/trunk/db/packet_db.txt eAthena's packet_db.txt].


=== Notes ===
=== Notes ===
Line 109: Line 118:


* <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>
* <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>
* Executable's compilation date can be changed, so don't really rely on it.


[[Category:Connection]]
[[Category:Connection]]
[[Category:servers.txt]]
[[Category:servers.txt]]

Revision as of 15:03, 17 July 2011

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
Official, Korea kRO_RagexeRE_0
Official, Taiwan twRO
Official, Japan none
Official, Thailand tRO
Official, China none
Official, International iRO
Official, Philippines pRO
Official, Indonesia idRO
Official, Malaysia mRO
Official, Brazil bRO (Odin)
bRO_Thor (Thor)
Official, Russia rRO
Official, France fRO
Official, Middle East aRO
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).

Determining kRO serverType

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 on src/Network/Receive.

Compilation Date

Executable's compilation date can be changed, so don't really rely on it.

1. Download 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.

ServerType-header.PNG

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

ServerType-date.PNG

5. Go to src/Network/Receive/kRO and search for the serverType file using the date collected before. In the example bellow, the date was January 26, 2010 so the file would be RagexeRE_2010_01_26a.pm

ServerType-file.PNG

6. Now that the file was found, it's known that the serverType exists for the compilation date. So just remove the fle extension (.pm) and add kRO_ before the file name and the serverType can be used.

File name:

RagexeRE_2010_01_26a.pm

ServerType:

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.

Packet Appearance

Since there are packets being continually introduced, you may compare packets (and packet lengths) used on the server (either from already generated recvpackets.txt or from warnings on unknown packets) with the packet information in OpenKore's serverType files or eAthena's packet_db.txt.

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.
  • 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.