TShock:强制开荒的玩家存档长啥样?
tshock是泰拉瑞亚的开服程序,是添加了附加功能的第三方软件,比如游戏内命令,白名单,用户密码,和一个用于添加特性的插件接口(这句摘录至wiki),我们的联机服用的就是这个。强制开荒是tshock的一个功能,开启后人物存档保存在服务器上,可以防止有人从别的地图拿物品,破坏开荒的乐趣。一般开服时会让小伙伴创建一个新角色,进入服务器进行简单的注册登录后就可以正常玩耍了。
什么还要注册和登录,那会不会很麻烦?
可能是有一点,开启强制开荒的服,首次进入游戏后会被石化或者走几步后就被拉回出生点了。
如果服务器允许你自己注册,并可以在聊天框输入“/register 1234”进行注册,1234是密码。注册成功后聊天框输入“/login”就可以登录了。登录操作只需要操作一次,下次进服会自动登录。
如果服务器不允许注册,则需要联系腐竹(服务器管理员)帮忙注册,将你的人物名字和密码发给腐竹,比如“人物名:hf,密码:1234”,等腐竹注册好了之后,用叫hf的人物进入服务器,输入“/login 1234”进行登录。
由于人物数据保存在服务器上,当你本地的人物存档丢失时,你可以新建一个同名的人物进服务器,输入"/login 1234"获得之前的人物数据,由于注册登录只认人物名字和密码,如果小心机张三想偷瞄hf的档,他可以新建一个叫hf的人物,输入“/login 1234”假冒hf进入游戏,所以建议小伙伴修改密码,修改密码的方法是“/password 1234 0000”,1234是现在的密码,0000是修改之后的密码。
腐竹,关服后为什么没有人物存档?
服务器是把人物的数据保存到数据库里,这个不能直接导出成 .plr 格式人物存档。
浅析数据库文件
这个数据库文件名字叫 “tshock.sqlite”,一看扩展名就知道它是一个sqlite数据库文件,使用 DBeaver (免费的数据库查看软件)可以查看,所有表格和表格中的字段,如下图。



强制开荒的数据保存在 tsCharacter 表中,ts是tshock的前两个字母,character是人物的意思,可以看到人物玩家存档这个表写得非常隐晦,假设要查看hf这个人的情况,首先要去user表看看hf的id是几,然后再到tsCharacter查看对应的信息,而且除了生命值、魔力值、钓鱼、火把神这些其它的都不太能看出来。
导出玩家存档
tshock支持插件,在泰拉中文论坛找到了这个插件。将下载得到的dll文件,文件名比较长为了保证可读性,建议改成“PlayerExport.dll”,放到tshock的ServerPlugins目录下,重启服务器就能用了。在控制台输入"/export all"就可以导出强制开荒的人物成 .plr 格式的存档文件。


参考链接:
将TS云存档导出为本地存档:https://www.bbstr.net/r/playerexport-ts.42/
DBeaver数据库查看软件:https://dbeaver.io/download/
tshock官方文档强制开荒功能说明:https://tshock.readme.io/docs/server-side-character-config
官方wiki关于服务器的说明:
https://terraria.gamepedia.com/Server
https://terraria-zh.gamepedia.com/服务器