
认识权限系统。
很多新手服主第一次开服都会遇到一个问题,为什么我给了朋友管理员权限他却什么都做不了,其实Minecraft原版就有非常基础的权限设计,但那是单人游戏或者局域网联机时代的东西了,真正开个几十人的服务器必须靠插件。我记得自己最早开服时直接用OP指令,结果朋友一激动把我的家给拆了,从那以后我才明白权限管理有多重要。
安装权限插件。
目前主流的权限管理插件是LuckPerms,它比老旧的GroupManager更稳定也更灵活。你可以在Spigot或Paper的插件目录里下载最新版本,然后放到服务器的plugins文件夹里,重启服务端就会自动生成配置文件。注意不要贪多,只装一个权限插件就够了,装两个会冲突导致服务器崩溃。我第一次装的是PermEx,结果和Essentials打架,花了一下午才排查出来。
创建权限组。
启动服务器后在控制台或者游戏内输入/lp creategroup 组名,比如创建默认组default,创建管理员组admin,创建建筑组builder。每个组代表一类玩家,默认组是所有新玩家自动归属的。你需要先设置默认组的权限,比如允许走路交互,禁止破坏方块,然后给管理员组更高的权限。我记得当初把admin组直接给了所有权限,结果第二天就被熊孩子钻了空子,所以一定要精确控制。
分配具体权限。
这是最关键的一步,命令格式是/lp group 组名 permission set 权限节点 true,比如/lp group builder permission set minecraft.place true就允许建筑组放置方块。常见权限节点包括minecraft.break(破坏)、minecraft.interact(交互)、essentials.fly(飞行)、worldedit.*(创世神)等等。你可以在LuckPerms的Wiki上查到完整列表。建议先给少的权限,慢慢添加,不要一次性给满。我曾经给建筑组加了所有方块放置权限,结果他们把基岩矿钻石矿石全拆了,哭笑不得。
添加成员到组。
用/lp user 玩家名 parent set 组名,比如/lp user Steve parent set admin,就把Steve加到管理员组。如果想让玩家同时属于多个组,可以用parent add。注意命令区分大小写,玩家名要准确。很多新手会漏了这一步,给完权限却发现玩家没生效,其实是忘了设置父级组。另外最好在游戏里用/lp user 玩家名 info查看当前权限,确认无误。
测试与调整。
给完权限后一定要亲自测试,用另一个账号登录,或者让朋友帮忙试试。检查是否能破坏指定方块是否能用指令是否能看到隐藏区域。我习惯先在测试服务器上模拟几轮,确认没有问题再应用到正式服。常见问题包括权限没生效,原因是服务器没有重启或者插件缓存,输入/lp sync可以强制同步。另外注意Essentials的权限节点有时会和原版混淆,比如fly权限需要essentials.fly而不是minecraft.fly。
常见问题解决。
如果玩家说没有权限,首先检查他是否在正确的组里,其次检查权限节点拼写是否正确,最后看有没有其他插件冲突。例如WorldGuard的区域保护会覆盖方块破坏权限,即使你有破坏权限也拆不掉被保护的方块。还有一个坑是Vault经济插件如果没有安装,一些依赖Vault的权限节点会失效。我遇到过最夸张的一次是写错了一个点,把minecraft.break写成了minecraft.brek,排查了半小时。
最后一段。
学会了给成员权限之后,你的服务器才真正拥有了秩序,朋友可以放心地一起玩,陌生人也不会乱搞。记住权限是一把双刃剑,给多了容易失控,给少了玩家抱怨,找到平衡点需要你在实际运营中不断微调。当你看到大家在自己的世界里安心建造时,那种成就感会让你觉得所有摸索都是值得的。
相关文章