Skip to content

matter123/Spout

 
 

Repository files navigation

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 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.

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

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.

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 Bukkit API, see the Bukkit 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.

About

Spout is an open-source implementation of the Minecraft server software written in Java, originally forked from the Glowstone project.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published