Sunday, May 13, 2012

Packet Length Extractor

Packet Length Extractor

If you're having server problems, such as:

Packet Tokenizer: Unknown switch: xxxx
Getting disconnected after a few seconds
NPCs, players and monsters are not recognized by Kore (shown as Unknown)

Then generating a new recvpackets.txt might solve the problem. It's advisable to always extract the recvpackets before running Openkore. The file must be on tables folder.

The network data that the server sends to Kore, is a byte stream. Kore must be able to recognize messages inside that byte stream to be able to do something with it. But the size of the messages can vary from to server to server. Recvpackets.txt contains information about the size of each message, so Kore can correctly split the byte stream into messages.
Contents
[hide]

1 RO Tools
1.1 Usage
2 Packet Extractor
3 Packet Extractor v3
3.1 Usage
4 Notes

RO Tools

JCV's RO Tools v1.0.3 (Link down as of Jan 19, 2012. See instructions below for OpenPacketExtractor)

It's better to use JCV's RO Tools as it is more up to date and have some fixes for newer clients. Also it's much easier to maintain, but it has undesirable and outdated options in addition to the Openkore packet extractor.
Usage

Open RO Tools.
Click in the button with ... beside the box. Search for your's server executable (not server patcher) and open it.
File:button.PNG
On Extractor Type, check Full Disarm box.
File:full.PNG
Click on Start button and wait it to finish.
File:start.PNG
After it finishes, it will ask for you to save the file. Save it on tables folder, inside your Openkore's root folder. Override current file if needed.

Packet Extractor

OpenKore Packet Length Extractor v1.1.0 (Link down as of Jan 19,2012)
Also in OpenKore SVN.

Packet Extractor v3

In OpenKore SVN. (See kLab's forum post on Open Packet Extractor for more details.)

Packet extractor branch to work with new insert server list here clients.
Usage

Run packet_extract.pl with your ragexe file name as an argument. It will generate extractor.exe.
Run extractor.exe (works with wine on non-Windows) which will output recvpackets contents to STDOUT.

Notes

Recvpackets file can be renamed as long as recvpackets option on servers.txt is set accordingly. (See Connectivity Guide)
There may be problems extracting the recvpackets if your server's client has some kind of protection. You should deal with it (like unpack if binary is packed) before using packet extractor, if it fails to find anything.

No comments:

Post a Comment