Skip to content

v0.4.3 - Bug fix

Choose a tag to compare

@github-actions github-actions released this 26 Jan 10:06
· 238 commits to master since this release

简体中文 (Simplified Chinese)

🐛 问题修复

  • Majsoul 断线重连稳定性增强:
    修复了在雀魂平台协议解析中,若 syncGame 消息中缺失 ActionNewRound 动作时可能导致的程序崩溃问题。现在系统可以更稳健地处理重连时的状态恢复。
  • 状态同步隔离修复:
    修复了 start_kyoku 事件对象与内部状态(my_tehais 等)共享引用的 Bug。此前,后续的游戏动作可能会意外篡改已生成的 start_kyoku 事件数据。修复后确保了日志与状态回放的准确性,解决了断线重连后可能出现的 Bot 逻辑误判问题。

⚡ 改进与优化

  • 冗余立直逻辑优化:
    移除了冗余的 is_riichi_relevant 检查逻辑。此前代码会通过 is_riichi_relevant(self.engine) 二次验证立直合法性,但在某些立直推演或批处理推理场景下,该检查可能与当前决策的 Meta 数据不完全一致。由于模型输出的 top_3_actions 已经蕴含了基于 mask_bits 的合法性判断,移除该冗余检查可有效避免状态失配引发的异常。

⚠️ 已知问题

  • 一番街 (Riichi City) 推荐展示异常:
    目前已知无法在一番街平台正常展示打牌推荐。该问题已列入待排查清单。

English

🐛 Bug Fixes

  • Majsoul Reconnect Stability:
    Fixed a potential crash in Majsoul bridge parsing when the syncGame response lacks an explicit ActionNewRound action. The system now handles state recovery more robustly during reconnections.
  • Event Immutability & State Isolation:
    Ensured that start_kyoku event objects remain immutable. Fixed a reference-sharing bug where subsequent game actions (discards/draws) could mutate the initial hand data in the start_kyoku event. This prevents state corruption and bot hallucinations during history replay after a reconnect.

⚡ Improvements

  • Optimized Riichi Validation:
    Removed redundant is_riichi_relevant checks. The previous secondary verification using engine-level states was prone to mismatches in lookahead or batched inference scenarios. Since the model's top_3_actions already implies legality via mask_bits, the bot now directly trusts its inference output, simplifying the decision flow and improving reliability.

⚠️ Known Issues

  • Riichi City Recommendation Display:
    Recommendations are currently not displaying correctly on the Riichi City platform. Investigation is ongoing.

Full Changelog: v0.4.2...v0.4.3