Getting Started¶
There are many ways to run the launcher. Which one to choose depends on what you want to achieve and where you are running HeadlessMc. If you simply want to use it to play the game, the native approach might be a good place to start.
Native¶
No setup is required for the native HeadlessMc executables. They will download a suitable version of Java and run HeadlessMc with it.
Get headlessmc-launcher-linux-x64
or headlessmc-launcher-linux-arm64
,
depending on if your CPU architecture is x64 or ARM64.
Then you can run the file in your console.
Get headlessmc-launcher-windows-x64.exe
. Then you can run the file in your console.
Get headlessmc-launcher-macos-arm64
or headlessmc-launcher-macos-x64
,
depending on if your CPU architecture is ARM64 or x64.
Then you can run the file in your console.
Java¶
HeadlessMc has been written in Java and run on any version ≥ Java 8.
The headlessmc-launcher-wrapper.jar
has slightly more overhead compared to the
normal launcher jar, but enables plugins and in-memory launching.
Simply run:
Docker¶
A preconfigured docker image exists, which comes with Java 8, 17 and 21 installed.
Inside the container you can use thehmc
command anywhere,
or start the jar using java -jar
.
Android¶
HeadlessMc can run inside Termux.
- Download Termux from F-Droid, NOT from the PlayStore.
- Install Java:
apt update && apt upgrade $ apt install openjdk-<version>
- Download the headlessmc-launcher-wrapper.jar into Termux.
- Disable JLine, as we could not get it to work on Termux for now,
by adding
hmc.jline.enabled=false
to the HeadlessMC/config.properties. - Now you can use HeadlessMc as you would on Desktop or Docker.
Web¶
HeadlessMc can run inside the browser, kinda. First, there is CheerpJ, a WebAssembly JVM, but it does not support all features we need to launch the game. The CheerpJ instance can be tried out here. Secondly, there is container2wasm, which can translate the HeadlessMc Docker container to WebAssembly and the run it inside the browser, but this is extremely slow.