Frequently Asked Questions: Difference between revisions

From OpenKore Wiki
Jump to navigation Jump to search
No edit summary
 
(18 intermediate revisions by 6 users not shown)
Line 2: Line 2:


=== Update OpenKore ===
=== Update OpenKore ===
<span style="color:red;">OpenKore is being constantly updated and fixed. So if your version doesn't work on your server, you discovered a bug or looking for some feature, check first if things are the same in the svn trunk.</span>
<span style="color:red;">OpenKore is being constantly updated and fixed. So if your version doesn't work on your server, you discovered a bug or looking for some feature, check first if things are the same in the git repository.</span>


Consider old releases unsupported.
Consider old releases unsupported.
Line 9: Line 9:


=== What is OpenKore? ===
=== What is OpenKore? ===
OpenKore is a free open source [http://www.ragnarokonline.com/ Ragnarok Online] client + bot program, mostly written in [http://www.perl.org/ perl], created back in 2003. It is licensed under the [http://en.wikipedia.org/wiki/GNU_General_Public_License GNU General Public License GPL]. Some parts of OpenKore are based on software written by others, which are distributed under other licenses. See the [http://openkore.svn.sourceforge.net/viewvc/openkore/openkore/trunk/LICENSE.TXT?view=markup LICENSE.TXT] for those other licenses.
OpenKore is a free open source [http://www.ragnarokonline.com/ Ragnarok Online] client + bot program, mostly written in [http://www.perl.org/ perl], created back in 2003. It is licenced under the [http://en.wikipedia.org/wiki/GNU_General_Public_License GNU General Public License GPL]. Some parts of OpenKore are based on software written by others, which are distributed under other licenses. See the [https://github.com/OpenKore/openkore/blob/master/LICENSE LICENSE] for those other licenses.


=== What functions does OpenKore have? ===
=== What functions does OpenKore have? ===
Line 31: Line 31:
=== Where do I download Openkore? ===
=== Where do I download Openkore? ===


Download links are available at [http://openkore.com/ openkore.com]. Additional [[links]] may be available too. You can also [[TortoiseSVN Guide|checkout it from SVN]] with any SVN client.
Download links are available at [http://openkore.com/ openkore.com]. Additional [[links]] may be available too. You can also [[git|git clone]] it with any GIT client.


<span style="color:red;">Don't download OpenKore from any sites other then ones linked from openkore.com main page and http://sourceforge.net/projects/openkore/. Even if it's linked from forums, IRC etc - because anybody can try to post anything there. If you do, don't complain when you get a bundle of random malware or just lose your game account. The same stays true for plugins, macros and any other software.</span>
<span style="color:red;">Don't download OpenKore from any sites other then ones linked from openkore.com main page and https://github.com/OpenKore/openkore. Even if it's linked from forums, IRC etc - because anybody can try to post anything there. If you do, don't complain when you get a bundle of random malware or just lose your game account. The same stays true for plugins, macros and any other software.</span>


See also: [[Patches Welcome]]
See also: [[Patches Welcome]]
Line 48: Line 48:
=== Updating ===
=== Updating ===
There are several ways to update OpenKore:
There are several ways to update OpenKore:
* Using [[AutoUpdater|Openkore SVN AutoUpdater]] (recommended for normal users)
* Using any git client
* Using any subversion client, subversion or [[TortoiseSVN Guide|TortoiseSVN]] (with GUI) (recommended for testers, supporters, developers users)
* Using fresh git snapshot.
* 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? ===
=== Does OpenKore work on Linux? ===
Yes, Linux (and BSD, MacOS, other nix) users can run OpenKore by executing <code>openkore.pl</code> directly. It will automatically compile libXSTools if needed. There is some general dependencies, see [[How to run Openkore]].
Yes, Linux (and BSD, MacOS, other nix) users can run OpenKore by executing <code>openkore.pl</code> directly. It will automatically compile libXSTools if needed. There is some general dependencies, see [[How to run OpenKore]].


=== OpenKore versions ===
=== 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
* '''trunk''', also called '''git 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
* '''release''' — currently, snapshot of '''trunk''' from some point of time


Line 84: Line 83:


=== Can't call method "name"/"baseName" on an undefined value ===
=== Can't call method "name"/"baseName" on an undefined value ===
May happen if <code>$field</code> is undefined. [[FLD Creation Guide|Missing field files]] and [[:Category:Tables|outdated resnametable.txt]] may cause that. Actually a bug.
May happen if <code>$field</code> is undefined. [[FLD Creation Guide|Missing field files]] and [[:Category:tables|outdated resnametable.txt]] may cause that. Actually a bug.


== Connection Errors ==
== Connection Errors ==
Line 95: Line 94:


=== Timeout on Account server, error when connecting to the server ===
=== 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.
Wrong server information, on servers.txt, or the server has some kind of anti-bot protection against bots. See [[Connectivity Guide]] to check your server's information and [[Unsupported servers]] for a list of unbottable servers.


=== Incorrect characters information ===
=== Incorrect characters information ===
Line 101: Line 100:


=== Anti-bot that prevents OpenKore from connecting or functioning ===
=== 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).
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 interested in supporting and sharing a solution for a particular server with custom protection. No point in repeatedly 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).


=== CHARACTER_INFO size error!! character:numX CHARACTER_INFO size : Y ===
=== CHARACTER_INFO size error!! character:numX CHARACTER_INFO size : Y ===
Incorrect [[charBlockSize]] for [[XKore|XKore 2]] (even if XKore 0 may work with it) or packet structures in serverType don't match your server.
Incorrect [[charBlockSize]] for [[XKore|XKore 2]] (even if XKore 0 may work with it) or [[Poseidon]], or packet structures in serverType don't match your server.


== Ingame Problems ==
== Ingame Problems ==
Line 129: Line 128:
=== Unknown Packet xxxx ===
=== Unknown Packet xxxx ===
Outdated OpenKore.
Outdated OpenKore.
In spite of not being hable to resolve the problem and the value of the package [[packets| isn't listed]], inform the circunstances at the [http://forums.openkore.com/ forum].


=== Packet Tokenizer: Unknown switch: xxxx ===
=== Packet Tokenizer: Unknown switch: xxxx ===
Line 137: Line 137:
'''Recvpackets file needs to be [[Packet Length Extractor|updated for your server]].'''
'''Recvpackets file needs to be [[Packet Length Extractor|updated for your server]].'''


Consider your bot to be unstable and to get every funny bug possible (for example, non dying or nonexistent monsters), as all packets in a bunch after the unknown one will be ignored, and some could have been already ignored or parsed incorrectly.
Consider your bot to be unstable and to get any random and irreproducible "bugs" possible (for example, non dying or nonexistent monsters, missing actors, missing information), as there is loss of data due to all packets in a bunch after the unknown one being ignored, and some possibly already ignored or parsed incorrectly. Do not report those random bugs, fix your recvpackets first.


If you want to squelch this warning anyway, add corresponding packet switches to [[debugPacket_exclude]].
If you want to squelch this warning anyway, add corresponding packet switches to [[debugPacket_exclude]].
Line 146: Line 146:
Generally, you can ignore this warning if you have no other problems. It can be a packet not known or for a feature not supported yet.
Generally, you can ignore this warning if you have no other problems. It can be a packet not known or for a feature not supported yet.


* [[Packets|Wiki page about unknown switches and unhandled packets]]
* [[packets|Wiki page about unknown switches and unhandled packets]]
* [http://forums.openkore.com/viewtopic.php?t=8020 Forum topic about unknown switches and unhandled packets]
* [http://forums.openkore.com/viewtopic.php?t=8020 Forum topic about unknown switches and unhandled packets]
''(report in one of these)''
''(report in one of these)''
Line 239: Line 239:
; Windows 2000
; Windows 2000
http://www.petri.co.il/reinstall_tcp_ip_on_windows_2000.htm
http://www.petri.co.il/reinstall_tcp_ip_on_windows_2000.htm
=== OpenKore start.exe run very slow (windows 10) ===
[https://github.com/OpenKore/openkore/issues/2529 Issue#2529]
This is a perl issue with windows, you can run openkore in powershell window and you will make the perl executable a little bit faster.
Or:
# just run start.exe
# Right-click the Title bar and select Properties:<br/> [[File:Win10_cmd1.png|frameless]]
# In Options, choose Use legacy console (requires relaunch) and tap OK:<br/>[[File:Win10_cmd2.png|frameless]]

Latest revision as of 17:04, 30 November 2024

Before Asking any Questions

Update OpenKore

OpenKore is being constantly updated and fixed. So if your version doesn't work on your server, you discovered a bug or looking for some feature, check first if things are the same in the git repository.

Consider old releases unsupported.

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

Does OpenKore support Renewal?

Sure, there's nothing ground-shaking in Renewal which may impede. There may be some bugs or missing content (just report them or contribute fixes), but Renewal itself isn't a problem.

Is it possible...?

  • Is there a way to...?
  • Can I...?

Most likely, YES. 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. For many things, it may be not widely known (or not at all) beforehand how exactly to do it though.

Tried everything

Everything? No solution then. Be more precise in what you've tried.

Installation and Configuration

Where do I download Openkore?

Download links are available at openkore.com. Additional links may be available too. You can also git clone it with any GIT client.

Don't download OpenKore from any sites other then ones linked from openkore.com main page and https://github.com/OpenKore/openkore. Even if it's linked from forums, IRC etc - because anybody can try to post anything there. If you do, don't complain when you get a bundle of random malware or just lose your game account. The same stays true for plugins, macros and any other software.

See also: Patches Welcome

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.

Server updated, connection/ingame problems emerged

Reconfigure all server settings and recvpackets.txt from scratch.

Updating

There are several ways to update OpenKore:

  • Using any git client
  • Using fresh git snapshot.

Does OpenKore work on Linux?

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

OpenKore versions

  • trunk, also called git 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>.

perl: symbol lookup error: src/auto/XSTools/XSTools.so: undefined symbol: Perl_Gthr_key_ptr

You need to rebuild XSTools with make clean && make.

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.

Can't call method "inventory" on unblessed reference

Outdated OpenKore or wrong server settings.

Attempt to STORE non blessed reference (or not a reference)

Attempt to STORE non Actor reference to the hash of actors

Make sure you have the latest version and right server settings. If it still happens, submit a bug.

Can't call method "name"/"baseName" on an undefined value

May happen if $field is undefined. Missing field files and outdated resnametable.txt may cause that. Actually a bug.

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 against 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 in servers.txt.

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 interested in supporting and sharing a solution for a particular server with custom protection. No point in repeatedly 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).

CHARACTER_INFO size error!! character:numX CHARACTER_INFO size : Y

Incorrect charBlockSize for XKore 2 (even if XKore 0 may work with it) or Poseidon, or packet structures in serverType don't match your server.

Ingame Problems

NPCs and monsters are shown as "Unknown #xxxxxxxx" or monsters are displayed as NPCs or doesn't attack any monsters

Don't use serverType 8, any other numeral or any official server's ones with private servers.

Can be caused by wrong serverType. Incompatibilies are introduced in: Sakexe_2005_04_11a, Sakexe_2007_11_06a, Sakexe_2008_01_02a, RagexeRE_2009_11_03a, RagexeRE_2010_11_24a.

Can be caused by wrong server settings or outdated recvpackets. See Connectivity Guide to get the correct serverType and Packet Length Extractor to extract the recvpackets.txt.

http://forums.openkore.com/viewtopic.php?t=16664

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

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

Items and skills are shown as "Unknown #xxxxxxxx"

Names are missing from table files. Update corresponding files manually or using files from other clients, or use skill handles, or just use displayed Unknowns as usual names.

Items in inventory are shown as "None"

Wrong serverType. http://forums.openkore.com/viewtopic.php?t=6964

Unknown Packet xxxx

Outdated OpenKore. In spite of not being hable to resolve the problem and the value of the package isn't listed, inform the circunstances at the forum.

Packet Tokenizer: Unknown switch: xxxx

Value that is supposed to be a packet switch is not found in recvpackets.txt, so packet length is not known.

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. If you have such a warning for invalid switch, that can mean that some of previous packets had wrong packet length.

Recvpackets file needs to be updated for your server.

Consider your bot to be unstable and to get any random and irreproducible "bugs" possible (for example, non dying or nonexistent monsters, missing actors, missing information), as there is loss of data due to all packets in a bunch after the unknown one being ignored, and some possibly already ignored or parsed incorrectly. Do not report those random bugs, fix your recvpackets first.

If you want to squelch this warning anyway, add corresponding packet switches to debugPacket_exclude.

Packet Parser: Unknown switch: xxxx

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

Generally, you can ignore this warning if you have no other problems. It can be a packet not known or for a feature not supported yet.

(report in one of these)

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.

Generally, you can ignore this warning if you have no other problems. It can be a packet for a feature not supported yet.

Removed actor with off map coordinates

Possible causes:

  • serverType you're using isn't compatible with your server (most likely cause).
  • Anti-bot systems on the server.
  • Server bug.

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.

Chat messages are empty or trimmed or have/lack |xx

Possible causes:

Disconnect right after appearing in the game

Probably you have some actions configured, like lock map, random walking, attacking etc and they kick in immediately as they should. Try to disable all actions or turn off AI before appearing in the game. See also: Disconnect on a certain game action.

Disconnect on a certain game action

Possible causes:

  • Packet structures in serverType you're using don't match your server.
  • When sending chat messages and @commands: chatLangCode.
  • Performed action leads to a disconnect even with official Ragnarok Online client (for example, trying to move when talking with a NPC) or actions that couldn't have been done normally at the moment you've done them (incorrect NPC actions, incorrect Actor IDs).
  • You're using an area skill which isn't configured in skillsarea.txt properly. For example, all Renewal skills (http://forums.openkore.com/viewtopic.php?t=11747).

Stuck at some portal, walking in and out

Turn on route_avoidWalls; decrease route_step.

If that doesnt' help, maybe edit field to make a non-walkable wall or "corridor" near the portal, or fix route_step corner rounding around portals already. If portal in question has no walls nearby, something like route_avoidPortals would be needed too.

http://forums.openkore.com/viewtopic.php?t=15374

Macro plugin

Malformed UTF-8 character

Save your macro file in UTF-8 encoding. This means, don't use plain old Notepad for text files on windows. Or, for your technical types, start waving your magnet over the disk in UTF-8 instead of ASCII 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.

Unix Problems

Freeze on start

Console::Unix interface uses threads to work with readline and can freeze on pthread_create call if Perl wasn't built with THREADS. Check with perl -V | grep threads (it should be like -Dusethreads=y). Rebuild Perl with THREADS or use another interface (run with --interface=Console::Simple, Console::Curses or Wx for example).

Windows Problems

OpenKore conflicts with Ragnarok Online client

For example, when game protection detects OpenKore or Poseidon. There are several solutions:

WPE conflicts with Ragnarok Online client

There are various tools and ways to analyze packets. Find the one which would work for you.

No start.exe or wxstart.exe

They're not included because only one system needs them. Can be downloaded from http://misc.openkore.com/

XSTools.dll is not found

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

perl512.dll is not found

You need either:

  • Active Perl 5.12
  • recompile OpenKore binaries
  • use start.exe/wxstart.exe

It immediately closes without any output

Ensure that there's really no output by properly running it from terminal. Mention that you've done that when asking for help, otherwise you'll be ignored.

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. For example, Notepad++, PSPad or Geany. You may try Wordpad which usually is installed by default, however make sure it saves plain text files, or OpenKore won't be able to read them.

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

http://www.petri.co.il/reinstall_tcp_ip_on_windows_2000.htm

OpenKore start.exe run very slow (windows 10)

Issue#2529

This is a perl issue with windows, you can run openkore in powershell window and you will make the perl executable a little bit faster.

Or:

  1. just run start.exe
  2. Right-click the Title bar and select Properties:
    Win10 cmd1.png
  3. In Options, choose Use legacy console (requires relaunch) and tap OK:
    Win10 cmd2.png