ZStaffChatPro - Staff Chat System | Spigot/Bungee/Velocity/Folia • 1.8.x - 1.21.x icon

ZStaffChatPro - Staff Chat System | Spigot/Bungee/Velocity/Folia • 1.8.x - 1.21.x -----

The most powerful and customizable staff chat plugin for your server!



v1.7.2 - Server Display, Discord Activity Logging & Channel Priority
⚠️⚠️⚠️ IMPORTANT - READ BEFORE UPDATING ⚠️⚠️⚠️

1. BACK UP your config.yml and messages.yml files FIRST!
2. DELETE config.yml and messages.yml from the plugin folder
3. Restart the server to regenerate new config files
4. Re-apply your custom settings from the backup

I apologize for the inconvenience - unfortunately I was unable to implement automatic config migration that would preserve your existing settings while adding the new options. Thank you for your understanding.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

New Features:
  • Server Display in Stafflist - See which server each staff member is on (BungeeCord/Velocity only)
  • New Placeholders - {server} and {server_alias} for player format
  • Discord Activity Logging - Log staff activity (join, leave, server change, vanish, AFK) to Discord
  • Channel Priority System - Configure channel priority for activity logging and stafflist display
  • Stafflist Highest Only - Show players only in their highest priority channel (e.g., Admin with priority 1 instead of showing in Admin, Staff, and Builder)

Discord Activity Logging:
  • Works with both webhook and bot mode
  • Two modes: send to chat channel webhooks OR to a separate dedicated webhook/channel
  • Configurable events: join, leave, server-change, vanish, afk
  • Customizable message formats with placeholders: {player}, {server}, {server_alias}
  • LuckPerms support: {lp_prefix}, {lp_suffix}, {lp_group}, {lp_rank}

New Config - Activity Logging (Webhook Mode):
Code (Text):
discord:
  webhook:
    activity-log:
      enabled: false
      log-permission: "zstaffchat.staff"
      # Option 1: Send to chat channel webhooks
      use-channel-webhooks: false
      # Option 2: Send to separate webhook
      separate-webhook:
        enabled: false
        webhook-url: ""
      events:
        join: true
        leave: true
        server-change: true
        vanish: true
        afk: true
      formats:
        join: " **{player}** joined the server"
        leave: " **{player}** left the server"
        server-change: " **{player}** moved to **{server_alias}**"
        vanish-on: " **{player}** entered vanish"
        vanish-off: "️ **{player}** left vanish"
        afk-on: " **{player}** is now AFK"
        afk-off: "✅ **{player}** is no longer AFK"
New Config - Activity Logging (Bot Mode):
Code (Text):
discord:
  bot:
    activity-log:
      enabled: false
      log-permission: "zstaffchat.staff"
      # Option 1: Send to chat channels
      use-chat-channels: false
      # Option 2: Send to separate channel
      separate-channel:
        enabled: false
        channel-id: ""
      events:
        join: true
        leave: true
        server-change: true
        vanish: true
        afk: true
      formats:
        join: " **{player}** joined the server"
        leave: " **{player}** left the server"
        server-change: " **{player}** moved to **{server_alias}**"
        vanish-on: " **{player}** entered vanish"
        vanish-off: "️ **{player}** left vanish"
        afk-on: " **{player}** is now AFK"
        afk-off: "✅ **{player}** is no longer AFK"
New Config (messages.yml):
Code (Text):
# Format for each player in the staff list (BungeeCord/Velocity only)
# Placeholders: {player}, {server}, {server_alias}
stafflist-player-format: "{player}"

# Examples:
# "{player} &7({server_alias})" -> Steve (Survival), Alex (Lobby)
# "{player} &7[{server}]"       -> Steve [survival-01], Alex [lobby-01]
Placeholders:
  • {player} - Player name
  • {server} - Technical server name from proxy config (e.g., "skywars-01")
  • {server_alias} - Friendly name from config.yml server-aliases (e.g., "SkyWars")

Note: Server display only works on proxy servers (BungeeCord/Velocity). On single servers (Spigot/Paper/Folia), this option is ignored.

Channel Priority System:
  • Each channel now has a configurable priority value (lower number = higher priority)
  • Default priorities: admin=1, staff=2, builder=3
  • Activity logs are sent only to the player's highest priority channel (prevents spam)
  • Optional: Show players only in their highest priority channel in /stafflist

New Config (config.yml):
Code (Text):
features:
  # Show players only in their highest priority channel in /stafflist
  stafflist-highest-only: true

channels:
  admin:
    priority: 1  # Highest priority
  staff:
    priority: 2
  builder:
    priority: 3  # Lowest priority
Bug Fixes:
  • Fixed plugin not loading on Paper 1.20.4 - Fixed IllegalAccessError caused by class loader conflict with Paper's bundled Kyori libraries
  • Fixed config comments - Corrected /spy to /staffspy and /sc toggle to /sc (without arguments)
----------, Jan 27, 2026
Resource Information
Author:
----------
Total Downloads: 197
First Release: Dec 30, 2025
Last Update: Yesterday at 8:36 PM
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings