Skip to content

BRUH Minecraft Server

A production Minecraft server inside Home Assistant — with Bedrock cross-play, world version control, mobile-friendly panel, and a first-class HA integration.

What it is

A Home Assistant add-on that runs a real Minecraft Java Edition server — Paper, Purpur, Folia, Vanilla, Fabric, or Forge — with a management panel in your HA sidebar. No VPS. No proxy jars. No Microsoft account required when you don’t want one.

The BRUH Minecraft management panel Dashboard tab showing server status, uptime, memory, TPS, and online players

For the players

Bedrock cross-play

iOS, Android, Switch, Xbox, PS, Win10/11. Auto-installs Geyser + Floodgate. LAN auto-discovery — the server appears in the Friends tab on any device on the same subnet, no manual IP entry.

No-Xbox family mode

Set a world’s online-mode=false and the add-on silently fixes every downstream setting — secure-profile, Geyser auth, Floodgate, Bedrock validation. Kids without Microsoft accounts join in seconds.

Per-world settings + one-click ops

Every world owns its own server.properties — creative sandbox and hard survival side by side, edited live from the panel’s Server Properties tab. OP anyone with one click on the Players tab; ops persist per world.

Voice Chat ready

Port 24454/UDP is exposed by default. Drop the Simple Voice Chat plugin into the plugins: list and players get spatial in-game voice.

For the operator

Any flavour, any version

Paper, Purpur, Folia, Vanilla, Fabric, Forge. LATEST, SNAPSHOT, or pinned. Aikar G1GC tuning by default, and jars are cached so the server starts even with no internet.

Git-versioned worlds

Snapshots on a schedule, one-click restore from the panel, full commit history. Tar.gz archive mode for very large worlds.

Multi-world profiles

Run a creative sandbox and a hard-survival world side by side, each with its own world files, plugins, and ops list. Switch with one click.

One-click + declarative plugins

Check off EssentialsX, LuckPerms, WorldEdit, GriefPrevention, mcMMO, ChestSort and more — installed via Modrinth on every boot. Or drop your own URLs in the plugins: list; bad URLs warn and skip.

Self-healing reliability

Crash auto-restart (rate-limited), ghost-session auto-kick, connection throttling, optional idle-timeout kick, daily scheduled restart for memory creep.

The panel

A tab for everything you’d want to do without SSHing in — fully responsive, so the HA Companion app experience matches desktop:

The BRUH Minecraft panel's Console tab, showing the tab bar — Dashboard, Console, Players, Server Properties, Plugins, Backups, Worlds, Resource Packs — above the live server log and command bar

  • Dashboard — status, uptime, memory, TPS, online players, quick /say, one-shot RCON
  • Console — live colour-coded JVM log + command bar
  • Players — op / kick / ban / whitelist with one click
  • Server Properties — live editor with RCON apply
  • Plugins — install by URL, list with size/mtime, delete
  • Backups — git snapshots and archives, one-click restore
  • Worlds — switch between profiles

Always-visible header buttons: BackupUpdateRestart (JVM-only, ~15s) • Stop.

Home Assistant integration

A companion integration is auto-discovered on first boot: 12 sensors (players, TPS, latency, uptime, …), 2 binary sensors, 4 buttons, 13 services, and a notify platform for in-game broadcasts. Pair with brAIn and “tell everyone dinner is ready” works by voice. Entities, services, and automation recipes →

Example

# Auto-stop when nobody's playing for 30 minutes
automation:
- alias: Minecraft - auto-stop when idle
trigger:
platform: numeric_state
entity_id: sensor.bruh_minecraft_players_online
below: 1
for: "00:30:00"
action:
service: bruh_minecraft.stop_server
# Snapshot before any risky world edit
script:
safe_fill:
sequence:
- service: bruh_minecraft.backup_now
- service: bruh_minecraft.rcon_command
data: { command: "fill ~-10 ~ ~-10 ~10 ~ ~10 minecraft:stone" }
# Broadcast a doorbell ring to everyone in-game
service: notify.bruh_minecraft_broadcast
data: { message: "Doorbell rang!" }

Quick Start → — add the repo, install, set eula: true, start. Java :25565, Bedrock :19132.