*此贴搬运自泰拉瑞亚中文论坛,已获原作者授权。
原帖地址:https://www.bbstr.net/r/121/
原作者:zhi
适用版本:1.4
前置Mod/插件:TShockAPI
API版本:tshock 5.1.3
开源地址:https://github.com/skywhale-zhi/Watcher
Watcher
一个泰拉瑞亚tshock插件,主要用于游戏管理检测物品作弊
每次更新插件时最好删掉WatcherConfig.json配置文件,不然会出错
功能介绍
生成什么射弹(在有人炸图或乱喷腐化溶液的时候可以快速找到嫌疑人)
均记录在Watcher文件夹内的logs里,玩家作弊信息记录在cheatlogs
弹幕伤害过高检测(排除了冲击波和尖桩发射器)貌似新更新的永夜,断钢剑,真永夜等搭配狂战士手套会误触发高伤bug而被tshock的检测网住,建议关掉原版的检测
超游戏进度的物品检测(因泰拉更新导致这类可能会出现误判,若遇到误判物品建议手动添加到豁免物里并反馈),检测原理在最后一个部分 其他 处介绍
星璇机枪卡bug,手机端bug,如果你不使用跨版本插件让手机端进入服务器,这个功能没有任何作用(还是有bug,修不好了,你还是把他关了吧)
强制卸下肉前恶魔心饰品栏中的物品,公平开荒(不计入作弊次数),因为泰拉恶魔心效果记录在玩家端而不是服务器端,导致同一时间开荒有的玩家7饰品栏有的玩家6栏
可以设置惩罚方式,对有作弊行为的玩家施加惩罚,惩罚类型很多可以去配置文件讲解区查看,超过限定允许的次数时强制ban掉,可在WatcherConfig.json里改允许次数,或关闭作弊检测,再控制台里 /reload 即可生效。
作弊玩家信息记录在 cheatplayers.json 里,作弊记录都写在在 cheatLogs 里
指令
用法介绍
直接将插件放置于tshock插件文件夹里即可,默认修改控制台为中文,可改。
你可以在Watcher/logs文件夹里看到玩家日常信息搜集,在watcher/cheatlogs文件夹里看到作弊信息搜集,在Watcher/tshock_backups文件夹里看到备份的sqlite文件,在WatcherConfig.json里修改你需要的各种配置信息。在 cheatplayers.json 里查看哪些玩家作弊
输入 /locknpc kslzy 或 /locknpc 克苏鲁之眼或 /locknpc 4 或 /locknpc ky 或 /locknpc 克眼 那么克苏鲁之眼和克苏鲁之仆均不能被玩家杀死(对于boss,一次添加会同时保护boss和大多数boss的仆从,肢体等,这里 /locknpc 4 同时保护了克眼和仆从,对于机械骷髅王还会同时保护四个钳子,不需要用户一个一个输入指令来保护)
输入 /unlocknpc ky 将同时解除boss的仆从,肢体保护
输入/listlocknpc来查看哪些npc被保护
输入 /adduci 2624 来将海啸设置为不被检查的物品,因为Watcher插件有物品进度检测功能,在打败猪鲨之前获得海啸会被认定为作弊,使用此指令将该物品设置为豁免物,避免被检查
WatcherConfig.json配置文件介绍
一个可以详细修改功能的文件,修改后在控制台或游戏内使用 /reload 即可生效,下面对每个项进行了解释
CheatPlayers.json
一个用来保存作弊玩家信息的配置文件,防止在服务器关机后那些作弊玩家的数据丢失,不建议修改名称和UUID的数据,使用 /reload 指令依然有效
其他(几乎都在上面说过了但我还要说一遍)
- 射弹检测排除了特殊武器,新更新的永夜,断钢剑,真永夜等搭配狂战士手套会误触发高伤害bug让tshock的检测系统误判,建议关掉原版的检测再开插件检测
- 物品检测其实就是根据游戏进度,查询玩家库存是否携带超进度物品,新的加了三种检测算法,一是根据地图图鉴来鉴定该生物是否被击杀,管理可以通过图鉴验证该生物的掉落物是否合理,只要该生物解锁(被玩家击杀了一次),掉落物就合理,但要注意,完全由岩浆和陷阱杀死的敌人不会算作图鉴里,只要你击中这个怪物一次那么由岩浆陷阱杀死的怪就算到图鉴里了,所以完全偷懒的方式获得的掉落物依然会被检测到。二是检查所有物品的合成物配方和材料组成,检查其下级合成物,但不会检查下级合成物的下级合成物。三是检查插件设置的一些数据,用于补全上述两种方法漏下的物品和一些地图种子,奇怪的东西的误判的东西的判断和修正。由于泰拉物品太多,若有物品判断错误请将它加入豁免物里并及时反馈(东西真的太多了,难免有误判的物品)。若是用户使用特殊地图,地图里包含正常地图不应该存在的超进度物品,则需要用户注意,避免错误踢人,可以在豁免物里写入这些物品。
- 新增了惩罚方式的选择,使用处在配置文件区,警告方式,范围 0 ~ 5 整数,0为私聊口头警告,1为公开警告但不惩罚,2为公告广播警告并网住玩家一段时间,3为公开警告,并直接杀死玩家,4为直接踢出 ,5 为直接封禁,不建议用 5
- 该插件日后缓慢更新
已知BUG
这里主要记录目前该插件发现的bug,因为插件更新要审核,物品太多导致bug多,我又不能修正一个误判物品更新一个插件,这里做下统计,希望插件使用者注意一下,若发现问题欢迎反馈。
代码很烂请大佬不要在意,欢迎大家使用(我太懒了,可能好久没更新github上的了)
开源地址:https://github.com/skywhale-zhi/Watcher
原帖地址:https://www.bbstr.net/r/121/
原作者:zhi
适用版本:1.4
前置Mod/插件:TShockAPI
API版本:tshock 5.1.3
开源地址:https://github.com/skywhale-zhi/Watcher
Watcher
一个泰拉瑞亚tshock插件,主要用于游戏管理检测物品作弊
每次更新插件时最好删掉WatcherConfig.json配置文件,不然会出错
功能介绍
- 对游戏内玩家行为的详细信息进行记录
生成什么射弹(在有人炸图或乱喷腐化溶液的时候可以快速找到嫌疑人)
均记录在Watcher文件夹内的logs里,玩家作弊信息记录在cheatlogs
- 一定程度上检测作弊的插件
弹幕伤害过高检测(排除了冲击波和尖桩发射器)貌似新更新的永夜,断钢剑,真永夜等搭配狂战士手套会误触发高伤bug而被tshock的检测网住,建议关掉原版的检测
超游戏进度的物品检测(因泰拉更新导致这类可能会出现误判,若遇到误判物品建议手动添加到豁免物里并反馈),检测原理在最后一个部分 其他 处介绍
星璇机枪卡bug,手机端bug,如果你不使用跨版本插件让手机端进入服务器,这个功能没有任何作用(还是有bug,修不好了,你还是把他关了吧)
强制卸下肉前恶魔心饰品栏中的物品,公平开荒(不计入作弊次数),因为泰拉恶魔心效果记录在玩家端而不是服务器端,导致同一时间开荒有的玩家7饰品栏有的玩家6栏
可以设置惩罚方式,对有作弊行为的玩家施加惩罚,惩罚类型很多可以去配置文件讲解区查看,超过限定允许的次数时强制ban掉,可在WatcherConfig.json里改允许次数,或关闭作弊检测,再控制台里 /reload 即可生效。
作弊玩家信息记录在 cheatplayers.json 里,作弊记录都写在在 cheatLogs 里
- 允许设置生物不可被玩家伤害
- 自动备份tshock.sqlite文件
指令
- 权限1: [无,任何人都能使用]
- 指令1: /watcher help
- 功能1: 查看这个插件的所有指令介绍,帮助快速上手
- 权限2: watcher.locknpc
- 指令2: /locknpc npc.id或boss名称或boss名称拼音缩写
- 功能2: 保护这个npc不会被伤害和杀死,管理员可以使用
/clear npc
来清除npc
- 权限3: watcher.unlocknpc
- 指令3: /unlocknpc npc.id或boss名称或boss名称拼音缩写
- 功能3: 移除受保护的npc
- 权限4: watcher.listlocknpc
- 指令4: /listlocknpc
- 功能4: 列出所有受保护的npc
- 权限5: watcher.adduncheckeditem
- 指令5: /adduci item.id
- 功能5: 该插件的物品作弊检查功能不会检查这个物品,添加到豁免名单里
- 权限6: watcher.delunchecheditem
- 指令6: /deluci item.id
- 功能6: 移除这个物品不会被检查的效果,移除豁免名单
- 权限7: watcher.listuncheckeditem
- 指令7: /listuci
- 功能7: 列出所有避免被检查的物品
- 权限8: watcher.addmustcheckeditem
- 指令8: /addmci item.id
- 功能8: 设置该物品为必定检查(覆盖上面的免检查效果)
- 权限9: watcher.delmustcheckeditem
- 指令9: /delmci item.id
- 功能9: 删除该物品为必定检查
- 权限10: watcher.listmustcheckeditem
- 指令10: /listmci
- 功能10: 查看所有被强制检查检查的物品
- 权限11:watcher.clearcheatdata
- 指令11-1:/clearcd [玩家名字]
- 功能11-1:输入name来清理该玩家的作弊次数记录
- 指令11-2: /clearcdall
- 功能11-2: 来清理所有玩家的作弊次数记录
- 权限12:watcher.check
- 指令12-1:/check [玩家名字]
- 功能12-1:立刻检查这个玩家的所有物品是否符合规范
- 指令12-2:/check all
- 功能12-2:立刻检查所有人的物品是否规范
用法介绍
直接将插件放置于tshock插件文件夹里即可,默认修改控制台为中文,可改。
你可以在Watcher/logs文件夹里看到玩家日常信息搜集,在watcher/cheatlogs文件夹里看到作弊信息搜集,在Watcher/tshock_backups文件夹里看到备份的sqlite文件,在WatcherConfig.json里修改你需要的各种配置信息。在 cheatplayers.json 里查看哪些玩家作弊
输入 /locknpc kslzy 或 /locknpc 克苏鲁之眼或 /locknpc 4 或 /locknpc ky 或 /locknpc 克眼 那么克苏鲁之眼和克苏鲁之仆均不能被玩家杀死(对于boss,一次添加会同时保护boss和大多数boss的仆从,肢体等,这里 /locknpc 4 同时保护了克眼和仆从,对于机械骷髅王还会同时保护四个钳子,不需要用户一个一个输入指令来保护)
输入 /unlocknpc ky 将同时解除boss的仆从,肢体保护
输入/listlocknpc来查看哪些npc被保护
输入 /adduci 2624 来将海啸设置为不被检查的物品,因为Watcher插件有物品进度检测功能,在打败猪鲨之前获得海啸会被认定为作弊,使用此指令将该物品设置为豁免物,避免被检查
WatcherConfig.json配置文件介绍
一个可以详细修改功能的文件,修改后在控制台或游戏内使用 /reload 即可生效,下面对每个项进行了解释
JSON:
{
"是否备份tshockSql": true,
"tshockSql备份间隔分钟": 20, //每隔20分钟自动备份一次
"tshockSql备份时常分钟": 2880, //备份时长超过2880的备份会被自动删除
"启用物品作弊检测": true, //是否启用物品作弊检查
"单人物品检测概率": 0.2, //单人触发检查概率为20%,不建议调太高,小于0时关闭,大于1时概率恒等于100%,触发原理为拿起或丢掉一个物品
"全员物品检测间隔时间秒": 361, //每隔361秒对服内所有在线玩家进行检查,不建议调过低,会增加服务器负担
"不需要被作弊检查的物品ID": [], //在这里添加你不想要被检查的物品,比如误判物品
"必须被检查的物品_覆盖上面一条": [], //顾名思义,必定检查物品,会强制检查豁免物
"物品作弊警告方式": 3, //警告方式,下同,范围 0 ~ 5 整数,0为私聊口头警告,1为公告广播警告但不惩罚,2为公告广播警告并网住玩家一段时间,3为公开警告,并直接杀死玩家,4为直接踢出 ,5 为直接封禁,不建议用 5
"物品作弊是否计入总违规作弊次数": true, //总违规次数相当于原谅额度,不计入就只有警告方式的惩罚,其他啥事没有,当然你可以直接警告方式设为4,更暴力,总违规次数反而没什么意义了
"检测到违禁物时是否清空": true//顾名思义
"启用射弹伤害检测": true,
"射弹最大伤害": 3000, //射弹超过这个伤害判定为作弊
"伤害作弊警告方式": 3, //见上
"伤害作弊是否计入总违规作弊次数": true, //都见上
"启用浮标数目检测": true,
"最大浮标数目": 1, //最多允许一个浮标钓鱼
"钓鱼作弊警告方式": 3,
"钓鱼作弊是否计入总违规作弊次数": true,
"是否启用pe版星璇机枪bug检测": true,
"星璇机枪作弊警告方式": 3,
"星璇作弊是否计入总违规作弊次数": true,
"是否禁用肉前恶魔心饰品栏": true, //此功能不会算做违规作弊,仅算作一种强制执行指令而已
"最多违规作弊次数": 10, //超过这个次数直接封禁 ban ,没什么好说的
"需要被检测的玩家组": [ //只有在这些玩家组的用户才会被作弊检测检查
"default",
"vip"
],
"被保护的NPC": [ //这里填入你要保护的npc,比如这里是所有的蓝色史莱姆
1
],
"怪物捡到钱时是否消失": false, //一个鸡肋功能,原本打算防止玩家卡捡钱bug,默认关闭,该功能不会清理稀有精英怪和Boss
"消失要求的钱币上限": 100000, //当怪物捡到 0 ~ 上限 的钱数时会消失
"是否把对话内容写入日志": true, //都是写入watcher的日志,不是tshock日志,为了防止日志变得太对太难看而已。
"是否把丢弃物写入日志": true, //有时候因网络卡顿,某些丢弃物会反复写入多次,建议管理依照记录时间自行判断信息,下同
"是否把手持物写入日志": true,
"是否把生成射弹写入日志": true,
"任何日志的备份时常分钟": 21600, //超过这个时间的旧日志会被自动删除
"日志和作弊日志文件的最大MB": 5, //超过这个大小自动创建新日志
"拿持日志中的豁免物品ID": [2, 3], //为了防止日志记录一堆无效信息,会自动排除不写入相关物品的信息,这里的 2, 3 仅是例子,该插件已设定好默认的名单无需手动搜集
"丢弃日志中的豁免物品ID": [0, 2 ], //这里同上
"射弹日志中需要记录的危险的射弹物ID": [10, 11,] //这里是需要记录的危险射弹,如炸弹,腐化粉,黄沙溶液,血水等,该插件已设定好默认的名单无需手动搜集
}
CheatPlayers.json
一个用来保存作弊玩家信息的配置文件,防止在服务器关机后那些作弊玩家的数据丢失,不建议修改名称和UUID的数据,使用 /reload 指令依然有效
JSON:
{
"Message": [
{
"名称": "熊孩子", //捣乱者的名字
"UUID": "xxxxxx12345678xxxx", //UUID,方便管理直接ban掉他
"是否钓鱼作弊": false, //顾名思义,下同
"是否伤害作弊": false,
"是否物品作弊": true,
"是否星璇作弊": false,
"总违规次数": 5
}
]
}
其他(几乎都在上面说过了但我还要说一遍)
- 射弹检测排除了特殊武器,新更新的永夜,断钢剑,真永夜等搭配狂战士手套会误触发高伤害bug让tshock的检测系统误判,建议关掉原版的检测再开插件检测
- 物品检测其实就是根据游戏进度,查询玩家库存是否携带超进度物品,新的加了三种检测算法,一是根据地图图鉴来鉴定该生物是否被击杀,管理可以通过图鉴验证该生物的掉落物是否合理,只要该生物解锁(被玩家击杀了一次),掉落物就合理,但要注意,完全由岩浆和陷阱杀死的敌人不会算作图鉴里,只要你击中这个怪物一次那么由岩浆陷阱杀死的怪就算到图鉴里了,所以完全偷懒的方式获得的掉落物依然会被检测到。二是检查所有物品的合成物配方和材料组成,检查其下级合成物,但不会检查下级合成物的下级合成物。三是检查插件设置的一些数据,用于补全上述两种方法漏下的物品和一些地图种子,奇怪的东西的误判的东西的判断和修正。由于泰拉物品太多,若有物品判断错误请将它加入豁免物里并及时反馈(东西真的太多了,难免有误判的物品)。若是用户使用特殊地图,地图里包含正常地图不应该存在的超进度物品,则需要用户注意,避免错误踢人,可以在豁免物里写入这些物品。
- 新增了惩罚方式的选择,使用处在配置文件区,警告方式,范围 0 ~ 5 整数,0为私聊口头警告,1为公开警告但不惩罚,2为公告广播警告并网住玩家一段时间,3为公开警告,并直接杀死玩家,4为直接踢出 ,5 为直接封禁,不建议用 5
- 该插件日后缓慢更新
已知BUG
这里主要记录目前该插件发现的bug,因为插件更新要审核,物品太多导致bug多,我又不能修正一个误判物品更新一个插件,这里做下统计,希望插件使用者注意一下,若发现问题欢迎反馈。
- 微光分解泰拉刀可能会出现射弹伤害溢出的bug(我没触发过,但有人触发过,可能和配饰装备有关)
- 星璇机枪检测不太准。。。。
- 因微光分解大大混乱了一些物品的获得方法,我没有对所有的分解做出豁免,比如你未打败鹰身女妖却分解重力药水获得羽毛就会检测到作弊,建议管理员在询问爆出作弊的玩家时多问问那个人干了什么
代码很烂请大佬不要在意,欢迎大家使用(我太懒了,可能好久没更新github上的了)
开源地址:https://github.com/skywhale-zhi/Watcher