公平竞赛

公平竞赛

验证客户端模组列表以确保游戏公平性

管理

FairPlay

验证客户端模组列表,以保持游戏公平性。FairPlay 专为希望确保客户端运行合法、未修改游戏环境的服务器管理员和玩家设计。

功能

  • 客户端模组列表:若客户端安装了本模组,则列出其激活的客户端模组
  • 模组黑名单:可配置的禁止使用的模组黑名单
  • 自动踢出:可选自动踢出使用黑名单模组或未安装 FairPlay 的玩家
  • 时间灵活性:玩家加入服务器时,可调整模组验证的时间窗口

命令

  • /fairplay:检查服务器是否安装了本模组
  • /fairplay reload:从 JSON 文件重新加载模组配置
  • /fairplay modlist <玩家用户名>:查看某玩家激活的客户端模组(需要该玩家已安装本模组)

配置

FairPlay 通过服务器配置目录下的 fairplay.json 进行配置。文件为常规 JSON 格式,列表值以数组形式保存,当前架构如下:

{
  "configVersion": 2,
  "enabled": true,
  "requiredEnforcementMode": "OFF",
  "whitelistPlayers": ["never_a_cheater"],
  "blacklistPlayers": ["history_of_cheating"],
  "handshakeWindowMS": 3000,
  "modEnforcementMode": "BLACKLIST",
  "modWhitelist": [],
  "modBlacklist": ["meteor-client"]
}

配置选项

  • configVersion:用于迁移的内部架构版本号
  • enabled:FairPlay 的总开关(启用/禁用)
  • requiredEnforcementMode:控制客户端是否需要安装 FairPlay 模组
    • OFF:从不要求安装本模组
    • ALL:要求所有玩家安装本模组
    • WHITELIST:要求除白名单玩家外的所有玩家安装本模组
    • BLACKLIST:仅要求黑名单玩家安装本模组
  • whitelistPlayers:当 requiredEnforcementMode = WHITELIST 时,豁免的玩家
  • blacklistPlayers:当 requiredEnforcementMode = BLACKLIST 时,强制要求的玩家
  • handshakeWindowMS:客户端/服务器模组握手的超时时间,单位为毫秒
  • modEnforcementMode:控制允许哪些客户端模组
    • OFF:不检查客户端模组
    • WHITELIST:仅允许 modWhitelist 中列出的模组
    • BLACKLIST:禁止 modBlacklist 中列出的模组
  • modWhitelist:当 modEnforcementMode = WHITELIST 时,允许的客户端模组 ID
  • modBlacklist:当 modEnforcementMode = BLACKLIST 时,禁止的客户端模组 ID

依赖项

需要 Fabric API

致谢

P3nguinMinecraft