体验新版

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

TheLastPrism

Lv5
管理成员
版主
创意家
LV
0
 
2019/10/25
1,012
339
勋章
5
IP属地
为何我开服后的后台没有setup 的提示,那这样我还怎么成为管理员?
可能是数据库内已经存在了超级管理员用户,请参考教程通过数据库软件检查
 

Zack_Guo

Lv2
LV
0
 
2021/01/23
20
2
勋章
1
IP属地
大佬大佬,为什么我的朋友进服务器后没办法放箱子熔炉和篝火啊,有没有办法改掉?QQ图片20220113142918.png
 

TheLastPrism

Lv5
管理成员
版主
创意家
LV
0
 
2019/10/25
1,012
339
勋章
5
IP属地
怎么关闭玩家的生命值最大检测?
将config中MaxHealth设为足够大的值(如32767)
 

Zack_Guo

Lv2
LV
0
 
2021/01/23
20
2
勋章
1
IP属地
大佬大佬,刚刚服务器好像卡了没正常保存,玩家回档了直接清空所有东西,有办法弄回来吗?
 

TheLastPrism

Lv5
管理成员
版主
创意家
LV
0
 
2019/10/25
1,012
339
勋章
5
IP属地
大佬大佬,刚刚服务器好像卡了没正常保存,玩家回档了直接清空所有东西,有办法弄回来吗?
目前没什么办法
 

TheLastPrism

Lv5
管理成员
版主
创意家
LV
0
 
2019/10/25
1,012
339
勋章
5
IP属地
关于新版本TShock的Ban指令的一些说明(转自TShock官方交流群)
适用于解决离线ban/解ban等疑难问题

1644293955844.png
 

zhangzsc88

Lv2
LV
0
 
2022/02/08
1
0
IP属地
请问一下,最新版是在GITHUB上下载的,目前还没有汉化,汉化是通过插件来实现的吧?就是说如果要最新版本,就无法使用汉化。
关于服务端和客户端的版本疑问:
服务端的版本是4.5.12对应客户端版本1.4.3.2是这样理解的吗,例如如果使用低版本的服务端,只要支持最新的客户端就可以登陆。是这样理解的吗?
 

TheLastPrism

Lv5
管理成员
版主
创意家
LV
0
 
2019/10/25
1,012
339
勋章
5
IP属地
请问一下,最新版是在GITHUB上下载的,目前还没有汉化,汉化是通过插件来实现的吧?就是说如果要最新版本,就无法使用汉化。
关于服务端和客户端的版本疑问:
服务端的版本是4.5.12对应客户端版本1.4.3.2是这样理解的吗,例如如果使用低版本的服务端,只要支持最新的客户端就可以登陆。是这样理解的吗?
在不使用跨版本插件的情况下,服务端和客户端的版本必须统一
例如TShock4.5.12 for Terraria 1.4.3.2就只支持1.4.3.2
TShock4.4.0 for Terraria 1.4.0.5就只支持1.4.0.5
 

道兔北极兔

Lv2
LV
0
 
2022/03/23
10
2
IP属地
mei'fen'zo
2021-08-13:本部分已重置至最新版本
Pt.1-2.【实用】强制开荒的基本实现
当你看着别人家的服务器进服石化,必须强行进行登录之后获取新的背包,你是否垂涎不已?
无论你是否垂涎不已,反正现在就更这个了
SSC,全拼Server Side Character,意为服务端角色存档模式
在此模式下,玩家的所有数据都将保存在服务端的tshock.sqlite
SSC的第一个特征就是强制开荒,所谓强制开荒也只是SSC的一部分:初始化默认背包
SSC最强大的地方在于允许TShock服务端直接对玩家存档进行编辑,
这种编辑不仅包括背包数据,甚至包括位置、杀怪数、生命值等

一般来说,一个正常的开荒/生存服务器都会开启SSC模式
Step1.认识配置文件
现在,打开你的TShock目录,不要急着运行服务器(如果你跳过了前面的教程,那么先运行服务器并获取管理员权限)
现在进入TShock目录下的"tshock"文件夹
找到一个叫sscconfig.json的文件:
这个就是SSC的基本配置文件了
通过对此文件的编辑,你可以实现几乎所有强制开荒的功能。
好了,现在你可以打开这个文件了
啥?不会打开Json?请自行上网寻找:Notepad++,这是一个轻量级的代码编辑器,以后会经常用到
安装完成后右键文件你应该可以看到“Edit With Notepad++”选项了,点这个,你就会看到文件内容界面了
如图:
  • Enabled(启用状态)是一个true/false(后称bool)值,当值为false,SSC禁用;当值为true;SSC启用
  • ServerSideCharacterSave(云存档保存间隔)是服务端存档数据的保存间隔时间,以分钟为单位
  • StartingHealth/StartingMana(初始生命值/魔法值):只要不要填奇怪的数据就好了
  • StartingInventory(初始背包)这一项比较特别,后面会单独说明
之前在犹豫要不要写这个...想想还是写了吧...
有一定面向对象编程基础的可能会很容易理解这个东西,反正我讲一讲就完了对吧
一般来讲,大括号包裹的内容是一个完整的“对象”,什么是对象呢?
打个比方,你和我都是人,我们又拥有与众不同的属性
比如我长得比你帅
比如我比你菜
对吧?那么在这个Json中你可以看到两种大括号
大括号中左侧由引号包裹的文本可以看做该对象的某个属性的“值”
冒号左侧是属性,右侧为此属性的值

那么在这个json中有几种对象呢?
我们不妨认为拥有同种“属性列表”的对象是同一种对象,那么这里有几种对象?
没错,两种,一个是最外层的"配置文件"对象,这个对象在TShock程序中提供了SSC的基础信息
另一个是在中括号中的对象,等等,那个中括号是什么鬼?
中括号可以表示为“一组东西”,这个“东西”可以是值,也可以是对象之类的任何东西
学过编程的很快会联想到数组对吧?
这个中括号不如看做一列房子,每当有“对象”要住进来就给他留个位置
然后下面的每个物品的中括号代表的就是“物品”对象
中间的逗号就是房间与房间之间的空地,必须得有!
但是最后一个房子肯定就不需要隔断了对吧?
所以中括号中的最后一个对象后面不需要隔断

任何JSON文件的格式规范都是统一的,可以使用在线工具来校验格式
Step2.配置文件的编辑
编辑绝对注意事项:不要缺失任何英文逗号/引号/括号!!!
(另外:打稿子的时候要插入链接,然后莫名其妙自己追踪过去了,然后我码了2个小时一千多字的稿子丢了)
(这个故事告诉我们在电脑上工作一定要随时保存...
首先,如果我们要启用SSC,那么请小心翼翼地将Enabled改为true
然后让我们来尝试编辑玩家的初始生命值与魔法值,例子这里设为200、100​
然后让我们来编辑玩家背包​
针对背包物品这样的复杂对象,我们还会一个个手打?​
开玩笑,当然是复制粘贴大法好啊​
我们选中其中一个块,按下Ctrl+C,然后在最后一个物品后面多Ctrl+V几次...​
这样就实现了向初始背包里添加更多物品,修改NetID可以更改物品类型,stack更改数量,prefix更改前缀​
比如我们想将初始背包设定为传奇铁剑、传奇铁镐、传奇铁斧、木材*100,那么你的StartingInventory看起来是这样的:​
完成编辑后,保存(Ctrl+S),关闭编辑器​
Step3.运行服务器
现在,回到你的TShock目录,按照Pt.1-1方法运行服务器即可
复习:加入自己开的服务器应该怎么做?
多人游戏 -> 通过IP加入 -> 选择人物 -> IP输入127.0.0.1,端口和密码是你在服务端里设置好的
如果你发现以普通用户(不是超级管理员)身份加入服务器时弹出如图的提示,那么说明SSC成功开启了​
要点来了:
注册指令:
/register <密码> 允许一名普通玩家用<密码>中的密码注册用户
登录指令:
/login [用户名] [密码] 以指定的密码与用户名登录,你登录超级管理员账号就是用的这个
注意,这个指令中的用户名和密码都是可以缺省的
如果缺省用户名,表示用玩家角色的名字当做用户名,再以指定密码登录
如果两个都缺省,就会视为“以UUID登录”,UUID是泰拉瑞亚每一个玩家角色随机的、唯一的全局识别代码
一般来讲,在不修改配置的情况下:​
  • 注册指令不能指定用户名
  • 自动登录在没有更换玩家存档的情况下允许进服自动登录
  • register创建的其实是User,后面会讲到
  • login指令可以登录任何服务器数据库中存在的账户,只要你知道这些账户的密码
登录完了之后就会看到自己的背包变成sscconfig里设置的背包了​
确认完毕后,记得输入指令保存关服!
ok,截止至2019年11月7日,SSC基础设置基本讲解完毕​
终于把之前丢的稿子补齐了,不容易啊​
下期预告:用户、组与权限
是一些比较理论化不好实践
但是用好了会非常强大的东西
你还在等啥?等我给你留个彩蛋?​
赶紧整理笔记完了复习实践啊!
强制开荒每数分钟保存一次,提前退出会丢东西,最小如果是一分钟,那依然有安全隐患,那么保存时间那一项里可以填写小数比如0.1吗
 

道兔北极兔

Lv2
LV
0
 
2022/03/23
10
2
IP属地
你可以使用Sqlite可视化工具来修改tshock.sqlite实现这个功能[贴吧_高兴]
然后跟服内玩家强调不要用诡异的ID
另外就是其实你可以通过玩家的Index来ban/kick玩家
求一个编辑存档用的软件资源
 

TheLastPrism

Lv5
管理成员
版主
创意家
LV
0
 
2019/10/25
1,012
339
勋章
5
IP属地
mei'fen'zo

强制开荒每数分钟保存一次,提前退出会丢东西,最小如果是一分钟,那依然有安全隐患,那么保存时间那一项里可以填写小数比如0.1吗
玩家正常情况下退出的时候都会触发一次SSC保存事件
 
  • 标签
    tshock 从零开始的教学 开发者教学 萌新向
  • * 这是一则由 Google AdSense 自动推荐的广告,与本站无关,不对其真实性与可靠性负责

    顶部