CocoLogger

一个专为Cocoworld服务器设计的插件,将所有方块/告示牌操作记录到数据库中。

资源图片
# CocoLogger # 法语 ## 向下滚动以获取英文版本 CocoLogger 是一个用于 Minecraft Spigot/Paper 1.21.4 服务器的高级日志插件。 它允许跟踪服务器上所有玩家的活动,并具有现代的 Web 界面以查看和分析数据。 ## 介绍 此插件是为了满足 Minecraft 服务器上的监控和调查需求而开发的。 它会自动记录所有重要的玩家动作,并提供直观的 Web 界面来查看这些信息。 ### 主要功能 **完整的日志记录系统** - 记录放置和破坏的方块,精确坐标 - 跟踪物品交互(使用、点击) - 记录告示牌,包含完整内容(书写和修改) - 所有动作的精确时间戳 - 通过姓名和 UUID 识别玩家 **现代的 Web 界面** - 仪表板,具有实时统计信息 - 使用 JWT 的安全身份验证系统 - 通过玩家、动作类型、期间的高级过滤器 - 日志中的自由搜索 - 显示物品纹理和玩家头像 - 响应式设计,适用于移动设备和桌面设备 - 智能分页,适用于大量数据 **灵活的数据库** - 默认情况下集成了 H2 数据库(无需配置) - 可选的 MySQL 支持,具有自动故障转移 - 使用批量处理进行性能优化 - 可配置的自动备份 ## 安装 ### 先决条件 - Spigot 或 Paper 服务器版本 1.21.4 - Java 17 或更高版本 ### 安装步骤 1. 从 `target/` 文件夹下载 `CocoLogger.jar` 文件 2. 将文件放在服务器的 `plugins/` 文件夹中 3. 启动或重新启动服务器 4. 插件将在 `plugins/CocoLogger/` 中自动创建其配置 首次启动时,CocoLogger 会自动生成: - `config.yml` 配置文件 - 本地 H2 数据库 - 运行所需的文件 ## 配置 ### 基本配置 `config.yml` 文件包含所有配置选项: ```yaml # 数据库配置 database: type: "H2" # H2 或 MYSQL h2: file: "plugins/CocoLogger/database.db" mysql: host: "localhost" port: 3306 database: "cocologger" username: "root" password: "password" useSSL: false # Web 界面 web: port: 8767 auth: username: "admin" password: "ChangeMoi123!" jwt_secret: "CocoLogger_Secret_Key_Change_Me_In_Production" jwt_expiry_hours: 24 ``` ### 日志配置 您可以启用或禁用每种类型的日志记录: ```yaml logging: blocks: enabled: true place: true # 放置的方块 break: true # 破坏的方块 items: enabled: true use: true # 物品使用 interact: true # 交互 left_click: false right_click: false signs: enabled: true write: true # 告示牌书写 edit: true # 告示牌编辑 ``` ### 性能优化 ```yaml performance: batch_size: 100 # 插入的批处理大小 save_interval: 30 # 保存间隔(秒) max_memory_entries: 1000 # 内存中的最大条目 ``` ## 使用 ### 可用的命令 所有命令都需要 `cocologger.admin` 权限: - `/cocologger reload` -重新加载配置 - `/cocologger status` - 显示插件状态 - `/cocologger web` - Web 界面信息 - `/clog` 或 `/cl` - 命令别名 ### 权限 | 权限 | 描述 | 默认 | |------------|-------------|---------| | `cocologger.admin` | 访问管理员命令 | 操作员 | | `cocologger.exempt` | 免除日志记录 | 无 | ### Web 界面 Web 界面可访问地址为 `http://ipduserveur:8767` **默认登录:** - 用户名:`admin` - 密码:`ChangeMoi123!` **界面功能:** - 带有全局统计数据的概述 - 通过玩家、动作类型、期间进行过滤 - 所有字段的文本搜索 - 显示坐标和世界 - 大量数据量的分页 ## 数据库 ### H2 模式(默认) H2 模式不需要任何配置。 数据库会自动在插件文件夹中创建。 此模式非常适合大多数服务器。 ### MySQL 模式 要使用 MySQL,请修改配置: ```yaml database: type: "MYSQL" mysql: host: "votre-serveur-mysql" port: 3306 database: "cocologger" username: "votre-utilisateur" password: "votre-mot-de-passe" ``` 插件将自动创建必要的表。 如果 MySQL 连接失败,它将自动切换到 H2。 ## 故障排除 ### 插件无法启动 1. 验证您是否使用 Java 17 或更高版本 2. 确保您拥有 Spigot/Paper 1.21.4 3. 检查服务器日志以获取详细的错误消息 4. 验证插件文件夹的权限 ### Web 界面无法访问 1. 验证配置的端口(默认为 8767)是否未被占用 2. 检查服务器的防火墙规则 3. 使用 `http://localhost:8767` 测试本地访问 4. 检查插件日志以获取启动错误 ### 数据库问题 1. 在 H2 模式下,验证插件文件夹中的写入权限 2. 在 MySQL 模式下,使用配置的参数测试连接 3. 如果 MySQL 连接失败,插件将自动切换到 H2 4. 检查日志以获取连接错误的详细信息 ### 性能 如果您发现速度变慢: 1. 增加配置中的 `batch_size` 值 2. 减少 `save_interval` 以进行更频繁的备份 3. 禁用不太重要的操作日志记录(左键/右键单击) 4. 对于大型数据,请使用 MySQL 以获得更好的性能 ## 安全性 ### 重要建议 1. **立即更改** Web 界面的默认密码 2. **修改 JWT 密钥** `jwt_secret` 在生产环境中 3. **限制** 通过防火墙访问 Web 界面端口 4. **使用 HTTPS** 带反向代理进行外部访问 5. **定期备份** 数据库 ### 安全配置 ```yaml web: auth: username: "admin" password: "MotDePasseComplexe123!" jwt_secret: "CleSecreteTresLongueEtComplexePourProduction" jwt_expiry_hours: 8 # 减少有效期限 ``` ## 版本历史 ### 版本 1.0.0 - 用于方块、物品和告示牌的完整日志记录系统 - 使用 JWT 身份验证的 Web 界面 - 支持 H2 和 MySQL 数据库 - 带有实时统计信息的仪表板 - 完整的 REST API - 高级过滤和搜索 - 显示 Minecraft 纹理 - 灵活的配置和性能优化 ## 支持 在 Discord 上联系我! 我会尽快回复。 --- CocoLogger 由 Lechat_ (@lechat87 在 discord 上有任何要求)