#Glowstone++

The enhanced Glowstone fork with an emphasis on performance, control and compatibility.

Build Status

Join the chat at https://gitter.im/GlowstonePlusPlus/GlowstonePlusPlus

Built with Love

Currently the major changes from Glowstone include:

##Downloads

If you don't want to build from source, prebuilt jar files are available to download from:

  • gserv.me - all builds, no login required

  • Build Status CircleCI - click the latest build then expand “Artifacts” (if it does not show, try logging in with GitHub)

##Building

###1. Setup After installing Oracle JDK or OpenJDK, and Maven, checkout the source:

git clone --recursive https://github.com/GlowstonePlusPlus/GlowstonePlusPlus
cd GlowstonePlusPlus

###2. Build

./setup.sh

The final jar will be placed in target/ named glowstone++-1.9-SNAPSHOT.jar.

##Running

Running Glowstone++ is simple because its dependencies are shaded into the output jar at compile time. Simply execute java -jar glowstone++-1.9-SNAPSHOT.jar along with any extra JVM options desired. A variety of command-line options are also available - run java -jar glowstone++.jar --help for more information.

By default, configuration is stored in the config/ subdirectory and logs are stored in the logs/ subdirectory. The main configuration file is config/glowstone.yml, which replaces CraftBukkit's server.properties and bukkit.yml. Settings from these two files will be copied over to Glowstone++'s configuration during the default configuration generation process.

Glowstone++ uses JLine for console input and colored console output. The JLine console can be disabled in the configuration if a flat console is desired.

##Introduction

Glowstone++ is a lightweight, from scratch, open source Minecraft server written in Java that supports plugins written for the Spigot (and Bukkit) API.

The main goals of the project are to provide a lightweight implementation of the Spigot API and Minecraft server where exact vanilla functionality is not needed or higher performance is desired than the official software can deliver. Glowstone++ makes use of a thread-per-world model and performs synchronization only when necessitated by the Spigot API.

##Features

Glowstone++ has a few key advantages over CraftBukkit:

  • It is 100% open source. While CraftBukkit and most other mods are open source, they rely on decompiled Minecraft source code. Glowstone++'s code is completely original.
  • Because of this, it is easy to contribute to Glowstone++'s development. The barrier of entry to contributions is lower because there is no need to work around decompiled source or maintain a minimal diff.
  • Glowstone++ supports all plugins written for the Bukkit and Spigot API natively. In practice, some plugins may try to make use of parts of the API which are not yet implemented, but in a completed state Glowstone++ would support all Bukkit plugins.
  • Glowstone++'s simplicity affords it a performance improvement over CraftBukkit and other servers, making it especially suited for situations where a large amount of players must be supported but vanilla game features are not needed.

However, there are several drawbacks:

  • Glowstone++ is not finished. Nothing is guaranteed to work, though many things are likely to. If in doubt, file an issue.
  • Bukkit plugins which expect the presence of CraftBukkit-specific code (that in the org.bukkit.craftbukkit or net.minecraft.server packages) will not work on Glowstone++ unless they are designed to fail gracefully.
  • Glowstone++ is not produced by the Bukkit team, and while we do make an effort to produce quality work, Glowstone++ does not undergo the same rigorious testing as the Bukkit project.

For a current list of features, check the wiki

##Docs and Support

The best place to receive support is on GitHub issues. When reporting bugs, please retest and include whether the problem reproduces on:

Javadocs can be generated by using the mvn javadoc:javadoc command and are placed in the target/site/apidocs/ directory, but these are incomplete -in some places and in general the code is the best reference.

For documentation on the Glowkit API (an updated Bukkit which is used to write plugins), see the Glowkit Javadocs or visit Spigot's Bukkit Javadocs.

##Credits

##Copyright

Glowstone is open-source software released under the MIT license. Please see the LICENSE file for details.

Glowkit is open-source software released under the GPL license. Please see the LICENSE.txt file in the Glowkit repository for details.