关于MC服务器权力系统的个人感悟
声明
纯属有感而发,资深服主和大佬勿喷,不过欢迎指正!有一定科普内容,私以为并不是胡编乱造,适宜新手。另外需要注意,权力系统在服务器可有可无,无政府服务器之类的都可以不设置权力系统。
正文
原版服
在尝试初次搭建服务器的时候,权限组是必不可少的,权限组,顾名思义就是将权限划分给不同的组。
Minecraft原版中并不是没有权限组。原版的权限就是OP。
在原版服务器中,无论是服主还是管理员,只要是OP,那就是拥有最高管理权限(注:不是最高权限)。
原版服务器的权力结构大体为:服务器后台>OP>玩家。
这里的服务器后台不是原版独有的,服务器后台其实就是服务器本身!在后台,有权输入任何指令,如果指令无法解决,可以直接改配置文件或内部数据。因此,由服主掌握的服务器后台,权力是比在游戏内行使职权的管理员OP大的。
如果服务器后台同时被多个人掌握怎么办?那这个服务器就是有多个服主。这种情况一般通过现实合同以及法律在现实世界作出规定,而游戏里,只要控制后台就是权力最大!
原版中,服务器对OP还有着4个等级的划分(基岩版和JAVA版不同,这里说的是JAVA版)。
1级OP:绕过服务器原版的出生点保护系统,可以破坏出生点地形。
2级OP:使用原版单机一切作弊指令(除了/publish,因为其只能在单机使用,/debug也不能使用)。
3级OP:可以使用大多数多人游戏指令,例如/op,/ban(/debug属于3级OP使用的指令)。
4级OP:使用所有命令,可以使用/stop关闭服务器。
好玩的事,默认情况下,使用/op权限设置的管理员权限等级为4,你可以通过在server.properties文件中修改op-permission-level项来改变/op设置的op的权限等级。
你还可以通过修改op.json文件,直接改变玩家的权限等级(当然要重启服务器后生效)。如果你不想让其余人关闭你的服务器(包括管理员),那就先给自己op,然后把自己的op等级调为4,再把op-permission-level设为3后重启服务器就行了。
此外,命令方块的权限等级是2,也就是说命令方块无权封禁玩家,任免OP以及关闭服务器。
这当然是原版的权力系统,但现在可不是原版服的天下!
插件服
目前来说,插件服大概是最火的服务器类型,因为玩家只需要一个原版客户端就能进服游玩,而服务器的内容与原版相比丰富了许多。许多小游戏服务器都是插件服。
在插件服中,为了方便管理玩家的权限,服务器的权力系统并不是OP权限,而是权限组插件。
常见的权限组插件有:PermissionEX(PEX)和LuckyPerms(LP)
它们的功能就是通过配置文件设置权限组,对每个组进行严格的权限划分。一般配合ess基础插件完成权限节点的调用。
我个人喜欢的权限组划分为:Owner>Admin>VIP>Player,当然权限组是完全自定义的,因此无客观标准。需要注意的是,权限组和OP是两个不同的权力系统。
在权限组插件有这么一条:allow-op。开启这一条,那么OP权限将无视权限组,无论玩家身处哪个组,只要有OP就能使用对应权限。而关闭这一条,OP就作废了。一旦不允许OP存在,权限组就是服务器唯一权力系统。而Owner组和Admin组的分开,就便利了服主对管理员职权的限制。不再像原版一样都具有最高管理权限。
最明显的就是,你可以设置一个管理员,让他只能封禁和解封玩家,其余和正常人无异。这样你就不用担心管理员越级或开创造破坏服务器秩序了。
而由于ess将每个权限都进行了细化,所以这些权限将不受原版管辖。就好比上文所述的,明明都能够使用/ban这一原版中3级OP才能使用的命令了,但/gamemode这一2级OP就能执行的命令却用不了。而明明没有用/OP给予其op权限,但却能使用本应该有op才能执行的命令。
因此,权限组无疑是插件服权力系统的关键。
当然,mc肯定也不是只有插件服,众所周知,mc的热度绝大部分都来自于玩家社区,而玩家智慧的结晶便是mod。
模组服
模组服的权力系统就没有插件服那么强制了,它可有可无。如果你不需要很细化权力,完全能够使用原版的OP权力系统。
但是,不满意OP系统怎么办?
玩家社群的力量是巨大的,mod可以办到许多事情,插件能做到的,mod一定可以做到,而且它能做得更好!
Crafttweaker和gamestage及其附属mod加上FTB系列配合,就能够通过zs脚本打造自己的权力系统。这是1.12.2模组服务器的个人思路,更高版本或低版本也有替代方法。
但是crt和FTB似乎并不能限制住OP,拥有OP权限的玩家似乎能不受脚本约束。不过这个问题很好解决,那就是不设置OP。
FTB就宛如模组服的ess,它也将权限细化了,也能够像pex一样编写权限组,因此完全能够做到让非OP玩家执行OP命令。如此一来,OP就没有存在的必要了。
以上就是新人服主在搭建服务器时的个人摸索,分享一下。有错误希望大佬指出。