Bug fixes:
• Spaces in chat-format are preserved again (e.g. between rank/prefix and player name)
New features:
• Global chat can sync across linked servers when Redis is enabled
• Cross-server messages use a separate network-chat-format with a server tag
Code:# plugins/PerfChat/config.yml — merge (config-version: 31): redis: enabled: true server-id: survival features: global-chat-sync: true # plugins/PerfChat/formats.yml — add: network-chat-format: "<#94A3B8>[{server}]</#94A3B8> {rank} {player} : {message}"
New features:
• The plugin is now fully cross-server compatible. (If you find a bug, please report it on discord!)
Code:# plugins/PerfChat/config.yml — merge (unique server-id per backend, shared MySQL recommended): config-version: 30 database: type: mysql redis: enabled: true server-id: survival host: localhost port: 6379 password: "" connect-attempts: 6 reconnect-base-delay-millis: 1000 subscriber-reconnect-base-millis: 2000 presence-heartbeat-ticks: 1200 tabcomplete: show-server-suffix: false include-offline-reply-target: true features: staffchat-sync: true ignore-sync: true settings-sync: true mutechat-sync: true pm-relay: true spy-sync: true broadcast-sync: true chatclear-sync: true join-leave-sync: true announcement-dispatch-sync: true poll-sync: true ad-sync: true filter-alert-sync: true deathmessage-sync: true motd-sync: true
Bug fixes:
• Scheduled chat and bossbar announcements work with min-players 0 or 1 on small servers
• First automatic announcement runs after startup-delay instead of waiting a full interval
• min-players now checks online players instead of only who would receive the message
New features:
• /ignoreall toggles blocking all private messages on and off
• /unignoreall removed — use /ignoreall again to allow PMs
Bug fixes:
• Private message notification sounds and @mention alerts (sound, title, actionbar) work again for normal players; two permissions were incorrectly granted to everyone by default, which made the plugin skip those features
• Mention handling no longer runs a redundant extra pattern check that could block notifications after a valid @ match
New features:
• When the client sends chat tab completion (non-command buffer), suggestions after@list online players (respecting vanish/spectator visibility rules)
Improvements:
• Permission descriptions for “ignore PM sound” and “ignore mentions” clarify that they opt out of those effects when explicitly granted
Bug fixes:
•/chatsettingsGUI: missing button definitions from olderchatsettings-gui.ymlare merged from the built-in defaults when the menu opens so PM sound, mentions, public chat, and block-PM toggles work instead of only staff rows
• Mention alerts (sound / actionbar / title per config) are delivered even when the player has public chat hidden, so @mentions still notify them
• Command spyfilter-playersnow lists players whose commands are not shown to spies (e.g. admins); empty list means no player filter (previous behavior was inverted)
• Inventory drag on the chat settings GUI is blocked so buttons stay reliable
New features:
• Optional PM sender sound (features.msg.sender-sound) when enabled; respects the PM sound preference andperfchat.ignore.msgsound
Improvements:
• Chat settings clicks use the top inventory holder explicitly;commandspyconfig comments describefilter-commandsandfilter-playerscorrectly
Config:
•config-version27 addsfeatures.msg.sender-soundon upgrade when missing
New features:
• Added a built-in update checker to all Perf plugins
Improvements:
• New config option:update-checker.enabled: true(enabled by default)
Improvements:
• Optionalad/poll.enabledin config.yml; when polls/ads are disabled, PerfChat does not register /ad or /poll so another plugin can own those commands
• Removed duplicatecommands.enabledswitches for poll, vote, perfpolls, ad, perfad, and perfdeathmessages; use polls.enabled, ad.enabled, and deathmessages.yml instead
