ee34e7131a
With FreeBSD/clang, -Werror combined with the configured warning flags yields some fatal errors, specifically related to signed conversion, 64 to 32 bit conversion, and tautological compares. CONTRIBUTORS Add myself to the contributor list src/Generating/FinishGen.cpp In cFinishGenPassiveMobs::GetRandomMob(), change the type of RandMob from size_t to the difference_type of the ListOfSpawnables iterator MobIter. Using size_t triggers a 64 bit to 32 bit conversion if the difference_type of the iterator class is 64 bit Also explicitly cast the noise expression to unsigned long so we don't get a signed conversion warning from the modulo against ListOfSpawnables.size() src/OSSupport/StackTrace.cpp FreeBSD 10 and above includes a non glibc implementation of benchmark() for which size_t, not int, is the return type. To account for this and prevent a signed conversion warning, abstract the type for numItems with a macro btsize src/StringUtils.h In StringToInteger(), correct a tautological compare warning for unsigned types with the template. If T is unsigned, comparing std::numeric_limits<T>::min() to the unsigned result is always false. That control can enter this branch in an evaluated template with an unsigned type T may also permit a signed number to be parsed and erroneously stripped of its signedness at runtime. To guard against this and avoid the warning in the case that the number parsed from the string is non-positive, return false and don't try to parse if T is unsigned and control enters the non-positive branch |
||
---|---|---|
Android | ||
docs | ||
Install | ||
lib | ||
MCServer | ||
src | ||
tests | ||
Tools | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
app.yml | ||
CIbuild.sh | ||
cloc-exclude.txt | ||
CMakeLists.txt | ||
compile.sh | ||
COMPILING.md | ||
CONTRIBUTING.md | ||
CONTRIBUTORS | ||
CoverityModel.cpp | ||
Doxyfile | ||
easyinstall.sh | ||
GETTING-STARTED.md | ||
LICENSE | ||
MakeLuaAPI.cmd | ||
README.md | ||
SetFlags.cmake | ||
stats.cmd | ||
uploadCoverage.sh |
MCServer
MCServer 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. MCServer is compatible with the vanilla Minecraft client.
MCServer can run on Windows, *nix and Android operating systems. This includes Android phones and tablets as well as Raspberry Pis.
We currently support Release 1.7 and 1.8 (not beta) Minecraft protocol versions.
Subscribe to the newsletter for important updates and project news.
Installation
Hosted MCServer is available DIY on DigitalOcean: and Gamososm also offers MCServer support.
For Linux there is an easy installation method, just run this in your terminal:
curl -s https://raw.githubusercontent.com/mc-server/MCServer/master/easyinstall.sh | sh
For Windows, you just need to download a file and extract it:
For other operating systems you need to download and compile yourself. This can be done either manually, or with this automatic script:
bash -c "$(wget -O - https://raw.githubusercontent.com/mc-server/MCServer/master/compile.sh)"
There is also an archive of binary builds on the buildserver: http://builds.cuberite.org
Compiling the server yourself has other benefits: you may get better performance performance (1.5-3x as fast) and it supports more operating systems. See the COMPILING.md file for more details.
Contributing
MCServer 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.
Check out the CONTRIBUTING.md file for more details.
Other Stuff
For other stuff, including plugins and discussion, check out the forums and Plugin API.