- 版权类型
- 原创
- 插件中文名称
- 强制主机名
- 插件英文名称
- ForceHosts
- 支持的核心(代理端)
- Velocity
- 语言支持
- 中文(简体)
- 适配版本(Java)
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
- 1.12
- 1.11
- 1.10
- 1.9
- 1.8
- 1.7
[MD]
✨ ForceHosts - 强制主机名加入服务器 ✨
[/MD]
插件简介
ForceHosts 是一款 Velocity 代理插件,用于强制客户端使用指定的主机名连接服务器。该插件可以有效防止玩家绕过指定的域名直接使用IP地址或其他未经授权的域名连接服务器,还可有效防止扫服机器人入侵服务器。
核心功能
[MD]
| 功能分类 | 详细说明 |
|----------------|--------------------------------------------------------------------------|
| 🚫 ping 请求阻止| 阻止不在白名单中的主机名进行 ping 请求|
| ⛔ 连接阻止| 阻止不在白名单中的主机名进行连接|
| 📢 防压测| 支持防频繁刷新功能,防止恶意压测|
| ✉️ 自定义消息| 支持自定义踢出消息和日志消息|
| 🔄 热重载| 支持热重载配置文件|
[/MD]
安装步骤
1. 将 `forcehosts.jar` 文件放入 Velocity 服务器的 `plugins` 目录2. 重启或启动 Velocity 服务器
3. 插件会在第一次运行时自动生成配置文件
4. 编辑生成的 `config.yml` 和 `messages.yml` 文件以满足你的需求
5. 使用 `/forcehosts reload` 命令重载配置
配置指南
[MD]
### 配置文件
```yaml
# 允许的连接主机名列表
hosts:
- example.com
- play.example.com
# 是否记录ping请求的调试信息
logPing: true
# 是否记录连接阻止日志
logConnection: true
# 防频繁刷新配置
antiSpamRefresh:
# 是否启用防频繁刷新功能
enabled: true
# 时间窗口(秒),在此时间内计算ping次数
timeWindow: 10
# 在时间窗口内允许的最大ping次数
maxPings: 10
# 超过限制后的阻止时间(秒)
blockDuration: 30
# 是否记录防频繁刷新日志
logBlock: true
```
### 消息配置文件
```yaml
# 踢出消息
kick-message: '&c你必须通过正确的主机名连接服务器!'
# ping被阻止消息
ping-blocked: '&c阻止了来自 {} 的ping请求,使用了无效主机名: {}'
# 连接被阻止消息
connection-blocked: '&c阻止了来自 {} 的连接,使用了无效主机名: {}'
# 防频繁刷新阻止消息
spam-blocked: '&c由于频繁请求,您的IP已被临时阻止: {}'
# 重载成功消息
reload-success: '&a配置已成功重载!'
# 重载失败消息
reload-failed: '&c重载配置时发生错误: {}'
# 命令用法
command-usage: '&e用法: /forcehosts reload - 重新加载配置'
# 插件初始化消息
plugin-initialized: '&aForceHosts插件已初始化!'
```
[/MD]
命令
- /forcehosts reload - 重新加载配置文件 (权限:
forcehosts.reload)
兼容性说明
- Velocity 3.0.0 或更高版本