GlowstoneMC / Glowstone-Legacy

An open-source server for the Bukkit Minecraft modding interface
Other
363 stars 122 forks source link

Glowstone

Notice

Well, it's been six months since we've seen SpaceManiac. In that time, Glowstone++, a fork, has become a lot more complete and advanced. As such, until SpaceManiac comes back, we recommend that those interested in Glowstone seek Glowstone++ out in their channel, #glowstone on Espernet - or here on GitHub. Thanks for flying with us up until now!

Introduction

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

The main goals of the project are to provide a lightweight implementation of the Bukkit 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 Bukkit API.

Features

Glowstone has a few key advantages over CraftBukkit:

However, there are several drawbacks:

Some of the key features that have been implemented are:

Building and Running

Glowstone can be built with the Java Development Kit and Gradle. The command ./gradlew will build Glowstone and place the final jar in build/libs/ with a filename ending in -remapped.jar. Other tasks are listed under ./gradlew tasks. A local installation of Gradle can be used instead if desired.

Running Glowstone is simple because its dependencies are shaded into the output jar at compile time. Simply execute java -jar glowstone.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.

Docs and Support

The best place to receive support is on the Glowstone Forums, where you can ask a question and someone who knows the answer can respond. If you prefer IRC, visit our IRC channel #glowstone on EsperNet (irc.esper.net).

User and contributor documentation and other articles can be found on the GitHub wiki. Javadocs can be generated by using the gradle javadoc command and are placed in the build/docs/javadoc/ 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 the official Bukkit Javadocs.

Credits

Copyright

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