9b97d63f8f
* Alpha-sort cChestEntity * Chests: use SendUpdateBlockEntity * Pathfinder: fix out of range Y * 1.13: correct weather packet ID * Chests: fix neighbour scanner + Add OnAddToWorld and overload to scan neighbours there, instead of in the constructor/OnUse. This fixes hoppers accessing newly loaded double chests and seeing a null m_Neighbour, thus thinking its a single chest. * Fix typo in cross coords computation. * Simplify hopper logic. * Block entities: ASSERT that type is correct If you match the block type first before calling DoWithBlockEntity, the corresponding block entity must either be empty or correspond to the block type. * Chunk: fix some forgotten PendingSendBE cleanup + Add cleanup in SetAllData, WriteBlockArea - Remove RemoveBlockEntity (used once), HasBlockEntity (not used) * Replace MakeIndex with MakeIndexNoCheck * Remove extraneous MarkDirty in hopper & chests |
||
---|---|---|
.circleci | ||
.github | ||
android | ||
CMake | ||
dev-docs | ||
lib | ||
Server | ||
src | ||
tests | ||
Tools | ||
.clang-format | ||
.clang-tidy | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
app.yml | ||
appveyor.yml | ||
BACKERS | ||
CheckLua.cmake | ||
clang-tidy.sh | ||
cloc-exclude.txt | ||
CMakeLists.txt | ||
compile.sh | ||
COMPILING.md | ||
CONTRIBUTING.md | ||
CONTRIBUTORS | ||
Doxyfile | ||
easyinstall.sh | ||
GETTING-STARTED.md | ||
jenkinsbuild.sh | ||
LICENSE | ||
README.md | ||
SetFlags.cmake | ||
stats.cmd | ||
TESTING.md | ||
travisbuild.sh |
Cuberite
Cuberite is a Minecraft-compatible multiplayer game server that is written in C++ and designed to be efficient with memory and CPU, as well as having a flexible Lua Plugin API. Cuberite is compatible with the Java Edition Minecraft client.
Cuberite runs on Windows, *nix and Android operating systems. This includes Android phones and tablets as well as Raspberry Pis.
Currently we support Release 1.8 - 1.12.2 Minecraft protocol versions.
Subscribe to the newsletter for important updates and project news.
Installation
There are several ways to obtain Cuberite.
Binaries
- The easiest method is downloading for Windows or Linux from the website.
- You can use the EasyInstall script for Linux and macOS, which automatically downloads the correct binary. The script is described below.
The EasyInstall script
This script will download the correct binary from the project site.
curl -sSfL https://download.cuberite.org | sh
Compiling
- You can compile automatically for Linux, macOS and FreeBSD with the
compile.sh
script. The script is described below. - You can also compile manually. See COMPILING.md.
Compiling may provide better performance (1.5-3x as fast) and it supports more operating systems.
The compile.sh script
This script downloads the source code and compiles it. The script is smart enough to notify you of missing dependencies and instructing you on how to install them. The script doesn't work for Windows.
Using curl:
sh -c "$(curl -sSfL -o - https://compile.cuberite.org)"
Or using wget:
sh -c "$(wget -O - https://compile.cuberite.org)"
Hosted services
- Hosted Cuberite is available via Gamocosm.
Contributing
Cuberite is licensed under the Apache License V2, and we welcome anybody to fork and submit a Pull Request back with their changes, and if you want to join as a permanent member we can add you to the team.
Cuberite is developed in C++ and Lua. To contribute code, please check out GETTING-STARTED.md and CONTRIBUTING.md for more details.
Plugins are written in Lua. You can contribute by developing plugins and submitting them to the plugin repository or the forum. Please check out our plugin introduction guide for more info.
If you are not a programmer, you can help by testing Cuberite and reporting bugs. See TESTING.md for details.
You can also help with documentation by contributing to the User's Manual.
Other Stuff
For other stuff, check out the homepage, the Users' Manual, the forums, and the Plugin API.
Support the Cuberite development team on Liberapay