Spout is an open-source implementation of the Minecraft server software written in Java, originally forked from Tad Hardesty's Glowstone project, which was originally forked from Graham Edgecombe's now-defunct 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. Spout aims to be a lightweight and high-performance alternative.
Spout'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 server plugin development interface. It does this through implementing Bukkit classes and loading Bukkit plugins which interface with these classes.
Spout can be built with the Java Development Kit and Apache Maven. Maven is also used for dependency management.
You may download and compile Bukkit
yourself if you desire and install it using mvn install
, but it and other
dependencies will be automatically downloaded by Maven if they are not found.
The command mvn package
will build Spout, and mvn install
will copy it
to your local Maven repository. Official builds of Spout may be found on
Jenkins.
Running Spout 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 spout-dev-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/spout.yml
, which replaces CraftBukkit's server.properties
and
bukkit.yml
. Settings from these two files will be copied over to Spout's
configuration during the default configuration generation process.
Spout 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.
For documentation on the Bukkit API, see the Bukkit Javadocs.
- 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!
Spout is open-source software released under the LGPLv3 license, but with a
provision that files are released under the MIT license 180 days after they
are published. Please see the LICENSE.txt
file for details.