Overview
BridgeServer exports live gameplay events to your website, bots and Discord
BridgeServer is a read-only events server. Your GameServer reports what happens in the world, BridgeServer stores it, streams it, and announces it in Discord - and serves rankings and profiles from the game database over a plain HTTP API.
It is an optional component. Your server runs perfectly without it.
Role
Accepts event pushes from one or more GameServers, authenticated with a shared key
Keeps a rolling history of events in its own database file
Streams events live to any number of subscribers
Serves rankings, character and guild profiles, castle siege state and population from the game database, read-only
Optionally relays announcement-worthy events to a Discord webhook
Read-Only by Contract
BridgeServer has no path back into the game. Nothing it exposes can create an item, move a character, or write to the game database. The GameServer connects outward to BridgeServer, so BridgeServer needs no route into your game network, and BridgeServer being down, restarting or unreachable cannot stall or crash your server.
Events produced while BridgeServer is unreachable are lost rather than queued. A Bridge outage is a gap in the feed, never a gap in the game.
File Location
BridgeServer/
├── BridgeServer.exe
├── BridgeServer.ini
├── bridge.db (created on first run)
└── Log/
└── YYYY-MM-DD.txtAll configuration lives in the BridgeServer root. There is no Data/ subfolder.
Configuration Files
Ports, shared key, Discord webhook, game database access, license
GameServer side - which events are exported
Ports
Ingest
55980
Your GameServers only. Never expose this publicly
HTTP
55981
Your website, bots and dashboards
Startup Order
Dependencies
At least one GameServer with the Bridge plugin enabled and pointed at this host
Optional: an ODBC data source for the game database, for rankings and profiles
Optional: a Discord webhook URL for the built-in relay
A firewall that keeps the ingest port private, and exposes the HTTP port only as far as you actually need
The History Store
bridge.db holds exported events for the history endpoint. It is telemetry, entirely separate from your game database, and is safe to delete - you lose event history, nothing else. It grows with your event volume, so a server exporting all chat and every monster kill will grow it far faster than one exporting only announcements.
Population and event-schedule gauges are snapshots, not history: they are cached and streamed live, never written to the history store or relayed to Discord.
Discord Relay
Set DiscordWebhookUrl and the announcement-worthy events - player kills, boss kills, rare drops, resets, event starts and winners, shop sales, sell posts, chaos results and global posts - are posted as embeds, batched to respect Discord's rate limits.
DiscordRelayAll=1 mirrors everything, including logins, chat, trades and monster kills. That is a demonstration mode, not a production setting.
For real deployments the usual pattern is the other way round: read the HTTP API from your own bot and route events to whichever channels you like, with your own formatting.
Logs
Log/YYYY-MM-DD.txt is appended throughout the day, with a new file on the first event after the local date changes. Old log files accumulate; archive or delete as needed.
Common Issues
BridgeServer exits at startup - license key missing or invalid, or the
axiom-bridgemodule is not on the licenseNo events arrive - the GameServer plugin is disabled, points at the wrong host or port, or the shared keys differ
Rankings and profiles return 503 -
MuDbODBCis empty, the data source name does not exist on this machine, or the first refresh has not completed yetNothing appears in Discord -
DiscordWebhookUrlis empty or the webhook was deleted; check the log for delivery failuresbridge.dbis growing fast - chat export or monster-kill export is on
Related
BridgeServer.ini - ports, shared key, Discord, database, license
HTTP API - endpoints for your website and bots
Bridge Config.xml - GameServer side: what gets exported
Last updated