All versions
0.6.0-alpha
Alpha
BrowsMainer Online 0.6.0-alphalast week 10
Compatibility
Minecraft: Java Edition
1.21.11
Platform
Paper
Changes
Mainbrows Paper 0.6.0-alpha Changelog
Release date: July 31, 2026
Automatic Browser Runtime
- The Paper plugin now prepares and owns its browser worker automatically. A separately installed Mainbrows sidecar is no longer required for the standard server setup.
- Automatically downloads the configured Node.js runtime when it is not already available.
- Installs the bundled worker dependencies, Playwright Chromium, and the matching FFmpeg package inside
plugins/Mainbrows/runtime. - Verifies downloaded Node.js archives using their official SHA-256 checksums.
- Prevents platform-specific
node_modulesfiles from being reused after moving a server between Windows, Linux, x64, and ARM64 systems. - Performs startup self-tests for Node.js, Chromium, and FFmpeg before reporting the runtime as ready.
- Uses the full Playwright Chromium build and disables the Chromium sandbox for compatibility with managed game-server containers.
- Added
/display runtime retryto restart runtime preparation after correcting a configuration or container problem.
Linux and AMP Support
- Added runtime detection for Linux x64 and Linux ARM64 servers.
- On supported root-managed Debian/Ubuntu systems, the plugin can install required Chromium system libraries automatically through Playwright.
- Detects AMP installations and avoids running an unavailable or blocked
apt-getinstallation inside the AMP instance. - Detects whether the Paper process has root privileges before attempting system package installation.
- Checks Chromium with
lddand reports the exact missing Linux libraries when possible. - Runtime failures now explain whether installation was prevented by AMP, missing root privileges, a missing
apt-get, or disabled automatic dependency installation. - AMP error messages direct administrators to add the required Debian packages through the instance's Container Packages configuration and restart the instance.
Download and Setup Reporting
- Download progress is written to the server console once per second.
- Direct downloads report transferred size, total size, percentage, and transfer speed.
- Long-running npm and Playwright commands report their elapsed time and detected percentage when available.
- Timeouts now include the last relevant process output instead of only displaying a generic timeout message.
- Timed-out setup processes and their child processes are terminated cleanly.
- Runtime status reports the active Node.js, Chromium, and FFmpeg state.
Networking and Port Handling
- The privileged internal control API is restricted to
127.0.0.1. - The client-facing media stream uses WSS with a generated certificate and exact SHA-256 certificate pinning.
runtime.public-host: autoallows Fabric clients to use the Minecraft server address automatically.- Internal and stream ports are validated before the worker starts and may no longer use the same value.
- Port conflicts now identify whether
runtime.internal-portorruntime.stream-portis occupied. - Startup errors provide the relevant configuration key and distinguish an occupied port from a permission or firewall failure.
- If startup fails after opening one listener, the already-open listener is closed cleanly instead of remaining active.
- Health checks report success only after both the internal API and secure stream listener are ready.
Browser Sessions and Streaming
- Multiple viewers of one display share the same server-side Chromium session.
- Added synchronized playback preparation and start messages for buffered viewers.
- Late viewers can join an existing synchronized playback group.
- A buffer underflow rebuilds only the affected viewer's buffer instead of interrupting every connected viewer.
- Supports buffer durations from 1 to 30 seconds through
/display buffer start [seconds]and/display buffer stop. - Image and audio playback use a shared presentation timeline.
- Media packets include the display ID, worker generation, sequence number, presentation timestamp, and keyframe marker.
- H.264/Opus streaming includes JPEG/PCM fallback packets for compatible Fabric clients.
- The number of simultaneously active browser displays is configurable and defaults to four.
Navigation and Browser Controls
- The worker broadcasts committed page navigations to connected Fabric clients.
- Periodic synchronization checks the actual Playwright page URL and repairs a stale client toolbar URL.
- Reload, history navigation, direct URL navigation, keyboard, pointer, and scroll commands are forwarded to the shared browser session.
- Popup navigation is handled inside the existing display session when the destination is allowed.
- Navigation failures and blocked targets now provide more useful server log entries.
Security and Administration
- Stream connections use scoped, signed, expiring access tokens.
- Tampered and expired stream tokens are rejected.
- Browser downloads are disabled and download attempts are cancelled.
- Website blocking supports exact domains and wildcard subdomains.
- The blocked website configuration can be reloaded without restarting the server.
- Browser profiles remain separated by display ID.
Media Compatibility
- Added browser audio capture and server-side PCM/Opus processing.
- Added TikTok codec probing, detailed media error reporting, and a temporary WebM fallback path.
- Improved Chromium launch diagnostics for missing libraries and container sandbox restrictions.
Known Limitations
- Widevine/DRM is not included. DRM-protected services such as Crunchyroll may still fail with errors such as
KAT-6005. - TikTok may reject fallback media requests with CDN
HTTP 403; affected videos cannot be converted when this occurs. - AMP does not allow the plugin to install system packages inside the running instance. Missing Chromium libraries must be configured under Container Packages, followed by an instance restart.
- The initial runtime setup requires outbound internet access and sufficient storage for Node.js, npm dependencies, Chromium, and FFmpeg.
runtime.stream-portmust be reachable by players and must not already be used by another process or an old manually started sidecar.
Compatibility
- Paper 1.21.11
- Java 21 or newer
- Windows x64
- Linux x64
- Linux ARM64
- Matching Mainbrows Fabric mod required for in-world browser rendering and interaction
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:uBNT5oUR:hDdo86kH"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:uBNT5oUR:hDdo86kH"
}

