IpacWhitelist

⭐ — (6 endorsements) 📥 2,685 downloads 📌 v4.3.1 📅 7/26/2023
🟡 Updated this year

By ApliNi · management

⬇ Download Mod Source: Modrinth ↗ 📅 Updated: 7/19/2026 📅 Created: 7/26/2023

🔍 Analysis

  • 👍 0.2% endorsement rate
  • 🏆 #55 of 131 management mods in this game by downloads

📋 About This Mod

✅ `ipBlacklist` 地址格式使用服务端提供的地址, 格式为 `/127. 0. 0. 1`, `/0:0:0:0:0:0:0:1`. 暂时没有支持端口.
✅ `addressConfig` 用于限制玩家通过服务器的哪个线路 (域名) 或 IP 连接服务器, 支持端口.
✅ 要注意其中域名是有可能被伪造的, 并且无法获取 SRV 记录名称, 只能得到 SRV 记录中的域名和端口.

# IpacWhitelist 带有许多功能的白名单插件. 标签: \ - 同时支持正版账号/离线账号/Geyser账号. - 支持查看/导出数据 下载: ](https://modrinth.com/plugin/ipacwhitelist) -- ](https://github.com/ApliNi/IpacWhitelist/actions) --- <details><summary>更新和数据迁移说明</summary> ## v4 更新 v4 版本改动特别大, 建议不要从旧配置中复制内容到新配置, 因为有很多变量名被修改. 此版本对插件进行完全重构, 添加新功能并优化性能, 属于不兼容更新. 在发布正式版后, 建议所有服主更新到此版本, 这需要一些时间来重新修改配置 ### 从 v3 导入数据 1. 在 v3 版本控制台中输入指令: `/wl list * ALL` 2. 复制这部分的完整日志内容, 到 IpacWhitelist 插件目录下的 `Data.txt` (需要自己创建) 3. 安装 v4 版本, 根据服务器需求修改配置, 比如玩家名称检查正则 4. 在 v4 版本运行指令 `/wl importData` 5. 检查内容是否识别正确 ### 从任何白名单插件导入数据 根据其他插件的账户类型分别复制出白名单中的玩家和黑名单中的玩家. 通过任意高级的文本编辑器在玩家 UUID 或名称前添加指令: 1. 指令格式: `/wl add <UUID|NAME>` 2. 指令格式: `/wl ban <UUID|NAME>` 然后将带有换行的指令复制到控制台, 即可一次性导入完毕 </details> ### 注意事项 - 新的版本添加了完整的指令补全能力, 当显示 `....` 时代表这里支持通过输入的内容进行补全. 补全内容可以直接在指令中使用, 包括控制台中补全内容带反斜杠的情况 - 此版本的配置顺序与插件进行数据处理的流程顺序一致 - 此版本许多功能基于"事件程序", 它将被用于发送消息, 以及调度各种功能. 代替了旧版杂乱的功能配置 ```yaml # 以 "on" 开头, "Event" 结尾的配置均可使用此模板 # kick = 同步踢出玩家, 并显示消息 # cmd = 同步运行控制台命令 # msg = 发送消息给这个玩家 # msgBroadcast = 广播消息给所有玩家 # msgExclude = 广播消息给其他所有玩家 # 对于操作数据的功能尽量使用 UUID 而非 NAME, 防止因为名称冲突而影响数据 # %playerUUID% = 玩家 UUID 36 位字符串 # %playerName% = 玩家名称, 区分大小写 ``` - 此版本准备弃用 Time 为 `-1` 的功能, 这在旧版本代表永远不会过期或等待玩家加入时进行更新 - 对于正版服务器和支持正版以及离线的服务器尽量使用 UUID 而非 NAME --- ### 指令和功能 - `/wl` - 显示指令列表 - `/wl reload` - 重载插件 - `/wl add <Name|UUID>` - 添加到白名单 - `/wl del <Name|UUID>` - 从白名单移出 - `/wl ban <Name|UUID>` - 封禁一个玩家 - `/wl unban <Name|UUID>` - 解除封禁玩家 - `/wl s <Name|UUID>` - 搜索玩家信息 - `/wl info <Name|UUID>` - 显示玩家信息 - `/wl list <Type>` - 查询玩家数据 - `/wl clear PLAYER|TYPE <Name|UUID|Type>` - 清除数据 - `/wl importData` - 导入数据 > 支持使用 32 或 36 位的 UUID. 我们有完整的指令补全支持! #### 操作规范 1. 对于同时支持正版账户和离线账户的服务器, 应始终优先使用 UUID (如果存在), 而非玩家名称. 并且保持开启插件的防止重复数据功能 2. 若需要取消一个玩家的白名单, 可以通过 `del` 和 `ban` 实现, 但这两者有区别: > "取消白名单" 功能目前并没有一个很好的设计, 如果您有建议欢迎提出 1. `del` 会将账户标签标记为 `NOT` 这同时代表数据已被删除. 如果不需要删除玩家数据, 请不要使用此方法 2. `ban` 操作不会修改账户的数据, 同时会防止其他操作影响账户数据, 适合需要保持玩家数据不被改动的情况 3. 清理玩家数据功能最好在服务器重启后使用, 有少部分插件只会在服务器关闭时断开与玩家数据文件的连接 --- ### 参观账户 如果您对此功能没有足够的了解和测试, 不应该随意使用它!! 推荐让参观账户使用观察模式加入服务器, 特别是红石服务器. 因为还无法解决生存模式下玩家碰撞实体的问题. 参观账户是外挂在当前的游戏环境中的, 并不是完美的隔离. 可以配合这些插件使用: - ](https://luckperms.net/) - 权限组插件 - ](https://github.com/ApliNi/IpacPER) - 用于防止参观账户获取成就, 使用观察模式传送功能, 修复安装 OpenInv 后无法使用部分箱子菜单 - ](https://github.com/ApliNi/useTranslatedNames) - 消息过滤/编辑/翻译插件. 可用于防止参观账户收到不必要的消息, 比如可能出现的登录注册消息 - ](https://github.com/YouHaveTrouble/CommandWhitelist) - 命令白名单. 隐藏和防止执行命令 --- ### 地址限制功能 白名单中存在两种地址限制功能, `ipBlacklist` 用于限制玩家的 IP, `addressConfig` 用于限制玩家连接的**服务器地址**. 插件会在玩家加入时同时显示玩家 IP 和玩家使用的服务器地址, 可以直接用于配置. 日志格式为 ` 玩家名称 -> Server`. - `ipBlacklist` 地址格式使用服务端提供的地址, 格式为 `/127.0.0.1`, `/0:0:0:0:0:0:0:1`. 暂时没有支持端口. - `addressConfig` 用于限制玩家通过服务器的哪个线路 (域名) 或 IP 连接服务器, 支持端口. 要注意其中域名是有可能被伪造的, 并且无法获取 SRV 记录名称, 只能得到 SRV 记录中的域名和端口. --- ### 白名单超时 一个简单的配置, 让长时间没有上线的账户被锁定, 需要通过 `/wl add` 指令重置时间才可恢复. 此功能无法直接禁用, 您可以通过将其改为较大的值来防止它被触发. --- ## API 和扩展功能 #### PlaceholderAPI 占位符 - `%iwl_player_type%` - 显示当前玩家类型的内部名称 - `%iwl_player_type(playerName|playerUUID)%` - 显示指定玩家类型的内部名称 - `%iwl_player_type_name%` - 显示当前玩家类型的显示名称, 名称可配置 - `%iwl_player_type_name(playerName|playerUUID)%` - 显示指定玩家类型的显示名称, 名称可配置 --- ## 开发和调试 <details><summary>点击展开这部分内容</summary> #### 数据表 如果你想了解这个插件的运行方式, 最简单的方法是打开数据库, 然后试试各种指令. > 如果数据库软件卡死, 请尝试运行 `/wl reload` | ID | Type | Ban | UUID | Name | Time | Config | |----|------|-----|------|------|------------|--------| | 1 | 0 | 0 | UUID | Name | 1694231705 | JSON | - `ID` - 唯一的自增ID - `Type` - 这个账户的类型: - `0`: `NOT` - 未定义 or 不在白名单中 使用 `/wl del` 时, 插件不会将玩家永久从白名单中移除, 而是将 Type 改为 NOT. 这用于支持账户数据清理以及其他查询功能. - `1`: `VISIT` - 参观账户. 如果开启参观账户, 那么玩家第一次加入时 Type 会从 NOT 转换为 VISIT - `2`: `WHITE` - 在白名单中 将一些非白名单(WHITE) 类型的玩家通过 `/wl add` 设置为白名单时, 根据当前类型运行不同程序... - `4`: `VISIT_CONVERT` - 需要转换的参观账户 当参观账户(VISIT) 被添加到白名单(WHITE) 时, 会为参观账户运行配置中设定的转换程序, 会踢出玩家(此时设置为 VISIT_CONVERT), 并在玩家重新上线后运行剩下的转换程序, 然后再设置为 WHITE. 至此完成参观账户到白名单的转换. 如果为 VISIT_CONVERT 类型的玩家继续运行 `/wl add`, 那么它会重新执行一遍完整的转换程序. - 是的, 没有 `3`. - `Ban` - 这个账户是否被封禁: - `0`: `NOT_BAN` - 没有被封禁 - `1`: `BAN` - 已被封禁: Ban 数据是单独的, 当它为 `BAN` 时会"锁定"大部分功能. 如果账户已被封禁, 则会完全绕过加入部分的代码. 也就是无论 Type 如何, 都不能加入. 如果账户处于 BAN 状态, 则涉及其他数据的操作都不能使用! 比如 `/wl add|del|clear`, `/wl clear VISIT` 也会绕过处于 Ban 状态的参观账户. - `UUID` AND `Name` - 存储玩家的 UUID 和名称. - UUID 使用 36 位(带连字符) 的字符串格式保存在数据库中. - Name 只是字符串 可以在建表时通过配置中的 `sqlite.nameCaseSensitive` 切换此列的大小写敏感. - `Time` - 数据操作的时间戳 这是毫秒级时间戳, 在玩家加入/退出和使用需要修改信息的指令时都会更新为当前时间. 它被用于判断~~账户是否过期(默认4个月)~~, 以及是否达到可以安全删除数据的时间(默认12小时) #### SQLite 直到现在, 我也没有去支持 MySQL 之类的数据库. 我认为它在这个应用里并不实用, 如果我需要去适配群组端, 那么才可能会支持它... 在这个插件里, SQLite 的连接只会在 `/wl reload` 或者关服时被释放, 其余时间都保持

# IpacWhitelist 带有许多功能的白名单插件. 标签: \[白名单, 参观账户, Ban, AuthMe 集成, SQLite, 离线, 正版, Geyser\] - 同时支持正版账号/离线账号/Geyser账号. - 支持查看/导出数据

下载: [[发布版本]](https://modrinth.com/plugin/ipacwhitelist) -- [[开发版本]](https://github.com/ApliNi/IpacWhitelist/actions)

更新和数据迁移说明

## v4 更新 v4 版本改动特别大, 建议不要从旧配置中复制内容到新配置, 因为有很多变量名被修改. 此版本对插件进行完全重构, 添加新功能并优化性能, 属于不兼容更新. 在发布正式版后, 建议所有服主更新到此版本, 这需要一些时间来重新修改配置

### 从 v3 导入数据 1. 在 v3 版本控制台中输入指令: `/wl list * ALL` 2. 复制这部分的完整日志内容, 到 IpacWhitelist 插件目录下的 `Data.txt` (需要自己创建) 3. 安装 v4 版本, 根据服务器需求修改配置, 比如玩家名称检查正则 4. 在 v4 版本运行指令 `/wl importData` 5. 检查内容是否识别正确

### 从任何白名单插件导入数据 根据其他插件的账户类型分别复制出白名单中的玩家和黑名单中的玩家. 通过任意高级的文本编辑器在玩家 UUID 或名称前添加指令: 1. [白名单] 指令格式: `/wl add ` 2. [黑名单] 指令格式: `/wl ban `

然后将带有换行的指令复制到控制台, 即可一次性导入完毕

### 注意事项 - 新的版本添加了完整的指令补全能力, 当显示 `....` 时代表这里支持通过输入的内容进行补全. 补全内容可以直接在指令中使用, 包括控制台中补全内容带反斜杠的情况 - 此版本的配置顺序与插件进行数据处理的流程顺序一致 - 此版本许多功能基于"事件程序", 它将被用于发送消息, 以及调度各种功能. 代替了旧版杂乱的功能配置 ```yaml # [事件程序] 以 "on" 开头, "Event" 结尾的配置均可使用此模板 # kick = 同步踢出玩家, 并显示消息 # cmd = 同步运行控制台命令 # msg = 发送消息给这个玩家 # msgBroadcast = 广播消息给所有玩家 # msgExclude = 广播消息给其他所有玩家 # [变量] 对于操作数据的功能尽量使用 UUID 而非 NAME, 防止因为名称冲突而影响数据 # %playerUUID% = 玩家 UUID 36 位字符串 # %playerName% = 玩家名称, 区分大小写 ``` - 此版本准备弃用 Time 为 `-1` 的功能, 这在旧版本代表永远不会过期或等待玩家加入时进行更新 - 对于正版服务器和支持正版以及离线的服务器尽量使用 UUID 而非 NAME

### 指令和功能 - `/wl` - 显示指令列表 - `/wl reload` - 重载插件 - `/wl add ` - 添加到白名单 - `/wl del ` - 从白名单移出 - `/wl ban ` - 封禁一个玩家 - `/wl unban ` - 解除封禁玩家 - `/wl s ` - 搜索玩家信息 - `/wl info ` - 显示玩家信息 - `/wl list ` - 查询玩家数据 - `/wl clear PLAYER|TYPE ` - 清除数据 - `/wl importData` - 导入数据

> 支持使用 32 或 36 位的 UUID. 我们有完整的指令补全支持!

#### 操作规范 1. 对于同时支持正版账户和离线账户的服务器, 应始终优先使用 UUID (如果存在), 而非玩家名称. 并且保持开启插件的防止重复数据功能 2. 若需要取消一个玩家的白名单, 可以通过 `del` 和 `ban` 实现, 但这两者有区别: > "取消白名单" 功能目前并没有一个很好的设计, 如果您有建议欢迎提出 1. `del` 会将账户标签标记为 `NOT` 这同时代表数据已被删除. 如果不需要删除玩家数据, 请不要使用此方法 2. `ban` 操作不会修改账户的数据, 同时会防止其他操作影响账户数据, 适合需要保持玩家数据不被改动的情况 3. 清理玩家数据功能最好在服务器重启后使用, 有少部分插件只会在服务器关闭时断开与玩家数据文件的连接

### 参观账户 如果您对此功能没有足够的了解和测试, 不应该随意使用它!!

推荐让参观账户使用观察模式加入服务器, 特别是红石服务器. 因为还无法解决生存模式下玩家碰撞实体的问题. 参观账户是外挂在当前的游戏环境中的, 并不是完美的隔离.

可以配合这些插件使用: - [](https://luckperms.net/) - 权限组插件 - [](https://github.com/ApliNi/IpacPER) - 用于防止参观账户获取成就, 使用观察模式传送功能, 修复安装 OpenInv 后无法使用部分箱子菜单 - [](https://github.com/ApliNi/useTranslatedNames) - 消息过滤/编辑/翻译插件. 可用于防止参观账户收到不必要的消息, 比如可能出现的登录注册消息 - [](https://github.com/YouHaveTrouble/CommandWhitelist) - 命令白名单. 隐藏和防止执行命令

### 地址限制功能 白名单中存在两种地址限制功能, `ipBlacklist` 用于限制玩家的 IP, `addressConfig` 用于限制玩家连接的服务器地址. 插件会在玩家加入时同时显示玩家 IP 和玩家使用的服务器地址, 可以直接用于配置. 日志格式为 ` 玩家名称[玩家IP] -> Server[服务器地址]`.

  • `ipBlacklist` 地址格式使用服务端提供的地址, 格式为 `/127. 0. 0. 1`, `/0:0:0:0:0:0:0:1`. 暂时没有支持端口.
  • `addressConfig` 用于限制玩家通过服务器的哪个线路 (域名) 或 IP 连接服务器, 支持端口.
  • 要注意其中域名是有可能被伪造的, 并且无法获取 SRV 记录名称, 只能得到 SRV 记录中的域名和端口.

### 白名单超时 一个简单的配置, 让长时间没有上线的账户被锁定, 需要通过 `/wl add` 指令重置时间才可恢复. 此功能无法直接禁用, 您可以通过将其改为较大的值来防止它被触发.

## API 和扩展功能

#### PlaceholderAPI 占位符 - `%iwl_player_type%` - 显示当前玩家类型的内部名称 - `%iwl_player_type(playerName|playerUUID)%` - 显示指定玩家类型的内部名称 - `%iwl_player_type_name%` - 显示当前玩家类型的显示名称, 名称可配置 - `%iwl_player_type_name(playerName|playerUUID)%` - 显示指定玩家类型的显示名称, 名称可配置

## 开发和调试 [待更新]

点击展开这部分内容

如果你想了解这个插件的运行方式, 最简单的方法是打开数据库, 然后试试各种指令. > 如果数据库软件卡死, 请尝试运行 `/wl reload`

| ID | Type | Ban | UUID | Name | Time | Config | |----|------|-----|------|------|------------|--------| | 1 | 0 | 0 | UUID | Name | 1694231705 | JSON |

- `ID` - 唯一的自增ID

- `Type` - 这个账户的类型:

- `0`: `NOT` - 未定义 or 不在白名单中

使用 `/wl del` 时, 插件不会将玩家永久从白名单中移除, 而是将 Type 改为 NOT. 这用于支持账户数据清理以及其他查询功能.

  • `1`: `VISIT` - 参观账户. 如果开启参观账户, 那么玩家第一次加入时 Type 会从 NOT 转换为 VISIT
  • - `2`: `WHITE` - 在白名单中

将一些非白名单(WHITE) 类型的玩家通过 `/wl add` 设置为白名单时, 根据当前类型运行不同程序... - `4`: `VISIT_CONVERT` - 需要转换的参观账户

当参观账户(VISIT) 被添加到白名单(WHITE) 时, 会为参观账户运行配置中设定的转换程序, 会踢出玩家(此时设置为 VISIT_CONVERT), 并在玩家重新上线后运行剩下的转换程序, 然后再设置为 WHITE. 至此完成参观账户到白名单的转换. [!] 如果为 VISIT_CONVERT 类型的玩家继续运行 `/wl add`, 那么它会重新执行一遍完整的转换程序. - 是的, 没有 `3`.

- `Ban` - 这个账户是否被封禁:

  • `0`: `NOT_BAN` - 没有被封禁
  • - `1`: `BAN` - 已被封禁:

Ban 数据是单独的, 当它为 `BAN` 时会"锁定"大部分功能. 如果账户已被封禁, 则会完全绕过加入部分的代码. 也就是无论 Type 如何, 都不能加入. [!] 如果账户处于 BAN 状态, 则涉及其他数据的操作都不能使用! 比如 `/wl add|del|clear`, `/wl clear VISIT` 也会绕过处于 Ban 状态的参观账户.

  • `UUID` AND `Name` - 存储玩家的 UUID 和名称.
  • - UUID 使用 36 位(带连字符) 的字符串格式保存在数据库中.
  • - Name 只是字符串

可以在建表时通过配置中的 `sqlite.nameCaseSensitive` 切换此列的大小写敏感.

- `Time` - 数据操作的时间戳

这是毫秒级时间戳, 在玩家加入/退出和使用需要修改信息的指令时都会更新为当前时间.

它被用于判断~~账户是否过期(默认4个月)~~, 以及是否达到可以安全删除数据的时间(默认12小时)

#### SQLite

直到现在, 我也没有去支持 MySQL 之类的数据库. 我认为它在这个应用里并不实用, 如果我需要去适配群组端, 那么才可能会支持它...

在这个插件里, SQLite 的连接只会在 `/wl reload` 或者关服时被释放, 其余时间都保持

🤖 AI-enhanced — based on mod data

📊 Mod Details

Game
Minecraft Plugins
Author
ApliNi
Version
4.3.1
Downloads
2,685
Endorsements
6
Category
management
Created
7/26/2023
Updated
7/19/2026
Game Versions
1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4
Tags
management

🔧 How to Install Minecraft Plugins Mods

Download from Modrinth. Use Prism Launcher or drop into your mods folder.

📖 Full step-by-step install guide for Minecraft Plugins →

Visit the official mod page for specific installation instructions for this mod.

🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Plugins commands, item IDs, and more.

❓ Frequently Asked Questions

Which Minecraft Plugins versions does IpacWhitelist support?

The author lists 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20. Other versions may work but are untested by the author.

What is the latest version of IpacWhitelist?

Version 4.3.1, published 2026-07-19 with 2,685 downloads recorded at the source.

Keep browsing — more Minecraft Plugins mods await

📋 All Minecraft Plugins Mods 🏆 Top 25 📂 More management 👤 More by ApliNi 🔎 Similar Mods 🌐 Best management (All Games) 🔀 Check Compatibility ⚖️ Compare Mods 🆕 New Mods