CoreEngineWIKI
ESC
NavigateEnter OpenESC Close

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 #

CommandSyntaxPermissionDefaultDescription
/joinmsg set/joinmsg set <message>joinleave.setjointrueSet your personal join message
/joinmsg reset/joinmsg resetjoinleave.setjointrueDelete your personal join message
/joinmsg preview/joinmsg previewjoinleave.setjointruePreview the current join message
/joinmsg reload/joinmsg reloadjoinleave.adminfalseReload the configuration
/leavemsg set/leavemsg set <message>joinleave.setleavetrueSet your personal leave message
/leavemsg reset/leavemsg resetjoinleave.setleavetrueDelete your personal leave message
/leavemsg preview/leavemsg previewjoinleave.setleavetruePreview the current leave message

Additional permissions #

PermissionDefaultDescription
joinleave.colorstrueMiniMessage 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"