离线通行证熔炉

离线通行证熔炉

Offline Pass lets Forge 1.20.1 servers allow offline players while keeping online-mode enabled. Offline Pass 允许 Forge 1.20.1 服务器在开启正版验证时放行离线玩家

Offline Pass

English | 简体中文

Offline Pass 是一个极简的服务端 Forge 1.20.1 模组,允许在 online-mode=true 开启的情况下,让选定的离线客户端加入服务器。

它适用于私人或受信任的服务器,希望在为正版用户名保留正版认证的同时,仍允许非正版用户名加入。

功能

  • 保持服务器 online-mode=true 状态。
  • 正版用户名继续走正常的在线模式登录流程。
  • 为非正版用户名分配离线 UUID,并继续 Forge 登录协商。
  • 默认情况下,离线玩家不能使用属于正版 Minecraft 账号的用户名。
  • 支持强制离线用户名列表,用于应始终使用离线身份的名称。
  • 向玩家发送简单的登录身份提示。
  • 提供英文和简体中文的游戏内消息。

安全警告

Offline Pass 不会验证离线玩家。

它不提供账号注册、密码登录、身份所有权证明、防冒充保护、数据库集成、权限集成或 EasyAuth 风格的账号保护。

任何能够使用允许的离线用户名连接的人都可以使用该离线身份。默认情况下,Offline Pass 会阻止离线玩家使用正版用户名。如果你将某个正版用户名添加到强制离线列表,则明确允许离线玩家使用该名称。请仅在理解此风险的情况下使用此模组,最好是在私人或受信任的服务器上。

工作原理

  • 如果用户名是正版,玩家将继续进行正常的在线模式认证。
  • 如果用户名不是正版,玩家将被允许加入并分配一个离线 UUID。
  • 如果你想让离线玩家使用某个正版用户名,请将该用户名称添加到 config/offlinepass/forced-offline-names.txt 或使用下面的命令。该名称此后将始终使用离线身份。

Offline Pass 会将获准的离线玩家返回到 Forge 的正常登录协商流程,因此模组频道握手仍会进行。

安装

  1. 下载 Offline Pass 的 jar 文件。
  2. 将 jar 文件放入服务器的 mods/ 文件夹。
  3. 在 server.properties 中保持 online-mode=true。
  4. 启动或重启服务器。

此模组仅需安装在服务端。客户端无需安装。

配置

文件:

config/offlinepass/premium-cache.tsv
config/offlinepass/forced-offline-names.txt

premium-cache.tsv 存储用户名状态结果。forced-offline-names.txt 存储应始终使用离线身份的用户名。

命令

需要权限等级 3:

/offlinepass forcedoffline add <name>
/offlinepass forcedoffline remove <name>
/offlinepass forcedoffline list
/offlinepass forcedoffline reload

add 和 remove 会立即更新内存和 forced-offline-names.txt 文件。reload 仅在服务器运行时手动编辑了文件时才需要使用。

从源码构建

./gradlew build

生成的 jar 文件位于:

build/libs/offlinepass-0.1.0.jar

许可证

MIT License。

致谢

实现过程中得到了 Codex 的协助。


Offline Pass 中文说明

English | 简体中文

Offline Pass 是一个极简 Forge 1.20.1 服务端模组,用于在服务器保持 online-mode=true 的情况下,允许部分离线客户端进入服务器。

它适合私人服务器或可信服务器:正版用户名继续走正版验证,非正版用户名走离线身份。

功能

  • 保持服务器 online-mode=true。
  • 正版用户名继续走正常正版登录流程。
  • 非正版用户名使用离线 UUID,并继续 Forge 登录协商。
  • 默认情况下,离线玩家不能使用任何正版 Minecraft 账号已经占用的用户名。
  • 支持强制离线用户名名单。
  • 玩家进服后提示当前是正版身份还是离线身份。
  • 游戏内提示支持英文和简体中文。

安全警告

Offline Pass 不会对离线玩家做鉴权。

它不提供账号注册、密码登录、身份所有权证明、顶号防护、数据库集成、权限集成,也不是 EasyAuth 账号系统的替代品。

任何能使用某个允许的离线用户名连接服务器的人,都可以使用该离线身份。默认情况下,Offline Pass 会避免离线玩家使用正版用户名。如果你把某个正版用户名加入强制离线名单,就等于明确允许离线玩家使用这个名字。请只在理解这些风险的情况下使用,最好用于私人或可信服务器。

工作方式

  • 如果用户名是正版,玩家继续走正常 online-mode=true 正版验证。
  • 如果用户名不是正版,玩家会使用离线 UUID 进入。
  • 如果你确实想让离线玩家使用某个正版用户名,需要将该用户名加入 config/offlinepass/forced-offline-names.txt,或使用下面的命令添加。加入后该用户名总是走离线身份。

离线玩家被放行后仍会回到 Forge 正常登录协商流程,因此模组频道握手仍会执行。

安装方式

  1. 下载 Offline Pass 的 jar 文件。
  2. 将 jar 文件放入服务器 mods/ 文件夹。
  3. 保持 server.properties 中的 online-mode=true。
  4. 启动或重启服务器。

这是服务端模组,客户端不需要安装。

配置

文件:

config/offlinepass/premium-cache.tsv
config/offlinepass/forced-offline-names.txt

premium-cache.tsv 保存用户名状态结果。forced-offline-names.txt 保存强制使用离线身份的用户名。

命令

需要权限等级 3:

/offlinepass forcedoffline add <name>
/offlinepass forcedoffline remove <name>
/offlinepass forcedoffline list
/offlinepass forcedoffline reload

add 和 remove 会立即更新内存和 forced-offline-names.txt。只有在服务器运行时手动编辑文件后,才需要使用 reload。

从源码构建

./gradlew build

jar 输出位置:

build/libs/offlinepass-0.1.0.jar

许可证

MIT License。

鸣谢

实现由 Codex 协助完成。