开发教程 【缓更贴】TShock从零开始的使用教学

2019/10/30
4
0
20
Pt.1-3.用户、组与权限的管理
终于讲到了这个令圈内无数dalao头疼的问题,
一般tshock教程更新到这一章意味着就不会咕了
在这里我将尽我全力用最通俗易懂的比喻来讲解这个知识点
用好了,会非常,非常强大
用不好,会非常,非常绝望

那么就开始学习吧!
一、权限
什么叫权限?
我在第一章的时候粗略地提到过对吧...
打个比方,tshock有六个默认组,依次对应的中文和地位如下表
guestdefaultnewadminadmintrustedadminsuperadmin
游客​
默认​
新管理员​
管理员​
受信任管理员​
超级管理员(即超管)​
班外人士​
普通班级成员​
副课课代表​
主课课代表​
班长/副班长等​
老师​
(很真实的对吧......)



什么意思呢?
下面棱镜来给你讲故事
某一天你们班来了个新同学,但是他刚刚来,没有跟你们说,于是一脸惊慌地打量你们,瑟瑟发抖不敢说话,你们也一脸怀疑地看着他。
这意味着这个同学还是个“游客”,只是在班上(就是服务器里),但是没有作为一个班级成员(玩家)的基本权限

然后上课了,老师走进教师:
“同学们,我们班今天迎来了一位新同学,这位同学叫xxxxx,大家欢迎!”
然后你可能还要自我介绍
然后你会被承认为一个正式的班级成员
这个过程就叫“注册”,在班上(服务器里)留下你的信息并获得承认
(只是在服务器里这个过程是主动进行的)
注册之后你就可以过上正常的学生生活了对吧,这意味着你获得了一个“默认”用户组的“账号”,你可以把账号看成一个你作为学生的人设

混着混着,你和班上的同学混到了很好的关系,然后在班干部竞选中直接被老师指派为历史课代表
老师就相当于服务器中的“超管”角色,他有权管理所有学生(玩家)的权限
你现在是历史课代表了,于是就可以在历史课上掌管同学生杀大权了
但是一旦不是历史课你依然是个菜鸡

这就是newadmin,有一定管理权限,但是并不是很全面的管理
在这个岗位上你恪尽职守,坚守底线,老师很看好你,于是把你指派为数学课代表
看,你升官了
于是你在班上有了一定的人气和地位
班上的同学都很看好你
这个时候你是admin,尽职尽责地为同学们服务
于是有一天,老师突然把你任命为本班班长
完成了从插班生到本班第一大佬的逆袭
这个时候你就是trustedadmin了
这个时候你膨胀了,制霸全班,同学看你越来越不顺眼
有一天你到校外打架把别人打成重伤(不合理比喻...
然后老师听说此事很生气,直接上报学校把你转走了
(把你ban了)

这个故事太魔幻了吧...
其实服务器里的东西没这么复杂,权限这种东西都要看超管的心情来设置
有可能你跟超管混好了关系一夜之间飞黄腾达呢?
一个服务器是可以有多个超管的
所以你应该知道我们要干什么了吧(不是)
好啦,正经地从头说起
guest是游客,很菜
default是默认,很普通
newadmin是新管理员,有点地位
admin是管理员,很有地位
trustedadmin是受信任管理员,简直超管亲儿子啊
superadmin甭提了,掌管全服生杀大权

下面进入指令环节
用户管理指令
指令:
/user ---用于用户的管理
子命令:
--add <用户名> <密码> <用户组>
这个指令很眼熟,对吧?
没错,这个指令是你当年初次启动服务器获得超管权限的指令!
用户组是上面列出的组中的一个
给普通用户的就是default,
创建备用超管账号就是superadmin
--del <用户名>
删号指令,删除指定用户
在SSC模式下会同时删除背包数据
--password <用户名> <新密码>
改变某用户的密码
可用于为忘记自己账号的密码的玩家重置密码
--group <用户名> <新组>
将指定用户移动到一个新组
例如:/user group 棱镜 superadmin //将“棱镜”这个账户移动到超管用户组
注意:这个操作是忽视目标用户原来所在组的!

user指令看起来很简单对吧...后面就会让你看不懂了
在TShock世界中,每个用户组都有对应的权限
执行特定的指令一般都需要对应权限
有时候执行特定操作也需要对应权限

权限:
权限,是以"."作为分隔符号的一串文本,通常情况下,tshock. 开头的权限是原版TShock
权限,权限的"."起到一个分组的作用,且支持“*”通配符
举几个栗子:
---tshock.tp.wormhole //只有拥有此权限的组内的玩家才能使用虫洞药水传送
---tshock.tp.* //该权限表示拥有此权限的组拥有tshock.tp权限组下的所有权限
※以后权限中用"."分出的组都叫权限组,区别于用户组
※注意:
在原版情况下,只有“用户组”能拥有“权限”,也就是说,不存在“某用户具有某权限”的说法
关于权限你需要牢记的只有这些:
· 权限意味着给予某用户组的全体用户执行某特定操作的权利
· 大多数原版TShock指令都具有对应的权限
· 权限中的通配符意味着“拥有此权限组下的所有权限”
※一般而言,权限组是顾名思义的,例如tshock.tp权限组表示关于传送的权限

休息一会儿,过一段时间讲花里胡哨的用户组
分组不是还有一个owner分组/滑稽
 
2019/10/25
70
5
40
武汉
用户组:
· 区别于“权限组”,你可以把这个看作“对服务器内玩家等级的划分”
基础指令:
/group <子命令> 参数列表
可用的子命令:
管理型
---add <组名> //新建一个用户组,组名是自定义的,不能与已存在的用户组同名
---del <组名> //删除一个用户组
---list //没有参数,显示所有存在的用户组组的名称,如果数量超过一页会自动分页显示
花里胡哨型
---color <组名> <rrr,ggg,bbb> //设置指定组的聊天颜色,颜色格式像这样:255,0,0
默认的颜色都是255,255,255(纯白)
这样的颜色表达法叫RGB,你可以通过百度进行深入了解
---prefix <组名> [一串文字] //若省略参数,显示指定组的当前聊天前缀,否则设置该组的聊天前缀为你设置的文字
注意:如果你要输入带空格的文字,你可以这样输入: "xxx xxx"
对,就是用英文引号把文字括起来
如果要清除前缀,你可以用/group prefix <组名> "" 来实现

---suffix <组名> [一串文字] //同上,不过设置的是聊天后缀
权限管理型:(非常重要)
· 这里就是对用户组的权限进行管理的指令了
玩家的权限就是使用下面的指令进行管理的!
---addperm <组名> <权限> //给指定用户组添加设定的权限
---delperm <组名> <权限> //删除指定用户组的指定
注意:权限这个东西非常特殊,无论加入/删除的权限是否存在/有效都会提示操作成功
所以建议打完之后手动检查一下,比如尝试一下权限对应的指令、操作是否可以执行等(先确认是添加权限的组的用户)
另外:其实权限这个东西是可以由任何字符串组成的,而且tshock内部的权限检查也有很多骚东西,后面会讲
再就是如果你要赋予某组玩家所有传送相关的权限,你可以使用/group addperm <组名> tshock.tp.*
没错,*表示该权限组下的所有权限

---listperm <组名> [页码] //显示某用户组的全部权限,如果较多会自动分页
---parent <子组名> [父组名] //查看/设置某个组的父组
你可能(一定)会问了:啥叫父组?
(这时棱镜陷入了沉思)
打个比方,你爸是个大官。
有很多钱和很大的权利
然后你作为他的儿子,肯定也是具备他的权利和财产的(可能?)
简单说,就是子组拥有父组的所有权限,
但是这个权限是归属于父组的,虽然你可以在子组可以看到他有的权限,但是只有你删掉了所有父组的权限才能使得子组也失去权限
那么你一定又要问了,这个技术,有啥用啊?
再举个栗子
假设你想要一个能够像平民玩家一样游戏的组,且具有一定管理权限
你会这么做吗?
/group add MyGroup ,然后慢慢/group addperm?
你是沙雕吧23333
你可以这样做来让你的这个组具有default(平民组)的所有权限
/group parent MyGroup(得先add) default
然后在这样的基础上,添加权限
/group addperm MyGroup tshock.admin.warp
不就很方便了嘛?
权限这个东西,在后面讲到的RPG中还会有更多的作用

好了,本期教学到此结束
虽然讲得比较抽象(真相是棱镜懒得截图)
但是如果你边看边做应该还是比较好理解的吧
如果有问题可以留言或者联系棱镜哦QwQ
 
最后编辑: