SourceForge.net Logo

KoLmafia: User Manual

Project Information

Project: KoLmafia
Intended Product License: Berkeley Software Development (BSD) License
Related Documents:

Process impact: This document serves to provide a basic overview of features which are available to the user, which functions to increase usability and thereby increase the size of the project's target audience. Please note that this documentation is outdated. For more up-to-date documentation, please visit the KoLmafia Wiki.

Table of Contents

Getting Started
Troubleshooting
Overriding Data Files
Custom Combat Settings
Basic Scripting
Advanced Scripting
Unofficial Guide

Getting Started

Which file should I download?
If this is the first time you've ever used KoLmafia, and you don't intend to run it from a command line, you should download the release most specific to your operating system: Windows users should download the EXE, OS X users should download the DMG. If you plan on running KoLmafia from your command line or you're a Linux user or an OS X user and the DMG is not available, you should download the JAR. People who would like to see the source code that went into the release without trying to configure SVN should download TAR.GZ.
Where should I put the file I downloaded?
KoLmafia will run no matter where you put it, provided you have a JRE installed (unless you put it in a network folder where you do not have write privileges, but then that might be getting too technical), but a lot of people get confused when they see "data", "scripts", "images", "buffs" and "clan" directories suddenly appear on their desktop after running KoLmafia for the first time. Therefore, in order to minimize confusion, it is recommended that you create a new folder for KoLmafia on your desktop and put KoLmafia inside of it.
Okay, done! ... Where's the rest of the manual?
-cough- Actually, there is a community project that's working on compiling a KoLmafia FAQ. It's mostly inactive, but activity does happen in bursts, and it's available here

Troubleshooting

Problems With Ubuntu Linux
  Exception in thread "main" java.lang.ExceptionInInitializerError
   at java.lang.Class.initializeClass(libgcj.so.7)
   at java.lang.Class.forName(libgcj.so.7)
   at gnu.java.lang.MainThread.run(libgcj.so.7)
  Caused by: java.lang.NullPointerException
   at javax.swing.JEditorPane.registerEditorKitForContentType(libgcj.so.7)
   at net.sourceforge.kolmafia.KoLmafia.(Unknown Source)
   at java.lang.Class.initializeClass(libgcj.so.7)
   ...2 more
Look familiar? This problem is extremely common and it's due to Ubuntu running the GNU Compiler for Java (more popularly, GCJ). As documented by GCJ, it's only a 99% implementation of Java, which is sufficient for most purposes, but KoLmafia makes use of part of the last 1% that GCJ did not implement, which results in the error you see above. How to fix this problem? It's not easy, but this page suggests you use update-java-alternatives to fix it on a global level. Alternatively, if the only Java program you use is KoLmafia, you can create a shell script that invokes the SUN Microsystems JRE directly, as described here.
Copyright © 2003 Jason Robbins. All rights reserved. License terms. Retain this copyright statement whenever this file is used as a template.