MC Matrix Bridge

一个用于在Minecraft服务器和matrix房间之间桥接聊天的forge/neoforge模组。

Minecraft Matrix Bridge

在 Minecraft 服务器与 一个 Matrix 房间之间桥接聊天(仅限未加密)。

功能

  • MC → Matrix:将玩家聊天转发到 Matrix 房间。
  • Matrix → MC:将 Matrix 房间中的 m.text 消息转发到 Minecraft 服务器聊天。
  • 仅服务端:原版客户端无需安装任何内容即可加入(无需客户端模组)。
  • 同步状态存储在世界存档中(防止重启时重放刷屏)。
  • 如果机器人被邀请到配置的房间但尚未加入,它会在启动时自动接受邀请并加入。

要求

  • Java 17(Forge 1.18–1.20)或 Java 21(Forge 1.21+)
  • 与版本匹配的 Minecraft Forge 服务器。我仅在流行的次要版本中手动测试过,希望它在其他次要版本中也能正常工作。
    • 1.18.2
    • 1.19.2
    • 1.20.1
    • 1.21.1
  • Matrix 房间必须未加密(无 E2EE)

安装

  1. 下载 jar 文件。
  2. 将 jar 放入 Forge 服务器的 mods/ 文件夹。
  3. 启动服务器一次以生成配置文件。

配置

编辑 config/minecraftmatrixbridge.toml

  • matrix.homeserver(必填)例如 https://matrix.example.com
  • matrix.roomId(必填)房间 ID !abcdef:example.com 或房间别名 #myroom:example.com(房间不应加密
  • matrix.accessToken(必填,或使用环境变量 MATRIX_ACCESS_TOKEN

可选:

  • bridge.enableMcToMatrix(默认 true
  • bridge.enableMatrixToMc(默认 true
  • bridge.announceConnected(默认 true)公告 Matrix room connected: {roomIdOrAlias}
  • bridge.enableJoinLeaveToMatrix(默认 false)向 Matrix 发送 {player} joined/left the game
  • bridge.enableServerLifecycleToMatrix(默认 false)向 Matrix 发送 Server started/stopping
  • bridge.mcToMatrixPrefix(默认 [MC]
  • bridge.matrixToMcPrefix(默认 [Matrix]
  • bridge.syncTimeoutMs(默认 30000
  • bridge.timelineLimit(默认 20
  • bridge.maxQueueSize(默认 1000
  • bridge.dedupSize(默认 512

世界存档状态

同步状态存储在:

  • <world>/data/minecraftmatrixbridge/state.json

命令

仅限 OP:

  • /matrix status:显示桥接状态
  • /matrix reload:重新加载桥接配置
  • /matrix test:向 Matrix 发送测试消息

致谢

我感谢那些优秀的模组项目(例如 Matrix Bridge),它们启发我创建了这个项目。

许可证

本模组基于 AGPL-3.0 许可证授权。