已过期 【长期可用】【完贴】TShock从零开始的使用教学

别闹啦

Lv2
LV
0
 
IP属地
未知
2021/08/22
2
0
勋章
1
  • · 发布于未知
整个帖子基础介绍很详细 很棒[爱心]
 

TheLastPrism

Lv6
管理成员
版主
创意家
LV
0
 
IP属地
湖北省
2019/10/25
1,027
341
勋章
5
  • · 发布于未知
截至2021-08-23 本教学基础部分已全部翻新
使用TShock4.4.0以上的版本

应该是全网最新最详细了的吧...?
 

liuqwe

Lv1
LV
0
 
IP属地
未知
2021/08/18
1
0
  • · 发布于未知
大佬,thsock怎么让玩家带入单机装备啊
 
由版主最后编辑:

TheLastPrism

Lv6
管理成员
版主
创意家
LV
0
 
IP属地
湖北省
2019/10/25
1,027
341
勋章
5
  • · 发布于未知
关闭SSC模式即可
 

Zip

Lv2
LV
0
 
IP属地
未知
2020/09/12
1
0
勋章
1
  • · 发布于未知
腐竹忘了用户名,咋办
 

TheLastPrism

Lv6
管理成员
版主
创意家
LV
0
 
IP属地
湖北省
2019/10/25
1,027
341
勋章
5
  • · 发布于未知
腐竹忘了用户名,咋办
参考数据库章节,通过查找数据库中的Users表找回用户名
 

Moon9

Lv2
LV
0
 
IP属地
未知
2021/09/06
4
0
  • · 发布于未知
Pt.1-3.用户、组与权限的管理
权限组管理是TShock插件的一大特色​
通过权限组,你可以为玩家分配职能控制玩家的行为,以及为玩家赋予聊天前缀、颜色等​
一、权限
什么叫权限?​
我在第一章的时候粗略地提到过对吧...​
一条权限可以被表示为一个字符串,例如tshock.world.modify​
拥有这条权限的玩家才可以对世界进行编辑操作(建造、破坏等)​
打个比方,tshock有六个默认用户组如下表​
guest​
default​
newadmin​
admin​
trustedadmin​
owner​
superadmin​
游客​
玩家​
新手管理员​
管理员​
受信任管理员​
服主
超级管理员(即超管)​

下附一张权限表,列出了各个组的代表性权限
※等级从上到下依次递增
※更高级的组拥有较低等级组的所有权限

组名拥有的权限(代表性的)
guest​
注册、登陆、发送服务器消息,在TShock4.5.5以上的版本中不可被删除
default​
进行受限制的正常游戏(平民玩家)
vip
预留服务器位,重命名NPC,召唤boss/入侵,虫洞
newadmin​
kick玩家,查看玩家Index,设置重生点,调时间
admin​
ban玩家,管理传送点,生成boss/怪物,tp
trustedadmin​
刷/给予物品(/i和/g),无视各种限制,上传本地存档作为SSC存档
owner
tshock.su(使用指令绕过权限,基本等同于superadmin)
superadmin​
具有所有权限,注意,这个组是只读的,无法为这个用户组手动配置权限
相关的指令
/user​
子命令列表​
  • add <用户名> <密码> <用户组>
这个指令很眼熟,对吧?​
没错,这个指令是你当年初次启动服务器创建owner账号的指令!​
用户组是上面列出的组中的一个​
给普通用户的就是default,​
创建备用超管账号就是owner​
如果要给已经存在的用户修改权限,请参考group子命令​
  • del <用户名>
删除指定用户​
在SSC模式下会同时删除背包数据
  • password <用户名> <新密码>
改变某用户的密码​
可用于为忘记自己账号的密码的玩家重置密码
  • group <用户名> <新组>
将指定用户移动到一个新组​
例如:/user group 棱镜 owner ---将“棱镜”这个账户移动到owner用户组​
注意:这个操作是忽视目标用户原来所在组的!
user指令看起来很简单对吧
在TShock世界中,每个用户组都有对应的一组权限
执行特定的指令一般都需要对应权限
有时候执行特定操作(如使用日晷、召唤入侵和boss、使用晶塔等)也需要对应权限

权限:
权限,是以"."作为分隔符号的一串文本​
通常情况下,tshock.开头的权限是原版TShock权限​
权限的"."起到一个分组的作用,且支持“*”通配符​
举几个栗子:
tshock.tp.wormhole --只有拥有此权限的组内的玩家才能使用虫洞药水传送​
tshock.tp.* --该权限表示拥有此权限的组拥有tshock.tp权限组下的所有权限,可以使用与/tp有关的各种子命令​
一个没有tp权限的玩家试图使用tp指令,这是他聊天框发生的变化

※以后权限中用"."分出的组都叫权限组,区别于用户组
※注意:只有“用户组”能拥有“权限”,也就是说,用户拥有某权限是因为ta处于拥有该权限用户组,而非用户拥有权限本身
关于权限你需要牢记的:
  • 权限意味着给予某用户组的全体用户执行某特定操作的权利
  • 大多数原版TShock指令都具有对应的权限
  • 权限中的通配符意味着“拥有此权限组下的所有权限”
下一章将为你讲解如何使用指令来管理用户组的权限
刚刚入坑,听说有些管理组第二次上线背包会自动恢复初始,请问是哪几个组呢
 

Moon9

Lv2
LV
0
 
IP属地
未知
2021/09/06
4
0
  • · 发布于未知
Pt.1-3.用户、组与权限的管理
权限组管理是TShock插件的一大特色​
通过权限组,你可以为玩家分配职能控制玩家的行为,以及为玩家赋予聊天前缀、颜色等​
一、权限
什么叫权限?​
我在第一章的时候粗略地提到过对吧...​
一条权限可以被表示为一个字符串,例如tshock.world.modify​
拥有这条权限的玩家才可以对世界进行编辑操作(建造、破坏等)​
打个比方,tshock有六个默认用户组如下表​
guest​
default​
newadmin​
admin​
trustedadmin​
owner​
superadmin​
游客​
玩家​
新手管理员​
管理员​
受信任管理员​
服主
超级管理员(即超管)​

下附一张权限表,列出了各个组的代表性权限
※等级从上到下依次递增
※更高级的组拥有较低等级组的所有权限

组名拥有的权限(代表性的)
guest​
注册、登陆、发送服务器消息,在TShock4.5.5以上的版本中不可被删除
default​
进行受限制的正常游戏(平民玩家)
vip
预留服务器位,重命名NPC,召唤boss/入侵,虫洞
newadmin​
kick玩家,查看玩家Index,设置重生点,调时间
admin​
ban玩家,管理传送点,生成boss/怪物,tp
trustedadmin​
刷/给予物品(/i和/g),无视各种限制,上传本地存档作为SSC存档
owner
tshock.su(使用指令绕过权限,基本等同于superadmin)
superadmin​
具有所有权限,注意,这个组是只读的,无法为这个用户组手动配置权限
相关的指令
/user​
子命令列表​
  • add <用户名> <密码> <用户组>
这个指令很眼熟,对吧?​
没错,这个指令是你当年初次启动服务器创建owner账号的指令!​
用户组是上面列出的组中的一个​
给普通用户的就是default,​
创建备用超管账号就是owner​
如果要给已经存在的用户修改权限,请参考group子命令​
  • del <用户名>
删除指定用户​
在SSC模式下会同时删除背包数据
  • password <用户名> <新密码>
改变某用户的密码​
可用于为忘记自己账号的密码的玩家重置密码
  • group <用户名> <新组>
将指定用户移动到一个新组​
例如:/user group 棱镜 owner ---将“棱镜”这个账户移动到owner用户组​
注意:这个操作是忽视目标用户原来所在组的!
user指令看起来很简单对吧
在TShock世界中,每个用户组都有对应的一组权限
执行特定的指令一般都需要对应权限
有时候执行特定操作(如使用日晷、召唤入侵和boss、使用晶塔等)也需要对应权限

权限:
权限,是以"."作为分隔符号的一串文本​
通常情况下,tshock.开头的权限是原版TShock权限​
权限的"."起到一个分组的作用,且支持“*”通配符​
举几个栗子:
tshock.tp.wormhole --只有拥有此权限的组内的玩家才能使用虫洞药水传送​
tshock.tp.* --该权限表示拥有此权限的组拥有tshock.tp权限组下的所有权限,可以使用与/tp有关的各种子命令​
一个没有tp权限的玩家试图使用tp指令,这是他聊天框发生的变化

※以后权限中用"."分出的组都叫权限组,区别于用户组
※注意:只有“用户组”能拥有“权限”,也就是说,用户拥有某权限是因为ta处于拥有该权限用户组,而非用户拥有权限本身
关于权限你需要牢记的:
  • 权限意味着给予某用户组的全体用户执行某特定操作的权利
  • 大多数原版TShock指令都具有对应的权限
  • 权限中的通配符意味着“拥有此权限组下的所有权限”
下一章将为你讲解如何使用指令来管理用户组的权限
trustedadmin管理组该如何上传本地存档
 

TheLastPrism

Lv6
管理成员
版主
创意家
LV
0
 
IP属地
湖北省
2019/10/25
1,027
341
勋章
5
  • · 发布于未知

皮蛋学长

Lv2
LV
0
 
IP属地
未知
2021/09/18
1
0
  • · 发布于未知
Pt.3-1.TShock的数据存储
警告:本章开始内容会逐渐硬核,请做好心理准备
建议(必须)准备的软件
  1. Notepad++(前面的教学都看了的话应该都装了)
  2. SQLiteExpert(需要激活码,但是网上到处都有)
  3. dnSpy 6.1.3(反编译工具)
  4. Visual Studio 2019(可选)
--------------------------------------------------正文--------------------------------------------------
众所周知,TShock的数据存储形式是数据库.......​
什么?你不知道什么是数据库?​
建议百度,看不懂就对了
通俗地讲(可能会被大佬追杀),就是一个“包”里装着若干个表格的形式​
想一下你Excel的样子就懂了​
通过查找,你应该大致就可以知道TShock的数据都存储在这个文件里啦!​
右键。Notepad++打开试试​
(这你要是能全部看懂那你肯定不是个人)​
数据库文件有特殊的存储形式,自然不能用文本方式打开,​
所以,我们需要专门的数据库软件来打开它​
Step1.下载并安装SQLiteExpert
如果你不会装软件,那么这个教学可能不再适合你阅读了​
免费版可以使用30天,但是这软件的激活码网上到处都是​
Step2.打开tshock.sqlite
打开SQLite Expert,或者在打开文件的方式种选中SQLite Expert,​
然后就可以看到tshock.sqlite的图形化形式啦!​
(缩略图,点击打开)​

显示的表名对应的内容相关指令
Bans​
封禁的玩家列表/ban
GroupList​
用户组列表/group
ItemBans​
禁用的物品/itemban
ProjectileBans​
禁用的弹幕/projban
Regions​
领地/region
RememberedPos​
开启“自动传送到退出时位置”时保存的玩家退出时坐标config.json内容
TileBans​
禁用的物块/tileban
tsCharacter​
SSC模式下,玩家的角色信息sscconfig.json内容等
Users​
玩家注册的用户和管理员添加的用户/user
Warps​
传送点/warp
以上表格列出了所有TShock原版数据库中的表​
刚刚打开的数据库是一个新数据库,下面展示一个游玩了一段时间后的数据库(来自@Jonesn)​
上图为封禁玩家信息表​
包含信息从左至右为:ID(数据库内部用),IP,玩家名,玩家UUID,封禁理由,封禁用户,起始日期,结束日期
这是一个RPG服务器的组列表,揭示了一种RPG服的本质——通过用户组的分割实现等级​
包含信息从左至右为:ID(数据库内部用),组名,父组名,权限表,聊天颜色,聊天前缀,聊天后缀
由于Jonesn给我的库里并没有ItemBans和ProjBans,所以跳过​
这是一个领地列表​
包含信息从左至右为:领地ID,左上角坐标(X和Y),宽度和高度,领地名(从代码获取,存储格式特殊),所在地图ID,拥有此领地的用户,
是否被保护,共享的组,拥有者,Z值(优先级)
然而,很诡异的一点是......
还记不记得之前讲配置文件时的“数据库类型”?
浏览附件2116
---是的,当数据库类型为MySQL时,上面的介绍依然适用
以MySQL数据库类型启动服务器,可以实现很魔法的操作,例如多服同背包等
详见某综合问答帖https://www.bbstr.net/threads/tshock-ip.383/
这里数据库定义不太严谨啦,只有关系型数据库才是二维简单表的形状,其他类型数据库,比如现在比较火的面向对象数据库,还有之前的层级数据库,树形数据库都不是现在这样的
 

FAKER

Lv1
LV
0
 
IP属地
未知
2021/11/13
1
0
  • · 发布于未知
服务器服主不在线其他人能进去服务器吗
Pt.1-3.用户、组与权限的管理
权限组管理是TShock插件的一大特色​
通过权限组,你可以为玩家分配职能控制玩家的行为,以及为玩家赋予聊天前缀、颜色等​
一、权限
什么叫权限?​
我在第一章的时候粗略地提到过对吧...​
一条权限可以被表示为一个字符串,例如tshock.world.modify​
拥有这条权限的玩家才可以对世界进行编辑操作(建造、破坏等)​
打个比方,tshock有六个默认用户组如下表​
guest​
default​
newadmin​
admin​
trustedadmin​
owner​
superadmin​
游客​
玩家​
新手管理员​
管理员​
受信任管理员​
服主
超级管理员(即超管)​

下附一张权限表,列出了各个组的代表性权限
※等级从上到下依次递增
※更高级的组拥有较低等级组的所有权限

组名拥有的权限(代表性的)
guest​
注册、登陆、发送服务器消息,在TShock4.5.5以上的版本中不可被删除
default​
进行受限制的正常游戏(平民玩家)
vip
预留服务器位,重命名NPC,召唤boss/入侵,虫洞
newadmin​
kick玩家,查看玩家Index,设置重生点,调时间
admin​
ban玩家,管理传送点,生成boss/怪物,tp
trustedadmin​
刷/给予物品(/i和/g),无视各种限制,上传本地存档作为SSC存档
owner
tshock.su(使用指令绕过权限,基本等同于superadmin)
superadmin​
具有所有权限,注意,这个组是只读的,无法为这个用户组手动配置权限
相关的指令
/user​
子命令列表​
  • add <用户名> <密码> <用户组>
这个指令很眼熟,对吧?​
没错,这个指令是你当年初次启动服务器创建owner账号的指令!​
用户组是上面列出的组中的一个​
给普通用户的就是default,​
创建备用超管账号就是owner​
如果要给已经存在的用户修改权限,请参考group子命令​
  • del <用户名>
删除指定用户​
在SSC模式下会同时删除背包数据
  • password <用户名> <新密码>
改变某用户的密码​
可用于为忘记自己账号的密码的玩家重置密码
  • group <用户名> <新组>
将指定用户移动到一个新组​
例如:/user group 棱镜 owner ---将“棱镜”这个账户移动到owner用户组​
注意:这个操作是忽视目标用户原来所在组的!
user指令看起来很简单对吧
在TShock世界中,每个用户组都有对应的一组权限
执行特定的指令一般都需要对应权限
有时候执行特定操作(如使用日晷、召唤入侵和boss、使用晶塔等)也需要对应权限

权限:
权限,是以"."作为分隔符号的一串文本​
通常情况下,tshock.开头的权限是原版TShock权限​
权限的"."起到一个分组的作用,且支持“*”通配符​
举几个栗子:
tshock.tp.wormhole --只有拥有此权限的组内的玩家才能使用虫洞药水传送​
tshock.tp.* --该权限表示拥有此权限的组拥有tshock.tp权限组下的所有权限,可以使用与/tp有关的各种子命令​
一个没有tp权限的玩家试图使用tp指令,这是他聊天框发生的变化

※以后权限中用"."分出的组都叫权限组,区别于用户组
※注意:只有“用户组”能拥有“权限”,也就是说,用户拥有某权限是因为ta处于拥有该权限用户组,而非用户拥有权限本身
关于权限你需要牢记的:
  • 权限意味着给予某用户组的全体用户执行某特定操作的权利
  • 大多数原版TShock指令都具有对应的权限
  • 权限中的通配符意味着“拥有此权限组下的所有权限”
下一章将为你讲解如何使用指令来管理用户组的权限
 

TheLastPrism

Lv6
管理成员
版主
创意家
LV
0
 
IP属地
湖北省
2019/10/25
1,027
341
勋章
5
  • · 发布于未知

小诺dil

Lv2
LV
0
 
IP属地
美国加利福尼亚州洛杉矶
2021/10/30
6
0
  • · 发布于未知
请问这个debug怎么关闭?一直刷屏影响服务端
 

附件

  • QQ截图20211117224758.png
    QQ截图20211117224758.png
    87.8 KB · 查看: 0

小诺dil

Lv2
LV
0
 
IP属地
美国加利福尼亚州洛杉矶
2021/10/30
6
0
  • · 发布于未知
还有传送塔的权限组是什么?
 

TheLastPrism

Lv6
管理成员
版主
创意家
LV
0
 
IP属地
湖北省
2019/10/25
1,027
341
勋章
5
  • · 发布于未知
联机问答板块里有你需要的答案
 

呜呼拉呼

Lv2
LV
0
 
IP属地
未知
2021/12/24
4
0
  • · 发布于未知
Pt.1-4.开服实践环节【基于游侠联机平台】【2020-01-09更新】
这里首先推荐一个帖子TShock默认权限组缺失的权限
这边介绍了一下TShock自带的Default组所缺少的权限
所以你可以根据那个帖子自行先添加一下
警告:内容多图!
Step1.下载安装游侠对战平台
下载地址:http://pk.ali213.net/
直接下载安装就行了
启动什么的不需要教吧?
初步使用教学平台上也自带的
我只负责教怎么在那里使用TShock
稍等等我先把游侠装上...
Step2.正确地设置游戏运行路径
如图,进入一个Terraria专房

点击界面上方设置,然后如图进行配置


注意,当你选择TerrariaServer.exe时它会提醒你选择的文件名不正确,不要管他就行

好的,配置步骤结束
Step3.启动服务器并邀请玩家加入
注意:启动时请务必从游侠启动!游侠平台会为你自动进入局域网并分配IP
- 否则游侠的IP是无法生效的!

如图,点击游侠启动游戏,可以看到跳出了服务器窗口

按照正常手段开服后,你只需要将自己的游侠IP告诉你的小伙伴,然后在同一专房内用游侠启动Terraria->多人游戏->IP加入即可与好友联机啦!
注意:当你自己加入服务器时可以直接启动Terraria然后输入127.0.0.1加入

更新于 2020-01-09
是联机的人都要用游侠吗
 

X_XiaoHua

Lv2
LV
0
 
IP属地
未知
2021/12/18
5
1
  • · 发布于未知
学会了,谢谢作者
 

TheLastPrism

Lv6
管理成员
版主
创意家
LV
0
 
IP属地
湖北省
2019/10/25
1,027
341
勋章
5
  • · 发布于未知
  • 标签
    tshock 从零开始的教学 开发者教学 萌新向
  • * 这是一则由 Google AdSense 自动推荐的广告,与本站无关,不对其真实性与可靠性负责

    顶部