blob: bd842009507b7955f675cccfa56259c5d50b9bee [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 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.