Products / MC server plugin

Broadcast++

Plug-and-play broadcast suite for Paper, Spigot, and Velocity. One YAML, identical across platforms.

Built with Java 17+ Paper Spigot Velocity MiniMessage YAML Premium plugin

Broadcast++ is the broadcasting plugin you actually want to live in your plugins/ folder long-term. Chat, titles, action bars, boss bars, and multi-channel scenes — all driven by a single readable config that’s identical whether you’re on Paper, Spigot, or Velocity. Move between platforms without rewriting a line.

Multi-platform, one config

Your serverJar
Paper 1.20.1 – 26.x (Purpur, Pufferfish, any Paper fork)paper build
Spigot 1.20.1 – 26.xspigot build
Velocity 3.3+ (proxy)velocity build

The config.yml schema is identical across all three. Spin up a Velocity proxy with the same broadcasts you’ve been running on Paper for a year — no migration, no rewriting.

The mental model

Everything automated is a scene. A scene has a trigger (when), one or more steps (what to send), and optional filters (who sees it). That’s it.

welcome-sequence:
  description: "Multi-channel welcome"
  on-join: true
  steps:
    - { at: 0s, chat: welcome }
    - { at: 1s, actionbar: tip-spawn }
    - { at: 3s, title: welcome-back }

Triggers cover the obvious cases:

What you can broadcast

Placeholders that just work

<player>   recipient's in-game name
<online>   current online player count
<server>   server-name from config.yml
<time>     server-side local time (HH:mm)
<date>     server-side date (yyyy-MM-dd)

Combine with full MiniMessage:

welcome:
  lines:
    - "<gradient:#00C8FF:#5C78FF><bold>Welcome, <player></bold></gradient>"
    - "<gray>You're player number <online> on <server>.</gray>"

Studio GUI

/bc studio opens an in-game inventory UI for browsing presets and previewing scenes — Paper and Spigot only (Velocity has no inventory concept). Run a preview to your own session before broadcasting to the whole server.

Migration safety

Upgrading from v1.x? Broadcast++ detects the old shape on first boot, backs the file up as config.yml.v1.bak, and writes a fresh default. The old top-level rotation: and join: sections still parse (synthesized into in-memory scenes with a deprecation log) so existing configs keep working while you port them.

What’s next

Folia region scheduling is on deck. File requests on the marketplace listing.

Project-specific requirements?

Build with the same hands.

Hire Gluckz →