COWMODSКаталог модов

Auto Broadcaster

AutoBroadcaster is a lightweight and feature-rich PaperMC plugin that automates server announcements. It allows you to schedule broadcasts at specific intervals or at exact server times.

Автор: eyeskillerlb1,2 тыс.4обновлён 5 окт. 2026 г.
УправлениеОбщениеУтилиты

Описание

AutoBroadcaster

AutoBroadcaster is a lightweight and feature-rich PaperMC plugin that automates server announcements. It allows you to schedule broadcasts at specific intervals or at exact server times, with advanced targeting options.

Features

  • Interval Messages: Broadcast messages sequentially or randomly at a set interval (e.g., every 5 minutes).
  • Scheduled Messages: Broadcast specific messages at exact server times (e.g., daily at 14:00 or 20:30) with a 2-minute window to handle lag gracefully.
  • Per-World Targeting: Send broadcasts only to players in specific worlds.
  • Per-Permission Targeting: Restrict broadcasts to players with specific permissions.
  • In-Game Management: Add, remove, list, and reload messages and configurations directly from the game without needing to edit files manually.
  • Modern Formatting: Fully supports Paper's MiniMessage formatting out of the box (e.g., <red>Hello</red>), while seamlessly falling back to legacy color codes (e.g., &cHello) if preferred.
  • Performance Optimized: Pre-computed messages and zero-allocation filtering ensure minimal CPU/memory usage between broadcasts.
  • Reliable Scheduling: Scheduled messages use a 2-minute detection window and per-day tracking to prevent duplicates and missed broadcasts.
  • bStats Integration: Anonymous usage statistics via bStats (service ID: 32227). Server owners can opt-out via plugins/bStats/config.yml.

Commands & Usage

The main command is /autobroadcaster (aliases: /abroadcaster, /ab). All commands require the autobroadcaster.admin permission.

CommandDescriptionExample
/ab reloadReloads the configuration from disk and restarts the timers./ab reload
/ab listDisplays all currently active interval and scheduled messages along with their IDs/Indices./ab list
/ab add interval <message>Adds a new interval message to the rotation./ab add interval <green>Join our Discord!</green>
/ab add <HH:mm> <message>Adds a new scheduled message at the specified time./ab add 14:30 <gold>Daily event starting!</gold>
/ab remove interval <index>Removes an interval message by its index (use /ab list to find the index)./ab remove interval 1
/ab remove time <HH:mm>Removes a scheduled message for that specific time./ab remove time 14:30

Permissions

  • autobroadcaster.admin - Grants full access to all plugin commands. Defaults to server Operators (op).

Configuration (config.yml)

You can configure the plugin directly via the config.yml file located in plugins/AutoBroadcaster/config.yml.

Basic Configuration

# AutoBroadcaster Configuration

# The prefix for all plugin messages
prefix: "<gray>[<gradient:#ff0000:#ff7f00>AutoBroadcaster</gradient>] <reset>"

# Messages that are broadcasted at a specific interval.
# interval_seconds: How often in seconds the messages should be broadcasted (minimum 10).
# random_order: If true, picks a random message. If false, goes in order.
# target_worlds: List of worlds to broadcast to. Leave empty for all worlds.
# required_permission: If set, only players with this permission will see the message. Leave empty for everyone.
interval_messages:
  enabled: true
  interval_seconds: 300
  random_order: false
  target_worlds: []
  required_permission: ""
  messages:
    - "<green>Welcome to our server!</green> Remember to read the rules."
    - "Join our discord at <aqua><click:open_url:'https://discord.gg/example'>discord.gg/example</click></aqua>"

# Messages that are broadcasted at specific server times (HH:MM).
# Make sure the time matches the server's time zone.
# target_worlds and required_permissions are per-time-key maps.
scheduled_messages:
  enabled: true
  messages:
    "12:00": "<gold>It is noon! Don't forget to grab your daily rewards!</gold>"
    "20:00": "<light_purple>Evening event is starting now!</light_purple>"
  target_worlds:
    "12:00": []
    "20:00": []
  required_permissions:
    "12:00": ""
    "20:00": ""

Advanced Targeting Examples

World-Specific Broadcasts:

interval_messages:
  target_worlds: ["world", "world_nether"]  # Only broadcast to players in these worlds

Permission-Based Broadcasts:

interval_messages:
  required_permission: "server.vip"  # Only players with this permission see the message

Per-Scheduled-Time Targeting:

scheduled_messages:
  messages:
    "12:00": "<gold>Noon event in spawn!</gold>"
    "20:00": "<light_purple>Evening event!</light_purple>"
  target_worlds:
    "12:00": ["world"]  # Noon message only in overworld
    "20:00": []          # Evening message in all worlds
  required_permissions:
    "12:00": ""           # Noon message for everyone
    "20:00": "server.vip" # Evening message for VIPs only

Performance

AutoBroadcaster is designed for minimal resource usage:

  • Zero CPU between broadcasts: The plugin uses virtually no CPU while waiting for the next broadcast
  • Pre-computed messages: All message components are built once at config load, not on every broadcast tick
  • Zero-allocation filtering: World and permission checks use simple loops with no object allocation
  • Cached time parsing: Scheduled message times are parsed once and cached
  • Minimum interval safeguard: Intervals below 10 seconds are automatically clamped to prevent performance issues

Reliability

  • Scheduled message duplicates prevented: Each scheduled message can only fire once per day, even after reloads
  • Lag-tolerant scheduling: Uses a 2-minute detection window instead of exact time matching
  • Error handling: All tasks and broadcasts are wrapped in try-catch blocks to prevent silent failures

Compilation / Building

This plugin targets PaperMC 26.2.build.22-alpha and requires Java 25 to compile and run. To build it yourself:

  1. Clone the repository.
  2. Ensure you have a Java 25 JDK installed.
  3. Run ./gradlew build.
  4. The .jar will be generated in build/libs/.

Галерея

Последние версии

Все версии →
release

Auto Broadcaster 1.4.0

1.4.0
5 окт. 2026 г.424Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3folia, paper, purpur
Скачать
Что нового
## What's Changed since v1.3.0 ### New Features - **Per-world broadcast targeting** — Use `target_worlds` config option to broadcast messages only to players in specific worlds (works for both interval and scheduled messages) - **Per-permission broadcast targeting** — Use `required_permission` config option to restrict message visibility to players with specific permissions - **Interval validation** — Minimum 10-second interval enforced automatically to prevent performance issues - **Improved message format detection** — Regex-based MiniMessage tag detection instead of fragile heuristic - **Better tab completion** — Suggests indices for `remove interval` and time keys for `remove time` ### Performance Optimizations - **Pre-computed messages** — Prefix + content components are built once at config load, not on every broadcast tick - **Zero-allocation world filtering** — Replaced stream-based filtering with simple for-loop - **Cached time parsing** — Scheduled message times parsed once and cached ### Bug Fixes - **Scheduled message duplicates** — Added per-day "already fired" tracking to prevent duplicate broadcasts after reload - **Scheduled message misses** — Uses a 2-minute window instead of exact time matching to handle server lag gracefully ### Configuration Changes New config options in `config.yml`: - `interval_messages.target_worlds` — List of worlds (empty = all worlds) - `interval_messages.required_permission` — Permission node (empty = everyone) - `scheduled_messages.target_worlds` — Per-time world targeting - `scheduled_messages.required_permissions` — Per-time permission targeting ### Download The `paper-auto-broadcaster-1.4.0-all.jar` is the plugin JAR to use on your server.
release

Auto Broadcaster 1.3.0

1.3.0
26 июн. 2026 г.688Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3folia, paper, purpur
Скачать
Что нового
### New Features - Replaced custom analytics with [bStats](https://bstats.org) (service ID: 32227) — standard opt-out via `plugins/bStats/config.yml` (#5) ### Improvements - Improved error handling: prevent silent failures and task death (#3) - Security hardening: configurable analytics, input validation, immutable collections (#2) - Refactored shared utilities to eliminate code duplication (#1) ### Testing - Added comprehensive unit test suite (60 tests) covering all modules (#4)
release

Auto Broadcaster 1.1.0

1.1.0
15 июн. 2026 г.68Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2folia, paper, purpur
Скачать
Что нового
### Added - Integrated `plugin-analytics-api` for anonymous usage tracking. - Added Gradle Shadow plugin to shade the analytics API into the jar. ### Changed - Updated version to `1.1.0`. **Full Changelog**: https://github.com/eyeskiller/paper-auto-broadcaster/commits/v1.1.0
release

Auto Broadcaster 1.0

1.0-SNAPSHOT
8 июн. 2026 г.56Minecraft: 26.1, 26.1.1, 26.1.2folia, paper, purpur
Скачать
Что нового
# AutoBroadcaster AutoBroadcaster is a lightweight and feature-rich PaperMC plugin that automates server announcements. It allows you to schedule broadcasts at specific intervals or at exact server times. ## Features - **Interval Messages**: Broadcast messages sequentially or randomly at a set interval (e.g., every 5 minutes). - **Scheduled Messages**: Broadcast specific messages at an exact server time (e.g., daily at 14:00 or 20:30). - **In-Game Management**: Add, remove, list, and reload messages and configurations directly from the game without needing to edit files manually. - **Modern Formatting**: Fully supports Paper's [MiniMessage](https://docs.advntr.dev/minimessage/format.html) formatting out of the box (e.g., `<red>Hello</red>`), while seamlessly falling back to legacy color codes (e.g., `&cHello`) if preferred. ## Commands & Usage The main command is `/autobroadcaster` (aliases: `/abroadcaster`, `/ab`). *All commands require the `autobroadcaster.admin` permission.* | Command | Description | Example | |---|---|---| | `/ab reload` | Reloads the configuration from disk and restarts the timers. | `/ab reload` | | `/ab list` | Displays all currently active interval and scheduled messages along with their IDs/Indices. | `/ab list` | | `/ab add interval <message>` | Adds a new interval message to the rotation. | `/ab add interval <green>Join our Discord!</green>` | | `/ab add <HH:mm> <message>` | Adds a new scheduled message at the specified time. | `/ab add 14:30 <gold>Daily event starting!</gold>` | | `/ab remove interval <index>` | Removes an interval message by its index (use `/ab list` to find the index). | `/ab remove interval 1` | | `/ab remove time <HH:mm>` | Removes a scheduled message for that specific time. | `/ab remove time 14:30` | ## Permissions - `autobroadcaster.admin` - Grants full access to all plugin commands. Defaults to server Operators (`op`). ## Configuration (`config.yml`) You can configure the plugin directly via the `config.yml` file located in `plugins/AutoBroadcaster/config.yml`. ```yaml # AutoBroadcaster Configuration # The prefix for all plugin messages prefix: "<gray>[<gradient:#ff0000:#ff7f00>AutoBroadcaster</gradient>] <reset>" # Messages that are broadcasted at a specific interval. # interval_seconds: How often in seconds the messages should be broadcasted. # random_order: If true, picks a random message. If false, goes in order. interval_messages: enabled: true interval_seconds: 300 random_order: false messages: - "<green>Welcome to our server!</green> Remember to read the rules." - "Join our discord at <aqua><click:open_url:'https://discord.gg/example'>discord.gg/example</click></aqua>" # Messages that are broadcasted at specific server times (HH:MM). # Make sure the time matches the server's time zone. scheduled_messages: enabled: true messages: "12:00": "<gold>It is noon! Don't forget to grab your daily rewards!</gold>" "20:00": "<light_purple>Evening event is starting now!</light_purple>" ``` ## Compilation / Building This plugin targets PaperMC `26.1.2.build.69-stable` and **requires Java 25** to compile and run. To build it yourself: 1. Clone the repository. 2. Ensure you have a Java 25 JDK installed. 3. Run `./gradlew build`. 4. The `.jar` will be generated in `build/libs/`.