commit | 1d33bdf14d07466ece54c88a7474dced7c57768e | [log] [download] |
---|---|---|
author | deathcap <deathcap@gmx.co.uk> | Fri Apr 24 21:32:41 2015 -0700 |
committer | deathcap <deathcap@gmx.co.uk> | Fri Apr 24 21:32:41 2015 -0700 |
tree | 443585bc622aba917a499b3ba3074a5585dfce40 | |
parent | 080f3415c8f73f678fe681cbc6528972927762b8 [diff] |
Change SpongeAPI plugin detection to use ASM instead of classloading Since ASM analyzes the bytecode without loading it, it can check for the @Plugin class annotation to detect SpongeAPI plugins, instead of using classloader findClass which requires the exact SpongeAPI to be present.
An experimental fork of Glowstone focused on additional compatibility
(Warning: may be unstable, this is only an experiment, use at your own risk)
Currently the major changes from Glowstone include:
git clone --recursive https://github.com/deathcap/GlowstonePlusPlus cd GlowstonePlusPlus
cd Glowkit mvn install cd .. cd SpongeAPI ./gradlew cd ..
mvn package
The final jar will be placed in target/
named glowstone++-1.8.3-SNAPSHOT.jar
.
If you don't want to build from source, prebuilt jar files are available to download from:
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.
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.Some of the key features that have been implemented are:
Glowstone can be built with the Java Development Kit and Maven The command mvn package
will build Glowstone and place the final jar in target/
named glowstone++-1.8.3-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.
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.
#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.