commit | 15d7171defded3bcac2073fdc668a3fe3d77e0df | [log] [download] |
---|---|---|
author | mastercoms <circuitsoft@tuta.io> | Mon Feb 06 11:23:13 2017 -0500 |
committer | GitHub <noreply@github.com> | Mon Feb 06 11:23:13 2017 -0500 |
tree | 55b7b4147b2c6606da49a204c2d92d563a62b2e4 | |
parent | f63bed32b8a44334bb596e402f5460c70e87dfe6 [diff] |
Update version based on new schema We are moving to time-based releases, as a project such as Glowstone will not have a good place to release a new version, since there is a lot to fix and develop. The new versioning scheme is `YEAR.release.major.minor`. Our previous schema didn't have much of a point to the year part of the version besides to set ourselves apart from the Minecraft version to prevent confusion. Now, development cycles will be determined by the year version. Every year, we will release a version of Glowstone labeled as stable in January of that year. That stable release will be worked on in December of the previous year with a complete feature freeze, so only bug fixes and stability improvements may be worked on during that time frame. The stable release will be released as year.0.major.minor, so the release version will always stay at 0. Once the stable version has been released, the freeze will be lifted and development will start on version year.1.major.minor, with the release version incrementing on Minecraft major version updates and other huge changes to Glowstone. As for the major version, that will increment every month and will coincide with a release announcement on the blog at the beginning of each month. The minor version will remain the same as the previous schema's trivial version, incrementing on every change (commit or commit series). This requires commits or commit series to have a well defined scope, as defined by the commit message. We can only provide support for the latest development version. The versioning scheme is slightly different for stable releases. A new branch will be made for every stable release, and while the release version will not change from 0, the major version (backport version) will increment when fixes from master are backported to the stable branch. These will come usually every month. The minor version (hotfix version) will increment when we need to immediately patch a crucial bug that is discovered or one that came about from a backport. We will be supporting these stable releases with fixes and technical assistance for the entire year. (For example, the 2018 stable release, 2018.0.x.y will be supported during 2018 only.) I hope this new versioning scheme will help us develop features and fixes better for you. If you have any questions, comments or concerns, feel free to comment on this commit or contact me on Discord.
A fast, customizable and compatible open source Minecraft server.
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.
Glowstone has a few key advantages over CraftBukkit:
However, there are several drawbacks:
org.bukkit.craftbukkit
or net.minecraft.server
packages) will not work on Glowstone unless they are designed to fail gracefully.For a current list of features, check the wiki.
If you don't want to build from source, pre-built jar files are available to download from:
Direct gserv.me download - recommended, direct link to latest build
gserv.me - all builds, no login required
CircleCI - click the latest build and then open the “Artifacts” tab (you must be logged in for this to show)
After installing Oracle JDK (recommended) or OpenJDK, and Maven, checkout the source:
git clone https://github.com/GlowstoneMC/Glowstone cd Glowstone
./setup.sh
The final jar will be placed in target/
named glowstone-X.XX-SNAPSHOT.jar
.
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.
For those of you who just want to play on a Glowstone server, we have one available for testing at mc.glowstone.net
. Have fun!
The best place to receive support is on GitHub issues. When reporting bugs, please retest and include whether the problem reproduces on:
Javadocs for Glowstone can be found here.
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.
#mcdevs
- protocol and file formats research.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.