BridgeServer.ini
Ports, shared key, Discord webhook, game database access and license for BridgeServer
Every BridgeServer setting lives in one INI section.
File Location
BridgeServer/BridgeServer.iniRead once at startup. Restart BridgeServer after any change.
Full File
[BridgeServerInfo]
IngestPortTCP = 55980
HttpPort = 55981
MaxIpConnection = 10
SharedKey =
DiscordWebhookUrl =
DiscordRelayAll = 1
MuDbODBC = MuOnline
MuDbRefreshSeconds = 60
LicenseKey = PUT-YOUR-LICENSE-KEY-HERESettings
IngestPortTCP
port
55980
Where GameServers push events. Must match Port in the Bridge plugin config. Keep this private
MaxIpConnection
int
0
Maximum simultaneous ingest connections per source IP. 0 blocks every ingest connection - never use it. The shipped template uses 10; if the key is missing from the file the parser also defaults to 0 and no GameServer can publish events
SharedKey
string (up to 32 chars)
empty
Key a GameServer must present to publish events. Empty = accept any GameServer, which is fine on localhost and nowhere else
DiscordWebhookUrl
URL
empty
Discord webhook for the built-in announce relay. Empty = relay disabled
DiscordRelayAll
0/1
0
1 = mirror every event to the webhook (demonstration mode). 0 = announcement-worthy events only. The shipped template sets 1; if the key is missing the server uses 0
MuDbODBC
DSN name
empty
ODBC data source for the game database, used for rankings and profiles. Empty = those endpoints return 503
MuDbUSER
string
empty
SQL username, only for data sources that are not using Windows authentication
MuDbPASS
string
empty
SQL password, only for data sources that are not using Windows authentication
MuDbRefreshSeconds
int
60
How often ranking caches are rebuilt from the database
LicenseKey
string
-
The same license key as your other AXIOM servers
ControlKey
string
empty
Key the Server Manager must present. Empty = no key, only safe while ControlBind is 127.0.0.1
ControlBind
IP
127.0.0.1
Address the control channel listens on. 0.0.0.0 lets a Server Manager on another machine connect - set a ControlKey first
ControlInstance
string
empty
Optional label for this instance, shown to the Server Manager when you run more than one
The four Control* keys are not in the shipped template. Add them under [BridgeServerInfo] only when you need to change the defaults.
Database Access
MuDbODBC follows the same pattern as DataServerODBC in DataServer.ini: create a System DSN on the machine running BridgeServer and name it here. Authentication normally comes from the data source itself (Windows authentication), which is why MuDbUSER and MuDbPASS are usually left empty.
Access is read-only. BridgeServer issues queries for rankings, character and guild profiles, castle siege state and population counts, and never writes.
Ranking Cache
Ranking lists are rebuilt on a timer and served from memory, so ranking requests never queue behind your game traffic. MuDbRefreshSeconds = 60 means rankings can be up to a minute stale, which is almost always the right trade. Character, guild and siege lookups are answered live because they are keyed by name and cheap.
Lowering this to a few seconds puts real load on the game database. Raising it costs nothing but freshness.
Examples
No shared key, every event mirrored to a test channel.
Keyed ingest, announcements only, read-only database login.
Your own bot reads the API and does the routing.
Network Exposure
Ingest port: GameServers only. BridgeServer always listens on every network interface for this port; there is no setting to bind it to
127.0.0.1. Use the Windows firewall to allow only your GameServer addresses (or block it from outside entirely on a single-host setup).HTTP port: also listens on every interface, with no bind setting. It is read-only, but it does publish player names, locations and chat. Block it at the firewall and put it behind a reverse proxy if you want TLS, caching or rate limiting - BridgeServer does none of those itself.
Control port: listens on
ControlBind, which is127.0.0.1by default, so it is local-only unless you change it.
Common Issues
BridgeServer exits immediately -
LicenseKeymissing or invalid, or theaxiom-bridgemodule is not on the licenseA port fails to bind - another process already holds
IngestPortTCPorHttpPortGameServer connects and is dropped -
SharedKeyhere andKeyin the plugin config are not identicalGameServers cannot publish events at all -
MaxIpConnectionis0or missing from the fileRankings return 503 -
MuDbODBCis empty, the DSN does not exist on this machine, or the first refresh has not finishedDatabase connects but rankings are empty - the DSN points at the wrong database, or the login cannot read the game tables
Discord is flooded -
DiscordRelayAll = 1; set it to0for announcements only
Related
Bridge Config.xml - GameServer side
Last updated