Guides / Server & Performance

白名单、封禁和管理员权限:那些行为与你预期不符的服务器命令

白名单不会踢出已在线的玩家,/ban 需要一个理由才有用,而管理员权限等级比管理员列表更重要。这些是让服务器所有者头疼的细节。

管理员命令看起来很简单,而且大部分确实如此。但有三种行为并非从语法上就能明显看出,这会导致操作失败。

白名单不会移除已在线的玩家

/whitelist on 从那一刻起开始强制执行列表。任何已经连接的玩家都会保持连接,即使他们不在列表中。要解决这个问题的命令是:

/whitelist reload

reload 会重新读取 whitelist.json 踢出所有不在列表中的已连接玩家。开启白名单后就置之不理是经典的错误。

还有两个细节:

  • /whitelist add <name> 会通过 Mojang 的 API 解析名称,因此服务器需要处于在线模式并已连接。离线服务器必须手动编辑 whitelist.json,填入正确的 UUID。
  • 管理员默认会绕过白名单,这就是为什么你自己的账户永远无法证明白名单有效。请使用第二个账户进行测试。

/ban 需要一个理由,而 /ban-ip 是另一个列表

/ban <player> [reason]
/ban-ip <address|player> [reason]

理由是可选的,但省略它是一个错误——这是被封禁的玩家会看到的内容,也是未来的你在 /banlist 中试图回忆原因时会读到的内容。如果没有理由,条目只会显示“被管理员封禁”。

/ban/ban-ip 会写入不同的文件banned-players.jsonbanned-ips.json)。解除一个封禁并不会清除另一个,这是“已解除封禁”的玩家仍然无法连接的常见原因。请同时使用 /pardon/pardon-ip

管理员权限等级,而不仅仅是管理员列表

/op 默认授予等级 4,这是完全访问权限,包括 /stop。这四个等级是真实存在的,可以在 server.properties 中通过 op-permission-level 进行设置:

等级授予权限
1绕过出生点保护 (spawn protection)
2大部分作弊命令、命令方块
3玩家管理——踢出、封禁、授予管理员权限
4所有权限,包括 /stop

需要 /kick/ban 的版主需要等级 3,而不是 4。将等级 4 授予所有协助管理的人,是服务器因账户被盗而遭到破坏的原因。

function-permission-level 是独立的,它控制着数据包函数可以运行的权限——将其保持在 2 而管理员权限等级为 4 是“我的函数什么也没做”的常见原因。

列表命令

/banlist players/banlist ips 和普通的 /banlist 都存在,如果从服务器终端运行,它们会将内容打印到控制台而不是聊天中。/whitelist list 只显示名称,不显示 UUID——当你需要检查身份时,请阅读 whitelist.json

Server Admin Command Builder 中,你可以按照正确的参数顺序构建这些命令,它涵盖了 ban、ban-ip、pardon、kick、op、deop 和 whitelist 等命令,只需一个表单即可完成。

服务器管理命令生成器 →

More guides

Browse all →

还想找别的我的世界工具?

一整套在浏览器里运行的生成器、查看器和转换器,全部免费。