| 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 now-defunct |
| [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 |
| [Gradle](http://gradle.org). Gradle is also used for dependency |
| management. |
| |
| The command `gradle` will build Glowstone and will put the compiled JAR in |
| `~/build/distributions`, and `gradle install` will copy it to your local Maven |
| repository. Additionally, if you prefer not to install Gradle you can simply |
| use the provided `gradlew` and `gradlew.bat` files in place of `gradle` for |
| commands. |
| |
| Running |
| ------- |
| |
| Running Glowstone is simple because all dependencies, including Bukkit, are |
| shaded into the output jar at compile time thanks to a nifty Gradle 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. |
| |
| 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 `server.properties` and |
| `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](http://jline.sf.net)-based server console for command |
| input. On non-Windows systems, console output can also be colored. |
| |
| Documentation |
| ------------- |
| |
| Javadocs can be generated by using the `gradle javadoc` command in the |
| terminal. To view the javadocs simply go to `~/build/docs/javadoc/` |
| and open `index.html` in a web browser. |
| |
| For documentation on the Bukkit API, see the |
| [Bukkit Javadocs](http://jd.bukkit.org/). |
| |
| Credits |
| ------- |
| |
| * [The Minecraft Coalition](http://wiki.vg/wiki) - protocol and file 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 [Gradle](http://gradle.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. |
| |