MCppServer

MCppServer

用 C++ 编写的快速且超高效的 Minecraft 服务器

Noeli14

研究与数据
访问服务器

README

<div align="center">
    
![image](https://i.postimg.cc/MKD69SDB/image.png)
#

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
![Current version)](https://img.shields.io/badge/current_version-1.21.1-green)

快速且超高效的 C++ 1.21.1 Minecraft 服务器。与 Java 客户端兼容。旨在提供类似 Vanilla Minecraft 的体验,但具有 C++ 的强大功能。

![image](https://i.postimg.cc/cJsPzxp9/sample-Image-Sized.png)

</div>

MCpp Server 是一个完全用 C++ 开发的高性能 Minecraft 服务器。MCpp Server 专为速度、效率和广泛的自定义而设计,旨在为玩家提供无缝且愉快的体验,同时努力保持与最新 Minecraft 功能的完全兼容。

<div align="center">

## ⚠️ 重要提示 ⚠️
### 本项目处于早期开发阶段,可能包含错误和不完整的功能,以及临时和未优化的代码。

</div>

## 🙌 进度
### 想看看我在做什么吗?查看“展示与讲述”下的[讨论](https://github.com/Noeli14/MCppServer/discussions/categories/show-and-tell)选项卡!

## 🚀 功能

### 🏎️ 性能
- **多线程架构:** 利用多个线程同时处理各种服务器任务。
- **超快速高效的区块加载和生成:** 使用多个线程加载和生成区块,同时最大限度地减少内存使用。
- **优化的代码库:** 用 C++ 编写,以实现最高的效率和低延迟。

### 🔧 自定义和可扩展性
- **可配置的设置:** 轻松调整配置文件,以根据您的需求定制服务器行为。
- **<span style="color:gray">*插件支持即将推出*</span>:** 为开发和集成自定义插件提供基础。

### 🌐 网络
- **数据包压缩:** 通过压缩数据包来减少带宽使用。
- **服务器状态和 Ping:** 提供实时服务器状态信息和延迟测量。

### 🧩 支持和开发中的功能
- 登录
    - [x] 身份验证(在线模式)
    - [x] 加密
    - [x] 数据包压缩
- 服务器配置
    - [x] 服务器链接
    - [x] 注册表
    - [x] 资源包(多个)
    - [x] 服务器品牌
    - [ ] Cookies
- 服务器
    - [ ] Lua 插件 API
    - [x] 查询
    - [x] RCON
    - [x] 命令
    - [x] 聊天
    - [x] 翻译
- 世界
    - [x] 加入世界
    - [x] 区块加载
    - [x] 玩家列表
    - [x] 实体生成
    - [x] 世界加载
    - [x] 区块生成
    - [x] 世界边界
    - [x] 世界时间
    - [x] Bossbar
    - [x] 天气
    - [ ] 记分板
    - [ ] 世界保存
- 玩家
    - [x] 玩家皮肤
    - [x] 客户端品牌
    - [x] 移动
    - [x] 背包
    - [x] 装备
    - [x] 物品拾取
    - [ ] 战斗
- 实体
    - [x] 玩家
    - [ ] 生物(动物、怪物)
    - [ ] 实体 AI
    - [ ] Boss
    - [ ] 矿车
    - [ ] 闪电
- 物理
    - [x] 物品物理
    - [ ] 掉落方块


## 🌍 使用预先生成的世界
只需将您的 Vanilla Minecraft 世界的 world 文件夹放在服务器可执行文件所在的目录中,服务器启动时就会加载它。

## ⚠️ 重要提示
- **Linux 兼容性:** Linux 版本尚未经过全面测试。在 Linux 系统上运行 MCpp Server 时,您可能会遇到问题。为了仍然能够加入服务器,您应该在 config.json 文件中关闭在线模式。
- **持续开发:** MCpp Server 正在积极开发中。欢迎提供贡献和反馈,以帮助改进服务器。

## 🛠️ 安装与构建

### 📋 前提条件
- **C++20 编译器:** 确保您已安装现代 C++ 编译器(例如,GCC、Clang)。在 Windows 上,您需要 MingW。
- **CMake:** 3.14 或更高版本。
- **Git:** 用于克隆存储库。

### 🔧 构建说明
#### **Linux:**

1. **克隆存储库**
    ```bash
    git clone https://github.com/Noeli14/MCppServer.git
    cd MCppServer
    ```

2. **创建构建目录**
    ```bash
    mkdir build
    cd build
    ```

3. **使用 CMake 生成构建文件**
    ```bash
    cmake ..
    ```
    对于调试版本:
    ```bash
    cmake -DCMAKE_BUILD_TYPE=Debug ..
    ```
    对于发布版本:
    ```bash
    cmake -DCMAKE_BUILD_TYPE=Release ..
    ```

4. **编译项目**
    ```bash
    make
    ```

#### **Windows (MingW & Make):**

1. **克隆存储库**
    ```bash
    git clone https://github.com/Noeli14/MCppServer.git
    cd MCppServer
    ```

2. **创建构建目录**
    ```bash
    mkdir build
    cd build
    ```

3. **使用 CMake 生成构建文件**
    ```bash
    cmake .. -G "Unix Makefiles"
    ```
   对于调试版本:
    ```bash
    cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug ..
    ```
   对于发布版本:
    ```bash
    cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ..
    ```

4. **编译项目**
    ```bash
    make
    ```

#### **Windows (MingW & Ninja):**

1. **克隆存储库**
    ```bash
    git clone https://github.com/Noeli14/MCppServer.git
    cd MCppServer
    ```

2. **创建构建目录**
    ```bash
    mkdir build
    cd build
    ```

3. **使用 CMake 生成构建文件**
    ```bash
    cmake .. -G "Ninja"
    ```
   对于调试版本:
    ```bash
    cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Debug ..
    ```
   对于发布版本:
    ```bash
    cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release ..
    ```

4. **编译项目**
    ```bash
    ninja
    ```

### 🚀 运行服务器
成功构建后,执行服务器二进制文件:
```bash
./MCppServer

📦 数据来源

MCpp Server 利用 PrismarineJS Minecraft Data 存储库中的数据,以确保准确和最新的游戏机制和数据。

🤝 贡献

欢迎贡献!无论是报告错误、建议功能还是提交拉取请求,我们都非常感谢您的帮助。

📄 许可证

MCpp Server 在 MIT 许可证下获得许可。

📫 联系方式

如有任何问题或需要支持,请随时在 GitHub 存储库 上提出问题或进行讨论。

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python