Join & Leave
Join/leave messages in three levels: personal (self-set) over group (LuckPerms) over global. Plus optional first-join message, MOTD, sounds, titles and action bar. Vanished players trigger none of these effects.
Commands #
| Command | Syntax | Permission | Default | Description |
|---|---|---|---|---|
/joinmsg set | /joinmsg set <message> | joinleave. | true | Set your personal join message |
/joinmsg reset | /joinmsg reset | joinleave. | true | Delete your personal join message |
/joinmsg preview | /joinmsg preview | joinleave. | true | Preview the current join message |
/joinmsg reload | /joinmsg reload | joinleave. | false | Reload the configuration |
/leavemsg set | /leavemsg set <message> | joinleave. | true | Set your personal leave message |
/leavemsg reset | /leavemsg reset | joinleave. | true | Delete your personal leave message |
/leavemsg preview | /leavemsg preview | joinleave. | true | Preview the current leave message |
Additional permissions #
| Permission | Default | Description |
|---|---|---|
joinleave. | true | MiniMessage colors in personal messages (plain text otherwise) |
Placeholders: <player> (name), <display_name> (with nick), <player_count>, <date>, <time>.
Note: Vanished players trigger no messages, sounds or titles; this also applies to third-party plugins using the same metadata key.
Configuration (modules/joinleave.yml) #
YAML
# Enables or disables the join/leave module.
enabled: true
joinleave:
# Secondary switch for the effects.
enabled: true
# Character limit for personal messages.
max-message-length: 256
# Format of the <date> and <time> placeholders.
date-format: "yyyy-MM-dd"
time-format: "HH:mm"
# Global messages; overridden by group and personal messages.
# first-join-message replaces join-message on the very first join.
join-message: "<green>+ <yellow><player> <green>joined the server! <gray>(<player_count> online)"
leave-message: "<red>- <yellow><player> <red>left the server. <gray>(<player_count> online)"
first-join-message: "<gold>✦ <yellow><player> <gold>joined the server for the first time! Welcome!"
# Messages per LuckPerms group. Order = priority: with multiple groups
# the first listed one wins.
groups: {}
# inherited = checks all inherited groups (default).
# primary = only the LuckPerms primary group (faster).
group-resolution-mode: inherited
motd:
# Sends these lines to the player after login (MiniMessage,
# placeholders allowed). Independent of the server list MOTD.
enabled: false
lines:
- "<gold>Welcome back, <display_name><gold>!"
sounds:
join:
broadcast:
# Heard by all players on join.
enabled: false
sound: "entity.player.levelup"
volume: 0.5
pitch: 1.2
self:
# Heard only by the joining player.
enabled: false
sound: "entity.experience_orb.pickup"
volume: 1.0
pitch: 1.0
leave:
broadcast:
enabled: false
sound: "entity.enderman.teleport"
volume: 0.5
pitch: 0.8
title:
# Title/subtitle on join. Times in ticks.
enabled: false
title: "<gold>Welcome!"
subtitle: "<gray>Have fun on the server!"
fade-in: 10
stay: 40
fade-out: 20
actionbar:
# Message above the hotbar on join. duration in ticks.
enabled: false
text: "<yellow>Welcome, <display_name><yellow>!"
duration: 60
vanish:
# Suppresses all effects for players marked invisible.
enabled: true
metadata-key: "vanished"Complete example config #
YAML
enabled: true
joinleave:
enabled: true
max-message-length: 128
date-format: "yyyy-MM-dd"
time-format: "HH:mm"
join-message: "<green>» <yellow><display_name> <green>is now online <gray>(<player_count>)"
leave-message: "<red>« <yellow><display_name> <red>is now offline"
first-join-message: "<gold>✦ Welcome <yellow><player> <gold>to the server!"
groups:
admin:
join: "<red>⚡ <gold><player> <red>(Staff) <gold>joined!"
leave: "<red>⚡ <gold><player> <red>(Staff) <gold>left."
vip:
join: "<yellow>★ <gold><player> <yellow>(VIP) <gold>arrived!"
leave: "<yellow>★ <gold><player> <yellow>(VIP) <gold>left the server."
group-resolution-mode: inherited
motd:
enabled: true
lines:
- "<gradient:#ff6600:#ffaa00>━━━━━━━━━━━━━━━━━━</gradient>"
- " <gold>Welcome back, <display_name><gold>!"
- " <gray>Online: <yellow><player_count>"
- "<gradient:#ff6600:#ffaa00>━━━━━━━━━━━━━━━━━━</gradient>"
sounds:
join:
broadcast:
enabled: false
sound: "entity.player.levelup"
volume: 0.5
pitch: 1.2
self:
enabled: true
sound: "entity.experience_orb.pickup"
volume: 1.0
pitch: 1.0
leave:
broadcast:
enabled: false
sound: "entity.enderman.teleport"
volume: 0.5
pitch: 0.8
title:
enabled: true
title: "<gold>Welcome!"
subtitle: "<gray>Have fun!"
fade-in: 10
stay: 40
fade-out: 20
actionbar:
enabled: false
text: ""
duration: 60
vanish:
enabled: true
metadata-key: "vanished"