No Chat Reports
本模组会移除自1.19版本起附加在每条聊天消息上的加密签名。移除这些签名后,将无法追踪并将你的聊天消息与你的Minecraft客户端(进而与你的微软账户)关联起来。
自1.19.1起,它还会禁用玩家聊天举报功能
请注意,虽然我了解Guardian以及其他一些允许你在客户端上对抗服务器强制执行的举报系统的漏洞利用方法,但我有意识地选择不将它们集成到本模组中。No Chat Reports 只有在服务器允许的情况下才能在客户端保持有效。如果你不喜欢那些强制要求聊天签名并完全支持聊天举报的服务器——我建议直接不要在这些服务器上游玩。
此外,虽然有许多插件“借用”了NoChatReports的名称甚至图标,但请注意我并非这些插件的作者,也无法保证它们的工作效果。
安装与使用:
NoChatReports 同时支持 Fabric 和 Forge,只需下载对应你的模组加载器和游戏版本的模组即可。它可以安装在客户端、服务器端,或两端都安装,根据其存在的端不同,功能也会有所不同:
1. 仅客户端: 客户端将拒绝向服务器发送账户的公钥,并且从你发送的消息中剥离签名。这样一来,试图举报你的消息将毫无用处,因为没有证据证明这些消息确实是从你的账户发出的。服务器会转发这些消息,除非在 server.properties 文件中将 enforce-secure-profile 选项设置为 true(自1.19.1起,此选项默认即为 true)。
如果服务器确实要求你对消息进行签名,并且你使用的是1.19.1或1.19.2版本,除非你同意发送已签名的消息(NoChatReports会提供一个警告屏幕),否则你将无法加入服务器。如果你使用的是1.19.3或更高版本,你仍然可以加入服务器,但将无法使用与聊天相关的命令(其他命令仍然有效)。
2. 仅服务器: 客户端在向服务器发送消息时仍会附加签名,但服务器会在将消息转发给其他玩家之前剥离签名。这样一来,任何加入的玩家都无法进行聊天举报。你可以在配置中启用将玩家消息转换为系统消息的功能,以防止没有安装此模组的玩家看到“不安全”的提示。
自1.20.2起,服务器无法在客户端上禁用“未签名消息”警告。只有当客户端安装了NoChatReports(或类似模组)时,此警告才能被禁用。
3. 客户端和服务器均安装: 签名将在客户端发送消息到服务器之前被剥离,服务器将不会尝试验证消息签名。聊天举报和“仅显示安全聊天”功能将失效,当玩家尝试使用这些功能时,模组会通知他们这些功能已被禁用。
尽管NoChatReports在仅安装于其中一端时也能发挥作用,但可以配置为要求另一端也必须安装才能进行游戏。这样,你可以在服务器上安装它,并要求所有加入的客户端都必须安装NoChatReports,当然你也可以选择仅在服务器端安装。
此外,如果安装在客户端,NoChatReports将禁用遥测功能(类似于No Telemetry的作用)。
要确保你的服务器与NoChatReports兼容,可以查看维基的此部分。
配置
配置文件位于默认配置文件夹的 NoChatReports 子文件夹中。
NCR-Client.json 存储客户端设置
NCR-Common.json 存储服务器端设置
NCR-Encryption.json 存储聊天加密设置(仅在客户端有效)
NCR-ServerPreferences.json 存储每个服务器的签名模式
你可以在这里找到更多信息。
聊天加密
我制作了一个专门介绍聊天加密的视频,观看它将帮助你了解如何使用它(以及你是否应该使用):https://www.youtube.com/watch?v=e7RzNP32k-s
文档:
你可以在维基上找到关于此模组的文档和其他相关信息。目前包含以下文章:
致开发者:
如果你开发自己的模组、插件或其他服务器软件,以某种方式防止聊天举报,你可以让安装了No Chat Reports的客户端将运行你软件的服务器识别为安全的。我写了一篇简短的文章介绍这一点。如需澄清或进一步咨询,请通过Discord联系我,链接在“外部资源”中。
缘由:
请观看我的视频,了解游戏中消息签名和聊天举报的工作原理、它们的缺陷以及创建此模组的原因:
- https://www.youtube.com/watch?v=hYAUEMlugyw
- https://www.youtube.com/watch?v=DobmW1ZUcbQ
- https://www.youtube.com/watch?v=gH_q7ZuCJs0
