# VelocityRouter
> 动态地根据玩家的权限和他们连接的主机名,在您的 Minecraft 网络中路由玩家。
---
## 概述
**VelocityRouter** 是一个用于 Velocity 代理服务器的强大路由插件,它根据:
* 他们加入的主机名,
* 他们的权限,
* 以及当没有权限匹配或服务器离线时,退回到默认服务器。
将玩家引导到特定的后端服务器。
这使您可以轻松创建复杂的路由规则,用于不同的玩家群体,例如 VIP、工作人员或普通用户。
---
## 功能
* **基于权限的路由**
根据玩家分配的权限,将玩家引导到不同的服务器。
* **基于主机名的路由**
配置特定于玩家连接的主机名或域名的路由规则。
* **回退服务器**
为每个主机名指定默认服务器,如果没有任何权限路由匹配或目标服务器离线,则使用该服务器。
* **自定义拒绝消息**
向没有访问某些服务器权限的玩家显示个性化消息。
* **通配符支持**
使用通配符 (`*`) 主机名来定义全局回退路由规则。
---
## 示例配置
```yaml
routes:
# 路由 1:默认通用访问
- hostname: "play.example.com"
defaultServer: "lobby"
permissionRoutes: [] # 此主机名没有特殊的权限路由
# 路由 2:VIP 访问
- hostname: "vip.example.com"
defaultServer: "vip_lobby" # 如果没有权限匹配或 VIP 服务器离线,则回退
permissionRoutes:
- permission: "velocity.vip.access"
targetServer: "vip_server"
denyMessage: "您需要 VIP 等级才能访问此服务器。 "
# 路由 3:员工访问
- hostname: "staff.example.com"
defaultServer: "admin_lobby" # 如果没有权限匹配,则回退
permissionRoutes:
- permission: "velocity.staff.access"
targetServer: "staff_server"
denyMessage: "您没有员工访问权限。 "
# 路由 4:全局回退(通配符主机名)
- hostname: "*" # 匹配上面未明确配置的任何主机名
defaultServer: "lobby"
permissionRoutes: []
```
---
## 工作原理
1. 当玩家连接时,**VelocityRouter** 会检查他们使用的主机名。
2. 它会查找匹配的路由配置。
3. 在该路由中,它会检查玩家是否有资格获得任何基于权限的路由。
4. 如果找到匹配的权限路由并且目标服务器在线,则会将玩家转发到该服务器。
5. 如果没有任何权限匹配或服务器离线,则会将玩家发送到路由的 `defaultServer`。
6. 如果玩家没有匹配的权限路由的权限,则会显示配置的 `denyMessage`。