Note: because I've barely started the new Glowstone and Dinnerbone has barely started Workbench, anything and everything about the project is subject to change at any time. This readme is a modified copy-paste of old Glowstone's readme and may not reflect my actual plans.
Glowstone is an open-source implementation of the Minecraft server software written in Java, being developed alongside the official Minecraft modding API, currently known as Workbench. Rather than adapting an existing codebase to work with an entirely new interface, Glowstone intends to build functionality to precisely match the Workbench interface.
Glowstone draws from its previous incarnation, a fork of the Lightstone project which implemented the Bukkit plugin API, also developed under the MIT license, which stopped development in December of 2011 when the Spout project superseded it.
The official server software has some shortcomings such as the use of threaded, synchronous I/O along with high CPU and RAM usage. Glowstone aims to be a lightweight, high-performance, and open-source alternative, while maintaining compatability with mods developed against the work-in-progress official mod API.
You must download and compile Workbench
yourself and install it using
mvn install, but other dependencies will be
automatically downloaded by Maven if they are not found.
mvn package will build Glowstone, and
mvn install will copy it
to your local Maven repository.
Running Glowstone is simple because all dependencies, including Workbench, are
shaded into the output jar at compile time thanks to a nifty Maven plugin.
java -jar glowstone-0.0.1-SNAPSHOT.jar along with whatever
memory-related options to Java you desire, and the server should start.
By default, configuration is stored in the
config/ subdirectory and logs
are stored in the
logs/ subdirectory. The main configuration file is
config/glowstone.yml, which replaces CraftBukkit's
bukkit.yml. Settings from these two files will be copied over to Glowstone's
configuration during the default configuration generation process.
Glowstone uses a JLine-based server console for command input. On non-Windows systems, console output can also be colored.
Javadocs can be generated by using the
mvn javadoc:javadoc command in the
terminal. This utilizes Maven's javadoc plugin and may need to download
dependencies the first time it is run.
- The Minecraft Coalition - protocol and file formats research.
- Trustin Lee - author of the Netty library.
- Graham Edgecombe - author of the original Lightstone - and everyone else who has contributed to Lightstone.
- All the people behind Maven and Java.
- Notch and all the other people at Mojang - for making such an awesome game in the first place!
- Dinnerbone - for working on the official mod API and making it available while it's still in development.
Glowstone is open-source software released under the MIT license. Please see
LICENSE file for details.