A Matrix bridge for Steam Chat. Built using the mautrix-go bridgev2 framework and SteamKit API.
The bridge consists of two main components:
- Go Bridge Service: Matrix integration using mautrix-go bridgev2 framework
- C# gRPC Service: Steam integration using SteamKit2 library
The Go service communicates with the C# SteamBridge service via gRPC to handle Steam authentication, messaging, and presence updates.
Please see ROADMAP.md
- Go 1.24.6 or later
- libolm
- .NET 8.0 SDK
-
Clone the repository
git clone https://github.com/jasonlaguidice/matrix-steam-bridge cd matrix-steam-bridge
-
Build the bridge
./build.sh
Docker images are available for multiple architectures:
# Pull the latest image
docker pull ghcr.io/jasonlaguidice/matrix-steam-bridge:latest
# Run with your config
docker run -v /path/to/your/config:/app/config ghcr.io/jasonlaguidice/matrix-steam-bridge:latest
Supported architectures: linux/amd64
, linux/arm64
-
Generate an example configuration
./steam -e
-
Edit the configuration to match your Matrix homeserver settings:
- Set your homeserver address and domain
- Configure database settings (SQLite or PostgreSQL)
- Set bridge permissions for your users
-
Generate the appservice registration
./steam -g -c ./config.yaml -r ./registration.yaml
-
Register the bridge with your Matrix homeserver by adding the registration file to your homeserver configuration
-
Start the bridge
./steam -c ./config.yaml
- Generate a bridgev2 configuration using
bbctl config --type bridgev2 [bridge name]
and save the resultant configuration file in the bridge main directory./bbctl config --type bridgev2 sh-steam > ./config.yaml
- Run the bridge with the standard run command
./steam -c ./config.yaml
- Invite the bridge bot to a new Matrix room - it will automatically mark the room as your management portal room
- Login to Steam using one of these methods:
login qr
- QR code authentication (recommended)login password
- Username/password login
- Start chatting - The bridge will automatically create portals for your Steam friends as messages are received
├── cmd/steam/ # Go bridge main entry point
├── pkg/
│ ├── connector/ # mautrix bridgev2 connector implementation
│ └── steamapi/ # Generated gRPC client code
├── SteamBridge/ # C# gRPC service using SteamKit2
│ ├── Services/ # gRPC service implementations
│ ├── Proto/ # Protocol buffer definitions
│ └── Models/ # Data models
├── config.yaml # Bridge configuration (create from example)
└── registration.yaml # Matrix appservice registration
- Matrix Room: #matrix-steam-bridge:shadowdrake.org
- Issues: GitHub Issues
- Contact: @jason:shadowdrake.org
- Built with mautrix-go bridgev2 framework
- Steam integration powered by SteamKit2
- Some code in this repository was generated using the assistance of AI