在手机上随时翻看服内公屏与 QQ 群聊记录
有时候玩家在群里说“刚才服里有人吵架”或者“有人在公屏问了个问题没人回”,光看服务器 TPS 监控是看不出名堂的。于是在 2026 年 7 月 25 日到 26 日(v1.0.2~`v1.0.5,Commit 399a278、ce3a1b4`),我给 IGNGmc 手机端底栏加上了全新的“聊天”板块。
点进这个页面,你可以随时切换查看各个 Minecraft 子服的服内公屏聊天记录,以及官方 QQ 群的历史消息流。为了让大家往上翻历史消息时眼睛不累,我专门做了列表锚点保持:手指滑到顶部自动触发加载更早的消息时,当前正在看的这一行文字稳稳停在屏幕原位,绝对不会突然往上跳一下打断阅读。
怪事:为什么 QQ 群的聊天时间全跑到了“8 小时后的未来”?
聊天流刚接通上线,我就发现了一个让人哭笑不得的怪现象:切到 MC 游戏服内聊天频道时,每条消息的时间显示得准准的;可一切到 QQ 群聊天记录频道,明明是刚才下午 2 点发的话,手机上却赫然显示“晚上 10 点”——所有 QQ 消息的时间全都比实际晚了整整 8 个小时,仿佛大家都在未来聊天!
我赶紧抓包看了一下服务端接口吐出来的 JSON。不看不知道,一看乐了:采集 QQ 群消息入库的时候,存进去的明明已经是北京时间(+08:00)的本地墙钟字符串,可服务端接口在序列化输出时,居然不分青红皂白直接在字符串末尾硬拼了一个代表零时区(UTC)的字母 Z!
安卓客户端的日期解析器看到末尾带着 Z,老老实实把它当成伦敦时间,再按手机系统所在的东八区往上加了 8 个小时,结果北京时间又被加了一次时差,直接飘到了 8 小时之后。
针对性纠偏与全新服务器控制台图标
找到原因后,我在 v1.0.5 里专门针对这条接口的伪 UTC 时间串做了按 Asia/Shanghai 的归一化解析修正,两边的时间终于严丝合缝地对上了。
在同一批更新里,我还给应用换上了支持 Android 13+ 单色主题的 Adaptive Icon 自适应图标;随后在 8 月 17 日发布的 v1.0.6 中,又进一步把应用图标打磨成了更有质感的深色哑光服务器控制台风格。