What is IKVM?
IKVM is an implementation of the Java runtime based on the .NET framework/Mono using libraries from the OpenJDK project.
Why use it with Minecraft?
In early tests, IKVM has shown to have significantly lower memory usage with Minecraft compared to either the Oracle Java Runtime or the OpenJDK runtime. Typically around a 50% savings in memory usage.
However IKVM may not be compatible with all plugins and mods. The standard craftbukkit builds running the Essentials plugins are known to work well - but that is all that has been formally tested.
In some cases IKVM may not run at all for some users, so in this regard IKVM should be regarded as experimental. No support is provided for IKVM if it fails to start the server.
Using IKVM with McMyAdmin
As of version 0.9.0.0 - McMyAdmin has special support for IKVM.
- First, you need to download the latest version of IKVM from the IKVM Sourceforge Page
- Create a new folder in your McMyAdmin installation directory called IKVM
- From the downloaded archive, extract the contents of the ikvm-version/bin directory into the new IKVM directory.
- If you're on a 32 bit system, copy the contents of ikvm-version/bin-x86 into the same directory. Or bin-x64 for 64 bit systems.
Windows
Edit your McMyAdmin.conf to have the following lines:
#useIKVM - Whether or not to use the IKVM runtime.
useIKVM=1
#IKVMpath - Path to the IKVM runtime.
#Under Linux you must create a shell script to start IKVM with the
#correct arguments. See startikvm.example.sh
IKVMpath=IKVM/ikvm.exe
When McMyAdmin is restarted, it will be using IKVM for the next server start.
GNU/Linux, Mac OS, Other Platforms
- Make a copy of startikvm.example.sh and copy it to startikvm.sh
- If your Mono installation isn't in the PATH environment, you need to edit the script so that it can start Mono from your chosen installation directory
- Edit your McMyAdmin.conf to have the following lines:
#useIKVM - Whether or not to use the IKVM runtime.
useIKVM=1
#IKVMpath - Path to the IKVM runtime.
#Under Linux you must create a shell script to start IKVM with the
#correct arguments. See startikvm.example.sh
IKVMpath=startikvm.sh
When McMyAdmin is restarted, it will be using IKVM for the next server start.
Checking that IKVM is running
During the startup of McMyAdmin, you should see the following line in your console output:
[Notice] Using IKVM runtime.
If you don't see this line during startup, make sure that your loglevel in McMyAdmin.conf is equal to 4 or lower - and that the appropriate values have been changed in your McMyAdmin.conf.
If you're getting Java errors (normally thrown as System.TypeInitializationException) when running craftbukkit - You should remove all of your current plugins, and add then a few at a time until you find which one isn't compatible with IKVM.