- C++ 97.1%
- C 1.5%
- CMake 1.2%
- Dockerfile 0.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .github/workflows | ||
| .vscode | ||
| addon-test | ||
| include | ||
| shaders | ||
| src | ||
| .clang-format | ||
| .clang-tidy | ||
| .dockerignore | ||
| .gitignore | ||
| BUILDING.md | ||
| BUILDING_OPTIONAL.md | ||
| CMakeLists.txt | ||
| CMakePresets.json | ||
| CONTRIBUTING.md | ||
| debug.entitlements | ||
| docker-compose.yml | ||
| DOCKER.md | ||
| Dockerfile | ||
| FAQ.md | ||
| HARDWARE.md | ||
| LICENSE | ||
| README.md | ||
| vcpkg-configuration.json | ||
| vcpkg.json | ||
BetrockPlusPlus/Betrock++
A full, from-scratch reimplementation of Beta 1.7.x into C++.
Goals
- Betrock++ should be capable of acting as a drop-in replacement for the Java Server
- Functionality may be extended where desired or necessary, but generally compatibility and faithfulness will be prioritized
- Cross-platform (Windows, Linux, MacOS, etc.)
- Fully open-source: Anyone can fork, commit and contribute however they please
- Unless something requires decompiled code for the sake of accuracy, none will be used or referenced. If it is used for anything, it'll be very clearly marked as such in the code via comments. At most it'll serve as a reference for what not to do, and what architectural or implementation pitfalls we should avoid
Community
This is another project that's part of/worked on by the OpenBeta Community. We have a Discord Server and Website!
Running
Grab the latest build from the Releases tab, choose the build that you need for your OS, then just run it wherever you need!
Bug Reporting
If you encounter a bug, inaccuracy or other issue, please file an issue here on Github. Check if a similar issue has already been reported, and roughly follow the same sort of style we use. Provide as much info as you can!
If you don't have a Github account, please report the issue on Discord, though this is generally discouraged.
Hardware Requirements
To find out what's needed to run the project, please see the recommended hardware requirements on the hardware page. The server can be run on lesser hardware, though the experience may not be ideal.
Building
Please read the BUILDING page.
FAQ
Please read the FAQ page.
Contributing
Please read the CONTRIBUTING page.
Addons
We provide a C ABI that allows for the creation of addons. This feature is still in its infancy, so don't expect it to be reliable or stable just yet. None the less, a few addons exist to demonstrate what's possible.
- bpa_luau: A luau plugin API for easier plugin development
- bpa_discord: Discord chat integration
For anyone curious in how to use the addon C ABI, check our addon_api.h file to see what interfaces are available.
Related projects
- Beta++ by JcbbcEnjoyer: Beta 1.7.3 Client written in C++
- Technical Beta Wiki: Technical protocol and implementation reference (any findings are documented here)
- LibreProg: Fully FOSS Beta 1.7.3 textures, sounds, etc. (will be used for default textures for Client)
- LegacyMcServer: Beta 1.7.3 Server written in C++ (some code was adopted from this)
Credits
- Markus "Notch" Persson & Mojang, for creating Minecraft. https://www.minecraft.net/
- Barak Shoshany. Licensed under the MIT license. BS::thread_pool. https://github.com/bshoshany/thread-pool
- Keith Potz. Licensed under the MIT license. CrashCatch. https://github.com/keithpotz/CrashCatch
- Dugy. Licensed under the MIT license. quick_arg_parser. https://github.com/Dugy/quick_arg_parser
- Andre Weissflog. Licensed under the zlib license. sokol. https://github.com/floooh/sokol
Star History
Legal Disclaimer
NOT AN OFFICIAL MINECRAFT PRODUCT. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT