# MinecraftREST
MinecraftREST的首个稳定版本,一个强大的Minecraft服务器REST API接口,提供安全的端点用于服务器管理和玩家互动。
## 🚀 特性
- 🔒 安全的JWT身份验证
- 🌐 用于服务器管理的RESTful API端点
- 👥 玩家管理(踢出、游戏模式、消息)
- 📊 服务器信息和统计
- ⚡ 速率限制保护
- 🔍 实时玩家和世界数据
## 📋 要求
- Java 17或更高版本
- Spigot/Paper服务器 1.20.4
## 🔧 安装
1. 从此版本下载`minecraft-rest-1.0.0.jar`
2. 将其放置在服务器的`plugins`文件夹中
3. 启动/重启您的服务器
4. 在`plugins/MinecraftREST/config.yml`中配置插件
## 配置
插件会在`plugins/MinecraftREST/`中创建一个 `config.yml` 文件,其中包含以下选项:
```yaml
# API 配置
api-port: 4567 # HTTP API将运行的端口
# 安全配置
security:
jwt-secret: "your-secret-key-here" # 更改为安全的随机字符串
max-requests-per-minute: 60 # 速率限制阈值
admin-credentials:
username: "admin" # 更改为安全的用户名
password: "change-this-password" # 更改为安全的密码
```
⚠️ **重要提示**: 在生产环境中使用之前,请更改默认的安全设置!
## API文档
API使用OpenAPI(Swagger)规范进行文档化。您可以在以下位置找到完整的API文档:
- `api-docs/swagger.yaml` - OpenAPI 3.0规范文件
- 将此文件导入工具中:
- [Swagger Editor](https://editor.swagger.io/)
- [Postman](https://www.postman.com/)
- [Insomnia](https://insomnia.rest/)
### 快速API概览
除了 `/api/auth/login` 之外的所有端点都需要通过Bearer令牌进行JWT身份验证。
1. **身份验证**
- `POST /api/auth/login` - 获取JWT令牌
2. **服务器管理**
- `GET /api/server/info` - 获取服务器信息
- `POST /api/server/command` - 执行控制台命令
- `POST /api/broadcast` - 广播消息
3. **玩家管理**
- `GET /api/players` - 列出在线玩家
- `POST /api/player/message` - 向玩家发送消息
- `POST /api/player/kick` - 踢出玩家
- `POST /api/player/gamemode` - 更改玩家游戏模式