Installation: Difference between revisions

From Kolmafia
Jump to navigation Jump to search
imported>Jhanschoo
Mcroft (talk | contribs)
Total rewrite for Java 11+ codebase
Line 1: Line 1:
{{TOCright}}
{{TOCright}}
The latest stable version can be downloaded at the Sourceforge KoLmafia [http://sourceforge.net/projects/kolmafia/files/ files page].
The latest source build can be downloaded from [http://builds.kolmafia.us/ builds.kolmafia.us] or the [https://github.com/kolmafia/kolmafia/releases GitHub releases page].


The latest daily build can be downloaded from [http://builds.kolmafia.us/ here].
The GitHub releases page contains both the KoLmafia-xxxxx.jar java binaries and installers for an experimental version that includes a bundled version of Java.  If you use the installers, they manage the Java dependency listed below, but it can be more difficult to troubleshoot issues.


For more information on download options, please see the [http://kolmafia.sourceforge.net/manual.html Sourceforge Manual].
== Dependencies==


== Windows Installation ==
===Java 11 or better (Java 17 recommended)===
KoLmafia depends on finding Java 11 or better.  The recommended version is linked at the top of every page of kolmafia.us. 


Windows users have the option of using either an .exe file or a .jar file.
If you do not have a recent version of Java, the recommended version (as of this writing) is [https://adoptium.net/index.html Java 17].


For those uncomfortable with checking on advanced Java settings and configuration, using the .exe is recommended. The .exe file is always available with the latest stable release, and weekly builds of the .exe are also posted each Sunday night on the Daily Builds page.
====Testing your Java installation====
From a Command Prompt (or Terminal) window, enter <code>java -version</code>


: Mafia will automatically create sub-directories at the location where it is run, so it is inadvisable to run it from your desktop.
If that returns something like this, you should be good to go.


<code>Michaels-MBP:~ mcroft$ java -version<br />openjdk version "16.0.1" 2021-04-20<br />OpenJDK Runtime Environment Zulu16.30+15-CA (build 16.0.1+9)<br />OpenJDK 64-Bit Server VM Zulu16.30+15-CA (build 16.0.1+9, mixed mode, sharing)</code>
==== Troubleshooting Java====
Please be aware that some older versions of Java do not get completely replaced when installing a newer version.  Usually this happens with Java 8 JRE and Java 11+ JDKs.  If that makes no sense, just delete Java 8.


== Mac Installation ==
If you get a message like this:<code>Error: A JNI error has occurred, please check your installation and try again.</code> Please [https://kolmafia.us/threads/java-11-now-required-for-kolmafia-java-17-recommended.26579/ read this announcement].


If you are running Mac OS X 10.4.x or higher, you do not need to download or install a separate JRE. If you are running Mac OS X 10.3.9, then you will need to upgrade your Java to 1.4 by going here: [http://support.apple.com/downloads/Java_for_Mac_OS_X_10_3_Update_5 Java Update for Mac OS X v10.3.] If you are running Mac OS X 10.2.6, then you will need to upgrade your Java to 1.4 by going here: [http://docs.info.apple.com/article.html?artnum=120242 Java Update for Mac OS X v10.2.6.] If you are running an older version of Mac OS, unfortunately, KoLmafia will likely not run on your system.
===HiDPI Support===


Once you have made sure you have an operating system and version of Java high enough to run KOL mafia, [http://sourceforge.net/projects/kolmafia/files/ you can download it here.]
The default builds target Java  and use Java Swing to provide its user interface. This means that Java Swing support for HiDPI on Linux is not present. Java 9's Swing includes support for HiDPI. Thus to have HiDPI support one needs to compile it targeting Java 9. To do so, checkout the source from the sourceforge repository using subversion. Ensure that you have some version of JDK 9 installed and configured on your computer as the default java compiler, and also an up-to-date version of Apache Ant. Change the line in 'build.properties' from 'target="1.6"' to 'target="1.9"'. This compiles the source into a version that has support for HiDPI; the built jar will be located at the 'dist' folder. Finally, execute the '.jar' file with an option set as follows: 'java -Dsun.java2d.uiScale=<multiplier> -jar <jarfile>'; e.g. in my case, '<multiplier>' should be '2'.


From this page choose the .dmg file and the download will start. Once the download is finished, a finder window will open. Drag the KoLmafia icon into the Applications alias. Then on your sidebar choose Applications, and find KoLmafia. Then you're good to go!
[[Category:Tech Support]]
 
[[Category:New User Help]]
 
: Unlike in the windows version that the DMG and JAR KoLmafia application saves out your session, scripts, and user data '''NOT''' in the same folder as the launcher. The files are located at - /Users/'''username'''/Library/Application Support/KoLmafia
 
Tip - if you wish to sync your KoLmafia script/data folders automatically to say dropbox and other computers you can easily do this by using a Symbolic Link between the two locations, example command given below:
 
ln -s /Users/'''username'''/Library/Application\ Support/KoLmafia/ /Users/'''username'''/Documents/Dropbox/Files/
 
Information to create the link gotten from this location - [http://www.macosxhints.com/article.php?story=20090929052128498]
 
 
== Linux Installation ==
 
For a Linux user, the .jar versions of KoLMafia are ideal.  Simply download the .jar, and place it in whatever directory you wish. 
 
: KoLMafia will store its data in ~/.kolmafia, and any scripts you want to access through the Scripts menu should be installed into ~/.kolmafia/scripts.
 
If clicking on the .jar in your favorite file manager does not invoke it:
*Make sure you have a recent Java VM installed (Sun or Blackdown both work. The target Java version for KoLMafia is currently 1.6)
*Make sure your desktop environment knows to use 'java -jar' to invoke .jars
 
=== HiDPI Support ===
 
The default builds target Java 6 and use Java Swing to provide its user interface. This means that Java Swing support for HiDPI on Linux is not present. Java 9's Swing includes support for HiDPI. Thus to have HiDPI support one needs to compile it targeting Java 9. To do so, checkout the source from the sourceforge repository using subversion. Ensure that you have some version of JDK 9 installed and configured on your computer as the default java compiler, and also an up-to-date version of Apache Ant. Change the line in 'build.properties' from 'target="1.6"' to 'target="1.9"'. This compiles the source into a version that has support for HiDPI; the built jar will be located at the 'dist' folder. Finally, execute the '.jar' file with an option set as follows: 'java -Dsun.java2d.uiScale=<multiplier> -jar <jarfile>'; e.g. in my case, '<multiplier>' should be '2'.
 
 
[[Category:Tech Support]][[Category:New User Help]]

Revision as of 17:12, 28 December 2021

The latest source build can be downloaded from builds.kolmafia.us or the GitHub releases page.

The GitHub releases page contains both the KoLmafia-xxxxx.jar java binaries and installers for an experimental version that includes a bundled version of Java. If you use the installers, they manage the Java dependency listed below, but it can be more difficult to troubleshoot issues.

Dependencies

Java 11 or better (Java 17 recommended)

KoLmafia depends on finding Java 11 or better. The recommended version is linked at the top of every page of kolmafia.us.

If you do not have a recent version of Java, the recommended version (as of this writing) is Java 17.

Testing your Java installation

From a Command Prompt (or Terminal) window, enter java -version

If that returns something like this, you should be good to go.

Michaels-MBP:~ mcroft$ java -version
openjdk version "16.0.1" 2021-04-20
OpenJDK Runtime Environment Zulu16.30+15-CA (build 16.0.1+9)
OpenJDK 64-Bit Server VM Zulu16.30+15-CA (build 16.0.1+9, mixed mode, sharing)

Troubleshooting Java

Please be aware that some older versions of Java do not get completely replaced when installing a newer version. Usually this happens with Java 8 JRE and Java 11+ JDKs. If that makes no sense, just delete Java 8.

If you get a message like this:Error: A JNI error has occurred, please check your installation and try again. Please read this announcement.

HiDPI Support

The default builds target Java and use Java Swing to provide its user interface. This means that Java Swing support for HiDPI on Linux is not present. Java 9's Swing includes support for HiDPI. Thus to have HiDPI support one needs to compile it targeting Java 9. To do so, checkout the source from the sourceforge repository using subversion. Ensure that you have some version of JDK 9 installed and configured on your computer as the default java compiler, and also an up-to-date version of Apache Ant. Change the line in 'build.properties' from 'target="1.6"' to 'target="1.9"'. This compiles the source into a version that has support for HiDPI; the built jar will be located at the 'dist' folder. Finally, execute the '.jar' file with an option set as follows: 'java -Dsun.java2d.uiScale=<multiplier> -jar <jarfile>'; e.g. in my case, '<multiplier>' should be '2'.