Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
ā” PulseMsg
Timed broadcast & advertisement plugin ā clickable links, hex colors, priority overrides, and a smart flood guard.
š What is PulseMsg?
PulseMsg is a lightweight but powerful broadcast plugin that lets server owners schedule timed advertisement messages with full color control, clickable links, hover tooltips, and a smart flood guard so players never get spammed.
Each message runs on its own independent timer ā no more messages colliding or overflowing chat at the same time.
⨠Features
| Feature | Description |
|---|---|
| ā± Per-message timers | Each message has its own interval-seconds ā completely independent |
| š Clickable links | Open URLs, suggest commands, run commands, or copy text to clipboard |
| šØ Full color support | Legacy &x codes and hex &#RRGGBB both supported on every line |
| šØ Priority messages | Mark a message as priority: true to always fire, even alongside others |
| š” Flood guard | At most one non-priority message per scheduler tick ā no chat spam |
| š Permission gating | Send specific messages only to players with a given permission node |
| š Random or sequential | Send messages in order or shuffle them with random-order: true |
| š„ Minimum players | Skip broadcasts when fewer than N players are online |
| ā» Hot reload | /pm reload applies all config changes with zero server restart |
š Commands
All commands require the pulsemsg.admin permission (default: OP).
Aliases: /pulsemsg, /pm, /pulse
| Command | Description |
|---|---|
/pm reload |
Reload config and restart the scheduler |
/pm list |
List all messages with enabled/disabled status |
/pm send <id> |
Manually fire a message immediately |
/pm info <id> |
Show details and next-fire countdown for a message |
/pm toggle |
Pause or resume all broadcasts |
/pm help |
Show the help menu |
š Permissions
| Node | Default | Description |
|---|---|---|
pulsemsg.admin |
OP | Full access to all PulseMsg commands |
pulsemsg.bypass |
false | Player will never receive any broadcasts |
ā Configuration
PulseMsg generates a fully documented config.yml on first run. Here's a taste:
global-interval-seconds: 60
global-prefix: 'ᛩf2&l[PulseMsg]&r '
random-order: false
minimum-players: 0
messages:
discord-ad:
enabled: true
title: 'ᱹda&lā” Join Our Discord ā”'
body:
- '&7Stay connected with the community!'
- '&7Get support, updates, and giveaways.'
- ' '
- 'ᱹda&l&nJoin Now&r &7ā discord.gg/example'
interval-seconds: 300
priority: true # always fires even alongside other messages
prefix: 'ᱹda[Discord]&r ' # overrides the global prefix
click:
action: OPEN_URL
value: 'https://discord.gg/example'
hover: '&9Click to join our Discord!'
store-ad:
enabled: true
title: '&#f1c40f&lā
Support The Server ā
'
body:
- '&7Ranks, cosmetics and more at our store!'
interval-seconds: 1200
priority: false
click:
action: OPEN_URL
value: 'https://store.example.com'
hover: '&eClick to open the store!'
Click actions
| Action | Effect |
|---|---|
OPEN_URL |
Opens a URL in the player's browser |
SUGGEST_CMD |
Puts text into the player's chat box |
RUN_CMD |
Runs a command as the player |
COPY_TEXT |
Copies text to the player's clipboard |
How scheduling works
PulseMsg ticks every global-interval-seconds. Each tick it counts down every message's own timer independently. When a message is due:
- Priority messages always fire ā even if another message is also due that tick.
- Non-priority messages are flood-guarded ā only one fires per tick. If multiple are due simultaneously, the others simply wait for their next natural interval.
š„ Requirements
- Minecraft: 1.20+
- Server: Spigot or Paper
- Java: 17 or newer
Made with care by rradajbi ā open an issue on GitHub for bugs or feature requests.


