---
**Proxy-Utils 插件文档**
*由 MineFlow Studios 开发*
---
## **概述**
Proxy-Utils 是一个强大的 Velocity 代理插件,旨在通过提供一系列必备工具来简化服务器管理。 具有广播公告、管理服务器连接、处理代理重启和监控插件状态等功能,Proxy-Utils 为管理员和玩家提供无缝高效的体验。
---
## **安装**
1. **下载** `Proxy-Utils.jar` 文件。
2. **放置** JAR 文件到代理服务器的 `plugins` 目录中。
3. **启动** 您的 Velocity 代理服务器。 配置文件 (`settings.yml`) 将自动生成。
---
## **配置**
位于 `plugins/Proxy-Utils/` 中。
- **settings.yml**
```yaml
servers:
lobby: lobby-server
smp: smp-server
hub: hub-server
commands:
/lobby: lobby
/l: lobby
/smp: smp
/hub: hub
defaultRestartTime: 600 # 默认重启时间(以秒为单位)(例如,10 分钟)
broadcastIntervals:
- 600
- 300
- 60
- 50
- 25
- 10
- 9
- 8
- 7
- 6
- 5
- 4
- 3
- 2
- 1
messages:
announce: "&a[Announcement] &f{message}"
restartKick: "&cWe are restarting, please rejoin."
restartCancelled: "&cThe proxy restart has been &lCANCELLED!"
restartCountdown: "&cRestart in {timeLeft}..."
```
- **settings.yml** 详细信息:
- **servers:**
定义服务器标识符及其相应的服务器名称。
- **commands:**
将特定的命令别名映射到服务器标识符,以实现动态服务器命令。
- **defaultRestartTime:**
设置代理重启倒计时时的默认时间(以秒为单位),如果 `/proxyrestart` 命令中没有指定时间,则使用此默认时间。
- **broadcastIntervals:**
指定在代理重启期间广播倒计时消息的间隔(以秒为单位)。
- **messages:**
可自定义的插件执行各种动作的消息,支持使用 `&` 符号的颜色代码以及像 `{message}` 和 `{timeLeft}` 这样的占位符。
---
## **命令**
### **常规命令**
- **`/announce `**
*向所有玩家广播自定义的公告消息。 使用 `&` 符号支持颜色代码。*
**用法:**
```
/announce
```
**示例:**
```
/announce 欢迎来到服务器!&a尽情享受吧!
```
- **`/proxyrestart [timeInSeconds]`**
*启动一个倒计时以重启代理服务器。 如果没有指定时间,则使用 `settings.yml` 中默认的重启时间。 在倒计时过程中,指定的广播间隔将通知玩家即将在进行的重启。*
**用法:**
```
/proxyrestart [timeInSeconds]
```
**示例:**
- 使用默认时间启动重启倒计时:
```
/proxyrestart
```
- 使用指定的时间启动重启倒计时(例如,300 秒):
```
/proxyrestart 300
```
- **`/cancelproxyrestart`**
*取消任何活动的代理重启倒计时。 通知所有玩家重启已被取消。*
**用法:**
```
/cancelproxyrestart
```
- **`/server [serverName]`**
*将玩家发送到指定的服务器。 如果没有提供服务器名称,它将列出 `settings.yml` 中定义的所有可用服务器。*
**用法:**
```
/server
```
**别名:**
```
/srv
```
**示例:**
- 发送到一个特定的服务器:
```
/server lobby
```
- 列出所有可用的服务器:
```
/server
```
- **动态服务器命令(例如,`/lobby`、`/smp`、`/hub`)**
*无需使用 `/server` 命令即可快速访问特定的服务器。 每个动态命令都对应于 `settings.yml` 中定义的一个服务器。*
**用法:**
```
/
```
**示例:**
- 发送到大厅服务器:
```
/lobby
```
- 发送到 SMP 服务器:
```
/smp
```
- 发送到中心服务器:
```
/hub
```
- **`/proxyplugins`**
*列出代理的 `plugins` 目录中存在的所有插件 JAR 文件。 指示每个插件是否已正确加载(绿色)或未加载(红色)。 此外,如果可用,还显示每个插件的版本。*
**用法:**
```
/proxyplugins
```
---
## **权限**
| **权限节点** | **描述** | **默认访问** |
|-----------------------------------|-----------------------------------------------------------|-------------------------|
| `proxyutils.announce` | 允许使用 `/announce` 命令。 | 管理员/Admins |
| `proxyutils.proxyrestart` | 允许使用 `/proxyrestart` 命令。 | 管理员/Admins |
| `proxyutils.cancelproxyrestart` | 允许使用 `/cancelproxyrestart` 命令。 | 管理员/Admins |
| `proxyutils.server` | 允许使用 `/server` 命令。 | 所有玩家 |
| `proxyutils.server.` | 允许使用动态服务器命令(例如,`/lobby`)。| 管理员/Admins |
| `proxyutils.proxyplugins` | 允许使用 `/proxyplugins` 命令。 | 管理员/Admins |
**设置权限示例 (LuckPerms):**
```
lp group admin permission set proxyutils.announce true
lp group admin permission set proxyutils.proxyrestart true
lp group admin permission set proxyutils.cancelproxyrestart true
lp group admin permission set proxyutils.server true
lp group admin permission set proxyutils.server.lobby true
lp group admin permission set proxyutils.server.smp true
lp group admin permission set proxyutils.server.hub true
lp group admin permission set proxyutils.proxyplugins true
```
**注意:**
- **动态服务器权限:** 将 `` 替换为 `settings.yml` 中定义的实际服务器标识符。 例如,如果有一个名为 `lobby` 的服务器,则权限节点将是 `proxyutils.server.lobby`。
- **控制台访问:** 从控制台执行的命令不受权限检查,默认为允许。
---
## **使用技巧**
- **权限管理:**
确保正确地将权限分配给用户组,以控制对各种命令的访问。 通常,只有管理员才有权访问 `/proxyrestart`、`/cancelproxyrestart` 和 `/proxyplugins`。
- **服务器定义:**
及时更新 `settings.yml` 中的所有活动服务器,以确保玩家可以使用 `/server` 命令或动态服务器命令无缝切换服务器。
- **广播间隔:**
自定义 `settings.yml` 中的 `broadcastIntervals` 以控制向玩家通知即将进行的代理重启的频率,从而增强沟通并减少潜在的困惑。
- **插件监控:**
定期使用 `/proxyplugins` 命令监控已安装插件的状态,帮助您快速识别和解决与插件加载相关的问题。
- **颜色代码:**
在 `settings.yml` 中的消息中使用 `&` 符号添加颜色和格式,使公告和通知更具视觉吸引力。
---
**尽情享受 Proxy-Utils 管理您的 Velocity 代理吧!**
---