| 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 somewhat complicated at present, since the Bukkit jar is |
| not yet shaded into Glowstone's jar and must be included in the classpath. |
| Here's a quick example of the command line NetBeans uses to execute Glowstone: |
| |
| cd D:\projects\Bukkit\Glowstone; "JAVA_HOME=C:\\Program Files\\Java\\jdk1.6.0_24" |
| D:\\tools\\apache-ant\\apache-maven\\bin\\mvn.bat -Dexec.classpathScope=runtime |
| -Dexec.workingdir=target "-Dexec.args=-classpath %classpath net.glowstone.GlowServer" |
| "-Dexec.executable=C:\\Program Files\\Java\\jdk1.6.0_24\\bin\\java.exe" |
| process-classes org.codehaus.mojo:exec-maven-plugin:1.2:exec |
| |
| I will be sorting out issues with this step of the process at a later date. |
| |
| 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. |
| |