Minecraft server tightly coupled with Spoutcraft, its custom client
Java Other
Switch branches/tags
Nothing to show
Pull request Compare This branch is 5223 commits behind SpoutDev:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
etc/tools
src/main
.gitignore
HEADER.txt
LICENSE.txt
README.md
Spout.iml
nb-configuration.xml
nbactions.xml
pom.xml
rules.xml

README.md

Spout

Introduction

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 implementing the SpoutAPI platform for Minecraft mods.

Building

Spout can be built with the Java Development Kit and Apache Maven. Maven is also used for dependency management.

You may download and compile SpoutAPI 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

Running Spout is simple because all dependencies, including SpoutAPI, 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.

Spout uses a JLine-based server console for command input. On non-Windows systems, console output can also be colored.

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.

For documentation on the Spout API, see the SpoutAPI Javadocs.

Credits

  • 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!

Copyright

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.