<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://purl.org/rss/1.0/"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel rdf:about="https://www.ishiguang.cn/feed/rss/tag/%E6%B3%B0%E6%8B%89%E7%91%9E%E4%BA%9A/">
<title>拾光 - 泰拉瑞亚</title>
<link>https://www.ishiguang.cn/tag/%E6%B3%B0%E6%8B%89%E7%91%9E%E4%BA%9A/</link>
<description></description>
<items>
<rdf:Seq>
<rdf:li resource="https://www.ishiguang.cn/16752.html"/>
</rdf:Seq>
</items>
</channel>
<item rdf:about="https://www.ishiguang.cn/16752.html">
<title>泰拉瑞亚TShock：备份 和 反作弊</title>
<link>https://www.ishiguang.cn/16752.html</link>
<dc:date>2022-11-20T19:58:50+08:00</dc:date>
<description>虽然TShock有强制开荒功能，一般情况下无法带物品进来。但刷物品的方法仍然层出不穷，有些人自以为高明，无视警告，仍然无休止的刷物品，还装得跟自己欧皇爆表一样，不仅大大影响游戏体验，还欺骗了大家伙感情。写这篇文章时我多少是有些气愤的。最近的一次开荒中，明显感觉到有刷物品的情况，抽查发现大吃一惊，想起前段时间有个服主在泰拉论坛上求反作弊方法，唉，服主既要自己掏钱，又要花时间和精力来开服务器，还要时刻防着这些作弊的人来捣乱。。。备份开过一次中核玩法的服务器，就是那种死亡掉落所有物品的那种，那次翻车了，毁灭者屠了家，装备掉了有捡起来，你的我的傻傻分不清，最关键的是大部分物品居然消失了。也就是从那时开始，意识到备份的重要性。强制开荒的人物数据保存在 tshock.sqlite 文件中，这是一个数据库文件，备份好它，就保住大家的人物存档。于是写了这个shell脚本。# 获得本sh所在目录
sh_path=$(cd `dirname $0`; pwd)
sh_name=&quot;${sh_path##*/}&quot;
timeStr=$(date -d today +&quot;%Y%m%d_%H%M_%S&quot;)

# 存档目录
sourceDir=&quot;$sh_path&quot;/tshock
backDir=&quot;$sh_path&quot;/tshock-Back
sourceFile=&quot;$sourceDir&quot;/tshock.sqlite
backFile=&quot;$backDir&quot;/tshock_&quot;$timeStr&quot;.sqlite


# 如果文件夹不存在，则创建
if [ ! -d &quot;$backDir&quot; ]; then
    mkdir &quot;$backDir&quot;
fi

echo &quot;正在备份：&quot;&quot;$backFile&quot;
cp &quot;$sourceFile&quot; &quot;$backFile&quot;

# 检查备份结果
if [ ! -f &quot;$backFile&quot; ]; then
    echo &quot;备份失败，&quot;&quot;$backFile&quot;
fi

echo &quot;操作完成！&quot; 将以上脚本内容保存为sh，并将其设置为可执行，然后运行脚本进行一次备份：[root@aliyun S20]# chmod +x ./back_db.sh
[root@aliyun S20]# ./back_db.sh
正在备份：/root/S20/tshock-Back/tshock_20210522_2119_45.sqlite
操作完成！ 开启定时备份使用crontab定时执行back_db.sh 即可实现备份。查看和编辑定时任务crontab -e然后按下i键，进入编辑状态，输入下面内容/10    * /root/S20/back_db.sh输入完成后，按下esc键，然后输入“:wq”，保存并退出刚才设置的定时任务。接下来让刚才的更改生效。service crond restart至此每隔10分钟备份一次人物存档就设置好了。相关截图：个人习惯将单个服务器的文件都存放在一个大目录下，目录以Sxx为名，例如S20就代表第20个服。这样方便管理，而且使用相对目录的方式，开新服的时候可以直接拷贝脚本，而无需做而外的修改。&lt;!--more--&gt;反作弊反作弊是通过导出玩家存档实现的，强制开荒的数据可以使用 Playerexport 插件进行导出下载地址：https://www.bbstr.net/r/playerexport-ts.42/。在游戏里或者控制台上输入/export all指令可以导出全部玩家的存档。如果你想导出某一个时刻的人物存档，建议将备份的数据库文件，拷贝到本机，本机搭个临时服务器将其导出。访问这个地址可以快速查看单个玩家人物数据，地址：http://yal.cc/r/terrasavr/ 熔炉 和 虚空袋里的物品亦可查看。服主只是不想查，要查还不是一查一个准。</description>
</item>
</rdf:RDF>