Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Creators
Details
If you need any assistance, please reach out in our Matrix Room
If using with 'Better Than Adventure', this mod requires Java 11 or newer, and will crash on Java 8. Additionally, a dependency override for Fabric Language Kotlin is necessary. More information is available at the bottom of this page.
Matrix Bridge
Matrix Bridge allows users to bridge a Minecraft server's chat with a Matrix room. This mod enables Matrix users to talk with Minecraft players, without logging into the Minecraft world.
This bridge will send server start, server stop, player join, player leave, player death and player chat messages. This bridge also includes bridge commands '!list', '!ping' and '!invite', which allows Matrix-side users to retrieve a player list, ping the server and whitelist a player respectively.
This mod uses password-based login, and supports encrypted rooms and session verification. Additionally, a YAML-based configuration file is available, alongside support for various databases including H2 (default), SQLite, MariaDB and PostgreSQL.
This mod will be ported to different game versions as requested. Should you wish to submit feedback, request a new port or otherwise need general assistance, please join our support room.
Matrix Bridge utilises the Trixnity Matrix SDK, and depends on the Fabric Language Kotlin mod.
Configuration
Spoiler
config.yaml
# +---------------------------------------------------+
# | |
# | Matrix Bridge Configuration |
# | |
# +---------------------------------------------------+
# Please ensure that all values follow the YAML standard.
# Indentation is important! Tabs are not allowed.
# Refer to "https://www.tutorialspoint.com/yaml/" for a detailed explanation.
#
# Improperly set values will default. Integers -> 0, Booleans -> false, Verify Type -> DISABLED, Database Type -> H2.
# Please ensure your values are set properly!
#
# This file is never modified. This file is only written to when it is being generated.
# This file is comment-safe. They will not disappear.
#
# If you need assistance, please join our Matrix room "https://matrix.to/#/#sophie.projects:aenead.net".
# Thank you! <3
# DO NOT MODIFY. Used to detect when you need to update config.
version: 2
# Reveals Trixnity log messages. Useful for debugging.
verbose: false
# +---------------------------------------------------+
# | |
# | Account |
# | |
# +---------------------------------------------------+
# Settings used to sign in to the bot account.
account:
# Synapse URL. Supports delegation.
homeserver: "https://matrix.example.org"
# Account login username. Localpart of user's MXID.
username: "user"
# Account login password. Does not support tokens or SSO.
password: "pass"
# Bridge session device name.
device_name: "Matrix-Minecraft Bridge"
# Internal ID of room to send messages to.
room: "!sdfDsdfsA:matrix.example.org"
# +---------------------------------------------------+
# | |
# | Verification |
# | |
# +---------------------------------------------------+
# Settings used to enable session verification and encryption.
verification:
# Either KEY, PASSPHRASE or DISABLED. All other values will be rejected.
type: "KEY"
# Token (either a key or passphrase) to verify bridge session.
token: "AaAA aaAa AAaa..."
# +---------------------------------------------------+
# | |
# | Database |
# | |
# +---------------------------------------------------+
# Settings used for database configuration.
database:
# Either H2, SQLITE, MARIADB or POSTGRESQL. All other values will be rejected. Default is H2.
type: "H2"
# Name of database. If type is H2 or SQLITE, represents file name. Otherwise, represents database to connect to.
name: "database"
# Host and port to connect to database.
hostname: "localhost:3306"
# Database login username. Only used with MARIADB and POSTGRESQL.
username: "user"
# Database login password. Only used with MARIADB and POSTGRESQL.
password: "pass"
# +---------------------------------------------------+
# | |
# | Commands |
# | |
# +---------------------------------------------------+
# Settings for bridge commands.
commands:
# '!list' command. Lists online players. Supported placeholders: %players%
list:
format: "📜 Online players: %players%"
enabled: true
# '!ping' command. Bridge prints message to ensure connection.
ping:
format: "🏓 Pong!"
enabled: true
# '!invite' command. Whitelists a player. Supported placeholders: %player%
invite:
format:
success: "🔵 '%player%' has been whitelisted!"
error: "🔵 '%player%' could not be found. Usage: !invite <username>"
already: "🔵 '%player%' is already whitelisted!"
enabled: false
# Message sent to Matrix when a performed command is invalid. Supported placeholders: %commands%
invalid_command: "⛔ Command not found! Available commands: %commands%"
# Message sent to Matrix when a performed command is disabled.
disabled_command: "⛔ Command disabled! Please contact an administrator."
# +---------------------------------------------------+
# | |
# | Messages |
# | |
# +---------------------------------------------------+
# Message formats! Some messages use placeholders. Available placeholders are stated in the comments.
# Available placeholders: %player%, %message%, %commands%
messages:
# Message sent when the server starts.
start:
format: "❇ Server started"
enabled: true
# Message sent when the server stops.
stop:
format: "🛑 Server stopped"
enabled: true
# Chat message format as viewed in Minecraft. Supported placeholders: %player%
chat_matrix_to_minecraft:
format: "[§e%player%§r] "
enabled: true
# Chat message format as viewed on Matrix. Supported placeholders: %player%
chat_minecraft_to_matrix:
format: "<%player%> "
enabled: true
# Message sent to Matrix when a player joins the server. Supported placeholders: %player%
player_join:
format: "🔹 %player% joined the game"
enabled: true
# Message sent to Matrix when a player quits the server. Supported placeholders: %player%
player_quit:
format: "🔹 %player% left the game"
enabled: true
# Message sent to Matrix when a player dies. Supported placeholders: %message%
player_death:
format: "🪦 %message%"
enabled: true
# Message sent to Matrix when a player makes an advancement. Supported placeholders: %player%, %advancement%
player_advancement:
format: "🎉 %player% has made the advancement '%advancement%'!"
enabled: true
Better Than Adventure
Please ensure that you are using Java 11 or newer, as this mod will crash on Java 8.
As of 2025-08-06, a dependency override for Fabric Language Kotlin (FLK) is necessary. FLK requires Fabric Loader 0.16.9+, which is unavailable for BTA Babric. Such a new version of FLK is required to support the most recent Matrix features (such as room v12).
Please place the following file in your server's config directory.
Spoiler
fabric_loader_dependencies.json
{
"version": 1,
"overrides": {
"fabric-language-kotlin": {
"-depends": {
"fabricloader": "IGNORED"
}
}
}
}