OfficialPixelBrush/BetrockPlusPlus

GitHub: OfficialPixelBrush/BetrockPlusPlus

用 C++23 从零实现的跨平台 Minecraft Beta 1.7.3 兼容客户端与服务端,整合了此前多个复刻项目的优秀部分。

Stars: 5 | Forks: 3

# BetrockPlusPlus/Betrock++ ![C++23](https://img.shields.io/badge/Language-C%2B%2B23-5E96CF) ![Issues](https://img.shields.io/github/issues/OfficialPixelBrush/BetrockPlusPlus) ![Pull requests](https://img.shields.io/github/issues-pr/OfficialPixelBrush/BetrockPlusPlus) 对 Beta++/Betrock 和 BetrockServer 进行从零开始的重写/合并,旨在干净地整合它们最优秀的部分。 # 目标 从零开始全面重新实现 Minecraft Beta 1.7.3。 1. 理想情况下,BPP 应该能够同时作为客户端和服务器运行 2. 功能将在需要或必要时进行扩展,但通常会优先考虑兼容性和忠实度 3. 跨平台(Windows 和 Linux) 4. 完全开源,任何人都可以 fork、提交和贡献 5. 除非为了准确性而需要反编译代码,否则不会使用、重新实现或引用任何反编译代码。如果确实将其用于任何用途,会在代码中通过注释非常明确地标记出来。它最多只能作为一个参考,用来指出不该做什么,以及我们应该避免哪些陷阱 ## Discord 这是 OpenBeta 社区参与/进行的另一个项目。我们有一个 [Discord 服务器](https://discord.gg/JHTz2HSKrf)! ## 如何使用 ### 克隆仓库 只需使用 `git` 克隆仓库即可。 ``` git clone https://github.com/OfficialPixelBrush/BetrockPlusPlus.git cd BetrockPlusPlus ``` 或者,下载 **.zip** 压缩包。 ### 安装依赖 #### Windows (10/11) 前置条件: - CMake 3.16.0(或更高版本) - MSVC 19.32(或更高版本) - vcpkg 在上述软件全部安装并设置完毕后,你可以使用 **vcpkg** 安装剩余的依赖。 ``` # 使用 vcpkg 安装依赖 .\vcpkg install libdeflate glfw3 glm openal-soft ``` #### Linux Betrock++ 也可以在 Linux 上运行!从理论上讲,只要拥有所需的依赖,任何 Linux 发行版都应该受支持。以下是在各种发行版上获取这些依赖的命令。 ##### Debian / Ubuntu / Linux Mint ``` sudo apt install git cmake clang build-essential libdeflate-dev libglfw3-dev libglm-dev libopenal-dev ``` ##### RHEL / Fedora ``` sudo dnf install git cmake clang gcc gcc-c++ make libdeflate-devel glfw-devel glm-devel openal-soft-devel ``` ##### Arch Linux / SteamOS / CachyOS ``` sudo pacman -S git cmake clang base-devel libdeflate glfw glm openal ``` ##### openSUSE (Leap / Tumbleweed) ``` sudo zypper install git cmake clang gcc gcc-c++ make libdeflate-devel glfw-devel glm-devel openal-soft-devel ``` ##### Alpine Linux ``` sudo apk add git cmake clang gcc g++ make libdeflate-dev glfw-dev glm-dev openal-soft-dev ``` ##### Void Linux ``` sudo xbps-install -S base-devel git cmake clang libdeflate-devel glfw-devel glm libopenal-devel ``` ##### Gentoo ``` sudo emerge dev-vcs/git dev-util/cmake sys-devel/clang sys-devel/gcc sys-devel/make dev-libs/libdeflate media-libs/glfw media-libs glm media-libs/openal ``` ### 构建 #### 选项 #1:命令行 首先,准备并进入构建目录。 ``` cmake -S . -B build -DCMAKE_BUILD_TYPE=Release cd build ``` 这将构建一个 Release 版本的服务器。如果你想构建客户端,请使用 ``` cmake -S . -B build -DBUILD_SERVER=OFF -DCMAKE_BUILD_TYPE=Release cd build ``` 然后构建项目。 ``` cmake --build . ``` 之后,只需运行构建好的应用程序即可。 ``` ./BetrockPlusPlus ``` #### 选项 #2:Visual Studio Code 如果你的编译器、cmake 和依赖项已正确设置,Visual Studio Code(或任何基于它的工具,如 VSCodium)应该可以直接运行。点击底部状态栏中的运行或构建按钮即可。 #### 选项 #3:Visual Studio(仅限 Windows) **TODO** # 相关项目 - Beta++ 作者 JcbbcEnjoyer(使用 C++ 编写的 Minecraft Beta 1.7.3 客户端) - [LibreProg](https://github.com/OfficialPixelBrush/LibreProg)(完全 FOSS 的 Minecraft Beta 1.7.3 材质、声音等) - [Technical Beta Wiki](https://officialpixelbrush.github.io/beta-wiki)(技术协议和实现参考) - [Betrock](https://github.com/OfficialPixelBrush/Betrock)(McRegion 世界浏览器) - [BetrockServer](https://github.com/OfficialPixelBrush/BetrockServer)(使用 C++ 编写的 Minecraft Beta 1.7.3 服务器) # 致谢 - Barak Shoshany。采用 MIT 许可证授权。BS::thread_pool。https://github.com/bshoshany/thread-pool
标签:Bash脚本, C++, CMake, Minecraft, 开源重写, 数据擦除, 游戏客户端, 游戏服务器