Frequently Asked Questions

From OpenKore Wiki
Jump to navigation Jump to search


Before Asking any Questions

Update OpenKore

OpenKore is being constantly updated and fixed. So if you discovered a bug or looking for some feature, check first if things are the same in the svn trunk.

About OpenKore

What is OpenKore?

OpenKore is a free open source Ragnarok Online client + bot program, mostly written in perl, created back in 2003. It is licensed under the GNU General Public License GPL. Some parts of OpenKore are based on software written by others, which are distributed under other licenses. See the LICENSE.TXT for those other licenses.

What functions does OpenKore have?

OpenKore is capable of doing almost everything a normal player could do via Ragnarok Online client. Additionally, its AI permits the use of automatic tasks, like attack, move, use items and skills, storage, buy and sell, vending, teleport etc. You can see an (incomplete) reference list of currently built-in features in the Overview.

Is it possible...?

Most likely. Even if there is no such a ready-to-go feature in OpenKore and plugins, you can always implement it yourself via macro, plugin or patch, as OpenKore is free AND open source (these are different things) software. (You'll probably have to know general concepts about computer science and programming for that.)

Installation and Configuration

Where do I download Openkore?

You can download it on the Links page. Be sure to check the Quick Start Guide if you are new on OpenKore.

You can also checkout it from SVN with any SVN client.

How do I make it connect in my server?

Currently, Openkore only comes with Official Servers information, so if you want to play on a private server, for example, you will need to get its server's information. See Connectivity Guide.

How do I configure it?

Openkore is based on text configuration files, which are located on control folder. Each file has it's own function and can easily be configured according to your needs. See Manual.


There are several ways to update OpenKore:

  • Using Openkore SVN AutoUpdater (recommended for normal users)
  • Using any subversion client, subversion or TortoiseSVN (with GUI) (recommended for testers, supporters, developers users)
  • Using fresh svn snapshot — use that method only if your subversion client or working copy is broken. Take care not to overwrite your previous configuration and your changes in tables and source.

Does OpenKore work on Linux?

Yes, Linux (and BSD, MacOS, other nix) users can run OpenKore by executing directly. It will automatically compile libXSTools if needed. There is some general dependencies, see How to run Openkore.

OpenKore versions

  • trunk (located at ^/openkore/trunk/ in version control), also called svn version — development version which developers directly working at, so it's continuously updated. There could be some bugs introduced, but that's also always most up to time version with all new features and fixes
  • release — currently, snapshot of trunk from some point of time

Interface Localization

Interface language is defined with locale option.

General Errors

ext/hash_fun.h: No such file or directory

In file src/auto/XSTools/utils/sparseconfig.h, replace #define HASH_FUN_H <ext/hash_fun.h> with #define HASH_FUN_H <backward/hash_fun.h>.

Recursive inheritance detected in package Network::Receive::kRO

You need at least Perl 5.10 if you're using kRO serverType tree.

Assertion ('HASH(...)' must be of class 'Actor::You') failed

Outdated OpenKore or wrong server settings.

Can't call method "inventory" on unblessed reference

Outdated OpenKore or wrong server settings.

Connection Errors

Cannot load server message parser for server type

Your configuration has serverType unsupported by your version of OpenKore. Update OpenKore or use another serverType.

Error code 10060 when connecting to the server

Connection to the server can't be established. Probably means that your server information (probably address), set on servers.txt, is wrong. See Connectivity Guide to learn how to get your server's information correctly.

Timeout on Account server, error when connecting to the server

Wrong server information, on servers.txt, or the server has some kind of anti-bot protection againts bots. See Connectivity Guide to check your server's information and Unsupported servers for a list of unbottable servers.

Incorrect characters information

Wrong value for charBlockSize on servers.txt. Possible values are 106, 108 or 112 for servers with Renewal Interface.

Anti-bot that prevents OpenKore from connecting or functioning

There is no built-in solution (except Poseidon). Besides official servers, which are more or less supported, usually there is lack of people who are capable of and insterested in supporting and sharing a solution for a particular server with custom protection. No point of repeating asking everyday whether somebody has developed a solution for a server, no replies at all usually mean that nobody have got interested (or not enough info was provided).

Ingame Problems

NPCs and monsters are shown as "Unknown xxxxxxxx"

Wrong serverType, on servers.txt, or outdated recvpackets. See Connectivity Guide to get the correct serverType and Packet Length Extractor to extract the recvpackets.txt.

Items and skills are shown as "?????" or in another language

The first one is probably your terminal failing to show Korean names which are used with kRO serverType by default. Change your server settings (addTableFolders) or use command line arguments (--tables) to select table set with names your terminal (and you) can handle.

Packet Tokenizer: Unknown switch: xxxx

Packet switch not found in recvpackets.txt, so packet length is not known. Recvpackets file needs to be updated for your server.

Valid RO packet switches are: 0064—04FF, 0700—07FF. Other switches (like 9600, 0000 and others) indicate that your server settings (or recvpackets) are wrong.

Packet Parser: Unknown switch: xxxx

Packet length is known, but packet structure in %packet_list is not found. Packet ignored.

Main forum topic about unknown switches and unhandled packets

Packet Parser: Unhandled Packet: xxxx Handler: xxxxxxxx

Packet length is known and packet structure is found, but there is no handler function in serverType for it. Packet ignored.

Skills are not used or not recognized

Check skills output for skill names you're using. If there is no skills shown (but your character has some), then your server settings are wrong.

Macro plugin

Malformed UTF-8 character

Save your macro file in UTF-8 encoding.

Syntax error at line 1 (when there is no syntax errors)

Save your macro file in UTF-8 encoding without BOM. If you are using Notepad and getting this, do not use it anymore.

Windows Problems

No start.exe or wxstart.exe

They're not included because only one system needs them. Can be downloaded from

XSTools.dll is not found

Download XSTools.dll and place it in src/auto/XSTools or any directory in your PATH.

Everything in a single line in control/table files

That's not the problem of our files, but the problem with interpreting line breaks in your text editor (known problem of Windows Notepad). Try another text editor. Openkore recommends notepad++.

Your Windows TCP/IP stack is broken

You must fix TCP/IP stack:

Windows XP
  1. Make sure you're logged in as Administrator, or an administrator account.
  2. Open a DOS command window.
  3. Type the following command and press Enter: netsh int ip reset resetlog.txt
Windows 2000