blob: e52e47e779f62f55a4a24d01c743f8006bf251e7 [file] [log] [blame] [raw]
Glowstone
==========
Introduction
------------
Glowstone is an open-source implementation of the
[Minecraft](http://minecraft.net) server software written in Java, originally
forked from Graham Edgecombe's
[Lightstone](https://github.com/grahamedgecombe/lightstone) project.
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 and high-performance alternative.
Glowstone's main aim as a project independent from Lightstone is to offer a
higher-performance server while maintaining compatability with the multitude
of plugins available for the popular [Bukkit](http://bukkit.org) server plugin
development interface. It does this through implementing Bukkit classes and
loading Bukkit plugins which interface with these classes.
Building
--------
Glowstone can be built with the
[Java Development Kit](http://oracle.com/technetwork/java/javase/downloads) and
[Apache Maven](http://maven.apache.org). Maven is also used for dependency
management.
At present, you must download and compile Bukkit yourself. Use `git clone
https://github.com/Bukkit/Bukkit.git` to get a copy of git, and use `mvn
install` in the Bukkit directory to compile Bukkit and add it to your local
repository. JBoss's Netty package will be installed to your local repository
automatically.
Once you have compiled and installed Bukkit, typing the command `mvn package`
in the terminal will build the project, and `mvn install` will copy it to your
local Maven repository.
Running
-------
Running Glowstone is simple because all dependencies, including Bukkit, are
shaded into the output jar at compile time thanks to a nifty Maven plugin.
Simply execute `java -jar glowstone-0.0.1-SNAPSHOT.jar` along with whatever
memory-related options to java you desire, and the server should start.
A proper console is coming at a later date - for now, use Ctrl-C to stop the
server and enter commands in-game.
Documentation
-------------
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.
Credits
-------
* [The Minecraft Coalition](http://wiki.vg/wiki) - protocol and formats
research.
* [Trustin Lee](http://gleamynode.net) - author of the
[Netty](http://jboss.org/netty) library.
* Graham Edgecombe - author of the original
[Lightstone](https://github.com/grahamedgecombe/lightstone) - and everyone
else who has contributed to Lightstone.
* All the people behind [Maven](http://maven.apache.org) and
[Java](http://java.oracle.com).
* [Notch](http://mojang.com/notch) and all the other people at
[Mojang](http://mojang.com) - for making such an awesome game in the first
place!
Copyright
---------
Glowstone is open-source software released under the MIT license, please see
the `LICENSE` file for details.