# Shulkr Companion
一个用于 [Shulkr](https://github.com/Paylicier/Shulkr) 的伴随插件,它允许无缝管理日志并直接从您的 Minecraft 服务器上传。 此插件与 Shulkr 的安全日志托管服务集成,帮助服务器管理员轻松共享和分析其服务器日志。 它也与 [mclo.gs](https://mclo.gs) 兼容!
## 特性
- 🚀 **快速日志上传**
- 直接从游戏内或控制台上传日志
- 即时可分享的链接
- 支持多个日志文件
- 自动错误检测和分析
- 📂 **游戏内日志管理**
- 通过 GUI 浏览可用日志文件
- 交互式菜单界面
- 快速访问最近的日志
- 直接上传功能
- 🔄 **服务兼容性**
- 与 [Shulkr](https://shulkr.notri1.fr) 兼容
- 兼容 [mclo.gs](https://mclo.gs)
- 通过配置文件轻松切换服务
- 🎮 **用户友好的命令**
- 简单的命令结构
- Tab 补全支持
- 直观的 GUI 界面
- 点击复制链接
## 要求
- Java 14 或更高版本
- Minecraft 服务器 1.16+
- Paper, Purpur 或兼容的分叉版本
## 安装
1. 从 [发布页面](https://github.com/Paylicier/ShulkrCompanion/releases) 下载最新版本
2. 将 `.jar` 文件放置到服务器的 `plugins` 文件夹中
3. 重新启动您的服务器
4. (可选) 在配置文件中配置实例 URL
## 命令
| 命令 | 权限 | 描述 |
|---------|------------|-------------|
| `/logs` | `shulkr.upload` | 将最新.log 文件上传到配置的服务 |
| `/logs list` | `shulkr.upload` | 打开日志管理 GUI |
| `/logs upload [file]` | `shulkr.upload` | 上传特定的日志文件 |
## 权限
- `shulkr.upload` - 允许用户上传和管理日志
- `shulkr.*` - 授予所有插件权限
## 配置
默认 `config.yml`:
```yaml
# 日志托管服务的 URL
# 使用 https://shulkr.notri1.fr/api 用于 Shulkr
# 使用 https://api.mclo.gs 用于 mclo.gs
instance-url: https://shulkr.notri1.fr/api
```
## 使用示例
1. **快速上传**
```bash
/logs
```
上传最新的日志文件并提供一个可分享的链接。
2. **特定文件上传**
```bash
/logs upload crash-2024-01-01-1.log
```
从日志目录上传一个特定的日志文件。
3. **浏览日志**
```bash
/logs list
```
打开一个交互式 GUI 来浏览和管理日志文件。
## 服务配置
### 使用 Shulkr
默认配置使用 Shulkr。无需任何更改!
### 使用 mclo.gs
要使用 mclo.gs 代替 Shulkr:
1. 打开 `config.yml`
2. 将 `instance-url` 更改为 `https://api.mclo.gs`
3. 重新加载插件或重启服务器
## 从源代码构建
1. 克隆存储库:
```bash
git clone https://github.com/Paylicier/ShulkrCompanion.git
cd ShulkrCompanion
```
2. 使用 Gradle 构建:
```bash
./gradlew shadowJar
```
编译后的 jar 文件将位于 `build/libs` 目录中。
## 贡献
我们欢迎贡献! 请随时:
- 报告 bug
- 提出功能建议
- 提交 pull request
- 改进文档
1. 分叉存储库
2. 创建您的功能分支: `git checkout -b feature/AmazingFeature`
3. 提交您的更改: `git commit -m 'Add AmazingFeature'`
4. 推送到分支: `git push origin feature/AmazingFeature`
5. 打开一个 Pull Request
## 支持
- 对于 bug 报告和功能请求,请使用 [GitHub Issues](https://github.com/Paylicier/ShulkrCompanion/issues)
## 许可证
本项目使用 MIT 许可证 - 详情请参阅[LICENSE](LICENSE) 文件。
## 致谢
- 与 [mclo.gs](https://mclo.gs) 兼容
- 为与 [Shulkr](https://shulkr.notri1.fr) 集成而构建
- 社区贡献和反馈
---
❤️ 由 [Paylicier](https://github.com/Paylicier) 制作