What is Spout?
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 goal and focus is to offer a higher performance server that implements the universal SpoutAPI client/server platform. The Vanilla plugin can be used to implement Minecraft functionality. Bukkit plugin compatibility will be possible through the BukkitBridge.
Copyright (c) 2011-2012, SpoutDev http://www.spout.org
Who is SpoutDev?
- 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.
- Tad Hardesty - author of the Lightstone fork, Glowstone - and everyone else who has contributed to Glowstone.
- Notch and all the other people at Mojang - for making such an awesome game in the first place!
Spout is licensed under GNU Lesser General Public License Version 3, 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.
Spout uses Maven to handle its dependencies.
- Install Maven 2 or 3
- Checkout this repo and run:
mvn clean package install
Coding and Pull Request Formatting
- Generally follow the Oracle coding standards.
- Use tabs, no spaces.
- No trailing whitespaces.
- 200 column limit for readability.
- Pull requests must compile, work, and be formatted properly.
- Sign-off on ALL your commits - this indicates you agree to the terms of our license.
- No merges should be included in pull requests unless the pull request's purpose is a merge.
- Number of commits in a pull request should be kept to one commit and all additional commits must be squashed.
- You may have more than one commit in a pull request if the commits are separate changes, otherwise squash them.
- For clarification, see the full pull request guidelines here.
Please follow the above conventions if you want your pull request(s) accepted.