
OpLimitBypass
服务器端模组,将绕过玩家上限的管理员排除在最大玩家数之外。
简介
原版游戏允许具有 bypassesPlayerLimit 权限的 OP 加入已满的服务器,但他们连接后仍会占用一个 max-players 名额。在一台上限为 20 的服务器上,三名此类 OP 只会给其他玩家留下 17 个名额。
OpLimitBypass 将他们排除在计数之外,因此上限会严格按照配置适用于其他所有玩家。当 max-players=20 时,可以同时在线 20 名玩家以及 3 名具有绕过权限的 OP。白名单和封禁检查不受影响。
这是一个服务端模组。客户端无需安装。
特性
玩家上限
- 具有
bypassesPlayerLimit权限的 OP 不再占用名额 - 显示的玩家数量与执行的规则一致,因此服务器满员时不会显示
23/20 max-players可以在运行时更改,无需重启
维护模式
- 关闭服务器,只允许具有绕过权限的 OP 和指定的允许列表中的玩家进入
- 断开不再被允许的玩家,并显示
0/0及维护 MOTD - 允许列表存储在
oplimit-maintenance.json中,重启后仍然保留
OP 标志管理
- 直接读取和写入
ops.json中的bypassesPlayerLimit,即时生效 - 原版只在启动时读取
ops.json,并且没有针对此标志的命令
本地化
- 支持英语和日语
- 消息以翻译键的形式发送,并带有服务端解析的回退机制,因此客户端会尽可能显示自己语言的内容
命令
所有命令都需要权限等级 4。
| 命令 | 描述 |
|---|---|
/oplimit status |
当前上限、在线人数和可用名额 |
/oplimit reload |
从磁盘重新读取 ops.json 和维护列表 |
/oplimit list |
列出设置了 bypassesPlayerLimit 的 OP |
/oplimit bypass <player> |
显示某玩家的标志 |
/oplimit bypass <player> <true/false> |
设置标志并立即生效 |
/oplimit max |
显示 max-players |
/oplimit max <n> |
更改 max-players,直到下次重启(允许 0) |
/oplimit maintenance |
显示维护模式是否开启 |
/oplimit maintenance <on/off> |
进入或退出维护模式 |
/oplimit maintenance list |
显示维护允许列表 |
/oplimit maintenance <add/remove> <player> |
编辑维护允许列表 |
不带参数运行 /oplimit 会显示状态。
需求
| Minecraft | 加载器 | 必需依赖 |
|---|---|---|
| 1.12.2 | Forge | MixinBooter 10.6+ |
| 1.20.1 | Forge 47+ | — |
Forge 1.20.1 已内置 Mixin,因此无需额外依赖。
备注
- 维护模式开启期间,服务器显示
0/0:被允许的玩家同样不占用名额。 - 维护模式状态保存在内存中。重启服务器会退出维护模式,
max-players也会恢复为server.properties中的值。允许列表不受影响。 - 启用维护模式会断开执行命令的 OP,除非他们被允许留下。从控制台执行不受影响。
- 当只有具有绕过权限的 OP 在线时,显示的人数会为
0,如果你还运行了在零玩家时挂起服务器的模组,这点需要注意。 - 在 1.12.2 上,
/list的人数来自本模组,但仍会列出所有玩家名称,因此两者可能不一致。 - 在 1.12.2 上,运行
/op或/deop会用原版对标志的看法重写ops.json。之后需要用/oplimit bypass <player> true重新应用。
源代码
源代码、问题追踪器和完整文档:GitHub
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。