HAGoSecurity - Minecraft服务器域名安全校验插件,用于限制玩家只能通过指定域名连接服务器。

原创 开源 HAGoSecurity - Minecraft服务器域名安全校验插件,用于限制玩家只能通过指定域名连接服务器。 1.0.0

请登录后获取
版权类型
原创
插件中文名称
HAGo域名校验
插件英文名称
HAGoSecurity
原帖地址
https://github.com/Kaipigg/HAGoSecurity
支持的核心(服务端)
  1. Spigot
  2. Paper
  3. Leaves
  4. 其他核心
语言支持
中文(简体)
适配版本(Java)
  1. 26.x
  2. 1.21
  3. 1.20
  4. 1.19
  5. 1.18
  6. 1.17
  7. 1.16
  8. 1.15
  9. 1.14
  10. 1.13
  11. 1.12
  12. 1.11
  13. 1.10
  14. 1.9
  15. 1.8
本插件免费开源 10金粒收个跑腿费 ,可在GitHub免费下载 ,记得点点Star哦~

[MD] # HAGoSecurity Minecraft服务器域名安全校验插件,用于限制玩家只能通过指定域名连接服务器。 ## 功能特性 - **域名白名单** - 只允许通过指定域名连接服务器 - **域名黑名单** - 禁止特定域名连接 - **玩家白名单** - 允许指定玩家通过IP地址直接连接 - **连接频率限制** - 防止暴力破解和扫描攻击 - **IP拉黑** - 高频失败自动拉黑IP地址 - **日志记录** - 记录所有连接尝试和拦截信息 [/MD]
配置文件:
代码:
# DomainSecurity 域名安全校验插件配置文件
#
# 重要说明:
# - 插件校验的是服务器实际收到的连接地址(来自Minecraft握手包)
# - 如果您的域名配置了SRV记录解析(如 mc.example.com 解析到 mc1.example.com)
#   请在 allowed-domains 中填写 SRV记录指向的目标域名(如 mc1.example.com)
# - 客户端输入的域名经过DNS SRV解析后,服务器收到的是解析后的地址
# - 示例:若您设置了 _minecraft._tcp.mc.example.com SRV记录指向 mc1.example.com
#   玩家输入 mc.example.com 连接时,服务器收到的是 mc1.example.com
#   因此需要将 mc1.example.com 添加到 allowed-domains 中

# 域名校验配置
domain:
  # 放行的域名列表(精确匹配)
  # 注意:如果使用了SRV解析,请填写SRV记录指向的目标域名
  # 例如:mc.example.com 的SRV记录指向 mc1.example.com,则应填写 mc1.example.com
  allowed-domains:
    - "mc.example.com"
    - "mc.example.net"
    - "mc2.example.com"
 
  # 禁止的二级域名列表(直接踢出)
  # 黑名单中的域名优先级高于白名单
  blocked-domains:
    - "mc1.example.com"

# 踢出弹窗配置
kick-message:
  # 是否启用踢出功能
  enabled: true
 
  # 踢出弹窗标题(第一行,加粗红色)
  title: "§c§lServer 安全拦截"
 
  # 分隔线
  separator: "---------------------------------------"
 
  # 踢出原因(红色带叉号)
  reason: "§c✘ 连接地址无效"
 
  # 详细说明(灰色)
  description:
    - ""
    - "§7您使用了错误的连接地址"
    - "§7当前玩家:§e%player%"
    - "§7当前连接地址:§e%host%"
    - ""
    - "§b☄ 如何解决?"
    - "§7请使用服务器指定的域名连接"
 
  # 底部分隔线
  footer-separator: "---------------------------------------"

# 玩家白名单配置
whitelist:
  # 允许使用IP地址登录的玩家列表
  # 这些玩家可以直接通过IP地址(如 192.168.1.100)连接服务器
  # 注意:普通玩家通过IP连接会被拦截
  allowed-players:
    - "AdminPlayer"
    - "Developer"

# 连接频率限制配置
rate-limit:
  # 是否启用频率限制
  enabled: true
 
  # 时间窗口(秒)- 在这个时间内统计失败次数
  time-window-seconds: 10
 
  # 最大失败次数 - 超过此次数将被拉黑
  max-failures: 5
 
  # 拉黑时长(分钟)
  blacklist-duration-minutes: 5

# 日志配置
logging:
  # 是否记录拦截日志
  log-blocked: true
 
  # 是否记录放行日志
  log-allowed: true
 
  # 是否记录拉黑日志
  log-blacklisted: true

[MD] ## 安装方法 1. 将 `DomainSecurity-1.0.0.jar` 放入服务器的 `plugins` 目录 2. 启动服务器,插件会自动生成配置文件 3. 根据需要修改 `plugins/DomainSecurity/config.yml` ## 配置说明 ### 域名配置 ```yaml domain: # 放行的域名列表(精确匹配) allowed-domains: - "mc.example.com" - "mc.example.net" # 禁止的域名列表(直接踢出) blocked-domains: - "mc1.example.com" ``` **重要:关于SRV解析** 如果您的域名配置了Minecraft SRV记录解析,需要注意以下事项: - 插件校验的是服务器实际收到的连接地址(来自Minecraft握手包) - 客户端输入的域名经过DNS SRV解析后,服务器收到的是解析后的地址 - 示例:若您设置了 `_minecraft._tcp.mc.example.com` SRV记录指向 `mc1.example.com` - 玩家输入 `mc.example.com` 连接时,服务器收到的是 `mc1.example.com` - 因此需要将 `mc1.example.com` 添加到 `allowed-domains` 中 ### 玩家白名单 ```yaml whitelist: # 允许使用IP地址登录的玩家列表 allowed-players: - "AdminPlayer" - "Developer" ``` 白名单中的玩家可以直接通过IP地址连接服务器,不受域名限制。 ### 连接频率限制 ```yaml rate-limit: # 是否启用频率限制 enabled: true # 时间窗口(秒) time-window-seconds: 10 # 最大失败次数 max-failures: 5 # 拉黑时长(分钟) blacklist-duration-minutes: 5 ``` 同一IP在10秒内校验失败5次将被自动拉黑5分钟。 ## 命令 | 命令 | 描述 | 权限 | |------|------|------| | `/domainsecurity` | 查看帮助 | `domainsecurity.admin` | | `/domainsecurity reload` | 重新加载配置 | `domainsecurity.admin` | | `/domainsecurity export` | 导出拉黑IP日志 | `domainsecurity.admin` | | `/domainsecurity blacklist` | 查看拉黑列表 | `domainsecurity.admin` | | `/domainsecurity unban <IP>` | 解除指定IP拉黑 | `domainsecurity.admin` | ## 权限 | 权限 | 描述 | 默认 | |------|------|------| | `domainsecurity.admin` | 允许管理插件 | OP | ## 技术说明 - 基于 Paper API 1.21.1 开发 - 支持 Java 21+ - 兼容 Spigot/Paper 服务端 ## 许可证 MIT License ## 构建 ```bash mvn package ``` 生成的JAR文件位于 `target/DomainSecurity-1.0.0.jar` [/MD]
By Kaipigg with AIGC 插件本名为HAGoSecurity 但编写为DomainSecurity

MOTD
作者
Kaipig锴猪
价格
10.00金粒
下载
3
查看
117
首次发布
最后更新

评分

0.00 星 0 次评分
后退
顶部 底部