OfficialPixelBrush/BetrockPlusPlus
GitHub: OfficialPixelBrush/BetrockPlusPlus
用 C++23 从零实现的跨平台 Minecraft Beta 1.7.3 兼容客户端与服务端,整合了此前多个复刻项目的优秀部分。
Stars: 5 | Forks: 3
# BetrockPlusPlus/Betrock++



对 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, 开源重写, 数据擦除, 游戏客户端, 游戏服务器