

PrivateMessages
Advanced private messaging plugin
PrivateMessages brings Minecraft private messaging feature to the next level, enhancing player experience and making server staff life easier in a variety of ways. Plugin exists on market since 2018 and is still under active development. It is designed to work on a wide range of server versions, starting from such old as 1.7 and ending on latest Minecraft release. Plugin works on many Bukkit-compatible server implementations, including its most known forks - Spigot, Paper and Folia. Also proxy servers (BungeeCord, Velocity and their forks) are supported, allowing server networks to control private messaging capabilities from one place.
Main features
- Send private messages to players, even offline ones and on other server (if you run plugin on proxy server) (/message, /m, /pm)
- Reply to messages (/reply, /r)
- Block players from messaging you (/pmignore, /pmignored)
- Turn on/off sending/receiving messages individually (/pmtoggle)
- Play sound when a message arrives to you (/pmsound)
- Store history of messages and read it through inventory GUI (/pmhistory)
- Integration with vanish plugins
- Periodically delete messages older than specified time
- Message server console
- Messages deletion from in-command or with inventory GUI
- Legacy & MiniMessage (hex etc.) text format support
- MySQL & SQLite database support
- Old & modern Minecraft servers support
- Folia support
- PlaceholderAPI support
- Easy player data migration in case of name change
- Basic Bukkit API calls, future-proof code, plugin won’t break as soon as next Minecraft update comes out
- No hard dependencies, PrivateMessages doesn’t require any other plugin to run
- Included translations (Polish, Russian)
Supported server software
- Minecraft backend: CraftBukkit / Spigot / Paper / Folia (1.7.2 – 26.2)
- Minecraft proxy: BungeeCord / Waterfall / Velocity (1.7.2 – 26.2)
- Java: at least version 8 (Velocity requires 17+)
Supported vanish plugins
- PremiumVanish / SuperVanish
- VanishNoPacket
- Essentials / EssentialsX
- CMI
Other optional dependencies
- PlaceholderAPI
Images
Sending & receiving offline messages
After join...
Changing incoming message sound
By clicking RMB you can listen to sound before you select it. There are 46 ready to use sounds. You can add your own sounds in sounds.yml file.
Messages history

How to setup BungeeCord/Velocity support
https://maciejnierzwicki.pl/minecraft-plugins/privatemessages/configuration-proxy-support
How to setup hex color support
https://maciejnierzwicki.pl/minecraft-plugins/privatemessages/configuration-hex-color-support
Commands and permissions
https://maciejnierzwicki.pl/minecraft-plugins/privatemessages/commands-and-permissions
Other help
https://maciejnierzwicki.pl/minecraft-plugins/privatemessages
Ченджлог
3.3Релиз26.1.1, 26.1.2, 26.2 · 9 июля 2026 г.
This update is for Bukkit servers only. Plugin for proxy servers hasn't changed and latest version for those remains 3.2.
- Added PlaceholderAPI plugin integration.
It is possible to use extra placeholders inside of following messages in lang.yml file: MESSAGE_TO_FORMAT, MESSAGE_FROM_FORMAT, MESSAGE_TO_OFFLINE_FORMAT
Example use: (Original code):
MESSAGE_TO_FORMAT: "&6&l[&f&lPM&6&l] &cto &b<player>&f: &6<message>"
Let's use Essentials' nickname instead of player name:
MESSAGE_TO_FORMAT: "&6&l[&f&lPM&6&l] &cto &b%essentials_nickname%&f: &6<message>"
Other than that, PrivateMessages brings its own placeholders which can be used anywhere:
%privatemessages_last_message_sender% - returns player’s last messsage sender’s name (only during current server session)
%privatemessages_last_message_recipient% - returns player’s last messsage recipient’s name (only during current server session)
%privatemessages_unread_messages_count% - returns number of messages player has received when offline and still not marked as read by executing /pmclear command
%privatemessages_message_notification_sound_number% - returns identification number of sound selected for incoming messages to player
%privatemessages_message_notification_sound_enabled% - returns true when player has enabled incoming messages sound
%privatemessages_spy_enabled% - returns true when player has spy mode enabled
%privatemessages_messages_enabled% - returns true when player has enabled sending/receiving private messages
%privatemessages_tips_enabled% - returns true when player has enabled receiving plugin tips
%rel_privatemessages_messages_exchanged% - relational placeholder; returns number of all messages sent between two given players
%rel_privatemessages_player_ignored% - relational placeholder; returns true when player passed as second argument is ignored by player passed as first argument – this makes checks within PrivateMessages plugin only, doesn’t look for other plugins’ ignores e.g. Essentials’ ignores, even when PrivateMessages integrates with this plugin
- Updated config.yml file by adding „Integration.PlaceholderAPI” section to let server admins configure some details:
Integration:
PlaceholderAPI:
# How long to wait after last retrieval of unread messages count for given player from database before retrieving it again
UnreadMessagesCountUpdateIntervalSeconds: 30
# How long to wait after last retrieval of count of messages exchanged between two players from database before retrieving it again
MessagesExchangedUpdateIntervalSeconds: 30
- Updated lang.yml file by adding following text: (Modern formatting)
MESSAGE_TO_NOTPLAYER_FORMAT: "<gold><b>[<white><b>PM<gold><b>] <reset><red>to <aqua><recipient><white>: <gold><message>"
MESSAGE_FROM_NOTPLAYER_FORMAT: "<gold><b>[<white><b>PM<gold><b>] <reset><green>from <aqua><sender><white>: <gold><message>"
(Legacy formatting)
MESSAGE_TO_NOTPLAYER_FORMAT: "&6&l[&f&lPM&6&l] &cto &b<recipient>&f: &6<message>"
MESSAGE_FROM_NOTPLAYER_FORMAT: "&6&l[&f&lPM&6&l] &afrom &b<sender>&f: &6<message>
- Fixed displaying of few unnecessary debug messages during plugin load.
- Fixed issues when running plugin on some Folia forks.
3.2Релиз26.1.1, 26.1.2, 26.2 · 21 июня 2026 г.
Latest public release of plugin. First upload to Modrinth.
3.2Релиз26.1.1, 26.1.2, 26.2 · 21 июня 2026 г.
Latest public release of plugin. First upload to Modrinth.
3.2Релиз26.1.1, 26.1.2, 26.2 · 21 июня 2026 г.
Latest public release of plugin. First upload to Modrinth.
Комментарии
Загружаем…