Coder Social home page Coder Social logo

phase / glowstoneplusplus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from glowstonemc/glowstone

1.0 2.0 0.0 5.96 MB

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

License: Other

Shell 0.10% Ruby 0.02% Python 0.05% Java 99.84%

glowstoneplusplus's Introduction

Glowstone++

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

Build Status

(Warning: may be unstable, this is only an experiment, use at your own risk)

Currently the major changes from Glowstone include:

Building from source

  1. After installing the Java Development Kit and Maven, checkout the source:
git clone --recursive https://github.com/deathcap/GlowstonePlusPlus
cd GlowstonePlusPlus
  1. Build and install the APIs:
cd Glowkit
mvn install
cd ..
cd SpongeAPI
./gradlew
cd ..
  1. Build the server:
mvn package

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

Downloads

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

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

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:

  • 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 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 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.
  • Vanilla survival features are entirely absent (mobs, hunger, health, so on). Glowstone cannot yet replicate a vanilla survival environment. These will be added over time.
  • 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.

Some of the key features that have been implemented are:

  • World loading, saving, and streaming to players.
  • Player interaction with the world (building, digging).
  • Somewhat-complete inventory support.
  • World weather (rain, thunder/lightning).
  • Op, ban, IP ban, and whitelist support.
  • Many of the advanced API features of Bukkit.
  • Sophisticated overworld generation (support for others through Bukkit).
  • Structure spawning and saving.
  • Biome grid generation and decoration.
  • Crop growth, bone meal, and flower pots.
  • Noteblocks and jukeboxes.
  • Double chests and item frames.
  • Enchantments, beds, cauldrons.
  • Liquid physics (water and lava).
  • Particle effects Spigot API.

Building and Running

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.

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.

glowstoneplusplus's People

Contributors

aaron1011 avatar akrieger avatar bendem avatar coelho avatar deathcap avatar dequis avatar desmin88 avatar gabizou avatar gdude2002 avatar grahamedgecombe avatar greatman avatar grinch avatar hef avatar jaredstef avatar jeromsar avatar johni0702 avatar kitskub avatar m3rcuriel avatar mastercoms avatar overcaste avatar samnosliw avatar se1by avatar spacemaniac avatar tonodus avatar turt2live avatar zachbora avatar zachoooo avatar zephirenz avatar zhuowei avatar zml2008 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.