config.yml
Loading and Reloading
Section titled “Loading and Reloading”The file is plugins/PortBridge/config.yml. Edit it and use /port reload to publish a validated replacement along with messages. Invalid types or ranges reject loading; after a failed reload, the previous settings remain active.
An active tunnel reconnects with the replacement settings. An explicitly stopped tunnel stays stopped. Local Minecraft and public relay ports are separate settings.
Automatic Startup
Section titled “Automatic Startup”startup: auto-start: true delay-seconds: 3| Key | Default | Range / type | Purpose |
|---|---|---|---|
auto-start | true | Boolean | Open a tunnel automatically after server startup |
delay-seconds | 3 | 0–3600 | Delay before preparing Bore and checking the Minecraft listener |
The listener must answer Minecraft status requests before the tunnel can start. With automatic startup disabled, use /port start.
Local Minecraft Listener
Section titled “Local Minecraft Listener”local: auto-detect: true host: '127.0.0.1' port: 25565| Key | Default | Range / type | Purpose |
|---|---|---|---|
auto-detect | true | Boolean | Read the running server’s server-ip and server-port |
host | 127.0.0.1 | Host without a port or URL scheme | Explicit listener host when automatic detection is disabled |
port | 25565 | 1–65535 | Explicit listener port when automatic detection is disabled |
Wildcard server bindings are contacted through 127.0.0.1. Automatic detection does not change Minecraft’s port or router settings. Keep enable-status=true in server.properties.
Public Relay
Section titled “Public Relay”relay: host: 'bore.pub' public-host: '' port: 0 fallback-to-random: true secret: ''| Key | Default | Range / type | Purpose |
|---|---|---|---|
host | bore.pub | Host without a port or URL scheme | Bore control server; the control connection uses TCP 7835 |
public-host | Empty | Optional host without a port or URL scheme | Hostname shown to friends and used for public probes |
port | 0 | 0–65535 | 0 requests a free public port; another value requests that port |
fallback-to-random | true | Boolean | Retry once with a random port when the requested port is occupied |
secret | Empty | Up to 4096 characters, without control characters | Shared secret required by a private relay |
Leave public-host empty unless the replacement hostname reaches the forwarded Minecraft port. Bore’s secret is passed through the client environment and redacted from logs. See tunnels and relays for a private-relay example.
Bore Installation
Section titled “Bore Installation”bore: auto-download: true executable: '' download-timeout-seconds: 60| Key | Default | Range / type | Purpose |
|---|---|---|---|
auto-download | true | Boolean | Download pinned Bore v0.6.0 when a valid managed binary is missing |
executable | Empty | File path without control characters | Custom executable; empty uses the managed binary |
download-timeout-seconds | 60 | 5–600 | Total managed-download timeout |
Managed archives and cached executables use SHA-256 verification. Managed downloads support Windows x64/x86 and Linux/macOS x64/ARM64. Relative custom paths resolve under plugins/PortBridge/; custom executables are outside managed digest verification.
Reconnection
Section titled “Reconnection”reconnect: enabled: true initial-delay-seconds: 5 max-delay-seconds: 60 max-attempts: 0| Key | Default | Range / type | Purpose |
|---|---|---|---|
enabled | true | Boolean | Retry process failures and failed public routes |
initial-delay-seconds | 5 | 1–3600 | Initial retry delay |
max-delay-seconds | 60 | 1–3600 | Maximum retry delay; must be at least the initial delay |
max-attempts | 0 | 0–1000 | Retry limit; 0 keeps retrying until explicitly stopped |
Retry delays double gradually up to the maximum. /port stop cancels retries and invalidates earlier callbacks.
Public Health Checks
Section titled “Public Health Checks”health: enabled: true interval-seconds: 30 timeout-seconds: 5 failure-threshold: 3| Key | Default | Range / type | Purpose |
|---|---|---|---|
enabled | true | Boolean | Verify Minecraft status and a matching ping through the public route |
interval-seconds | 30 | 5–3600 | Time between public probes |
timeout-seconds | 5 | 1–30 | Local and public probe timeout; cannot exceed the interval |
failure-threshold | 3 | 1–100 | Consecutive failed public probes before reconnection |
Disabling public checks still requires a successful local listener check. The relay connection is then displayed as unverified. Health checks do not perform a Minecraft login.
Notifications and Diagnostics
Section titled “Notifications and Diagnostics”notifications: on-admin-join: true
debug: false| Key | Default | Type | Purpose |
|---|---|---|---|
notifications.on-admin-join | true | Boolean | Show the current connection panel to joining players with portbridge.address |
debug | false | Boolean | Log additional Bore output with the configured relay secret redacted |
Joining-player notifications recheck the current setting, player permission, and tunnel state before sending. See permissions for address and management access.
bStats Preferences
Section titled “bStats Preferences”bStats uses its own shared file, plugins/bStats/config.yml. To disable anonymous usage statistics, set enabled: false there and restart the server. This setting is separate from Port Bridge’s tunnel configuration.
Browse the bundled config.yml for the complete commented defaults, or continue with messages.yml to customize chat output.