
# CronWhiteList
一个轻量级的Minecraft插件,通过基于时间的调度自动化服务器白名单管理。专为性能、管理和服务器控制而设计。
---
## 🔧 功能
- `/cronwhitelist `: 配置白名单应该何时激活和停用。
- `/cronwhitelist start`: 启动自动白名单调度器。
- `/cronwhitelist stop`: 停止自动白名单调度器。
- `/cronwhitelist status`: 显示当前的cronjob状态。
- ⏰ **基于时间的管理**: 设置特定的时间来激活和停用白名单。
- 🔄 **自动化控制**: 安排白名单自动启用或禁用。
- 🛡️ **操作者保护**: 操作者在白名单启用时永远不会被踢出。
- 💾 **持久化配置**: 设置保存在SQLite数据库中,并在服务器重启后保持不变。
- 🕛 **跨午夜支持**: 能够无缝处理跨越午夜的计划。
- 📊 **实时监控**: 每60秒检查一次并根据需要调整白名单。
- 🚀 **启动行为**: 在服务器重启时自动恢复配置的计划。
- ⚡ **轻量级**: 采用高效的SQLite存储,资源占用最少。
## 🗂️ 支持的Minecraft版本
- **Paper/Spigot 1.21.x**
## ⚙️ 配置
- SQLite数据库存储所有计划配置,并在服务器重启后保持不变。
- 所有时间都会自动调整,通过减去1分钟以获得精确的计时。
- 插件以60秒的检查间隔运行,以获得最佳性能。
## 🛠️ 命令
| 命令 | 描述 |
|----------------------------------------------|-----------------------------------------------------|
| `/cronwhitelist ` | 配置计划时间 (HH:MM格式) |
| `/cronwhitelist start` | 启动自动白名单调度器 |
| `/cronwhitelist stop` | 停止自动白名单调度器 |
| `/cronwhitelist status` | 显示当前的cronjob状态 |
## 🔐 权限
| 节点 | 描述 |
|---------------------------|-----------------------------------------------------|
| `cronwhitelist.admin` | 允许访问所有CronWhiteList命令 |
**默认:** op (只有操作者可以使用该插件)
## 🎮 工作原理
1. 使用 `/cronwhitelist ` 设置您的计划(例如,`/cronwhitelist 14:00 22:00`)。
2. 插件会自动启动cronjob并开始监控。
3. 在指定的时间,白名单将自动启用或禁用。
4. 操作者受到保护,在白名单激活时永远不会被踢出。
5. 未在白名单上的玩家在白名单激活时会被自动踢出。
## 🔗 时间管理系统
CronWhiteList包含智能时间处理功能,适用于各种场景:
- **标准日间计划**: 例如,09:00到17:00 (日间白名单启用)
- **夜间计划**: 例如,22:00到06:00 (夜间白名单启用,跨越午夜)
- **自动调整**: 输入的时间会减去1分钟 (11:30变成11:29)
- **持久状态**: 配置在服务器重启后保持不变,并保持计划
- **实时监控**: 每60秒检查一次并立即应用更改
## 💡 用例
- 限制服务器访问到特定的时间段(例如,维护窗口)。
- 创建“仅限会员”的时段,在高峰时段。
- 自动管理活动或计划活动期间的白名单。
- 在非高峰时段保护服务器资源,同时允许可信任的玩家。
## 📝 技术与法律
- **许可:** GPL-3.0-only (参见LICENSE)
- **作者:** MrH00k
- **数据库:** 使用 SQLite 进行持久化计划存储。
- **不抑制静态分析警告:** 所有警告都保持可见,以方便维护。
- **不需要外部依赖项。**
---
**掌控您的服务器访问权限 — 使用 CronWhiteList!**