Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details

SendMSG – Private Messaging for Your Server

Lightweight, multilingual, fully customizable private messaging plugin for Spigot/Paper 1.21+
✨ Features
| Feature | Description |
|---|---|
| 📨 5 sending commands | /msg, /m, /tell, /w, /pm |
| 💬 Quick reply | /r or /reply – reply to the last sender |
| 🌍 3 languages | English, Ukrainian, Russian (change with /sendmsg lang) |
| 🛡️ Anti-spam | Configurable delay with bypass permission |
| 🔔 Sound alerts | Customizable sounds for sending and receiving |
| 📢 Subtitles | Popup notification when receiving a message |
| 🔕 Block PMs | /msgtoggle – disable incoming private messages |
| 👁️ SocialSpy | /spy – see all private messages |
| 🚫 Ignore system | /ignore – ignore/unignore players |
| ⏰ Auto-expire ignores | Ignore players with auto-removal after N days |
| 📁 Message logging | All PMs saved to logs/private.log |
| 💾 Ignore saving | Ignores stored in ignores.yml |
| 🧹 Auto cleanup | Automatic cleanup task every hour |
| 🎨 Fully customizable | All messages in messages/*.yml + color codes |
| 🔧 Lightweight | No external dependencies required |
| ⚡ EssentialsX compatible | Overrides EssentialsX private messages |
🎮 How it looks in-game
When you send a message:
✉ You -> Player: Hello!
When you receive a message:
- 📺 Subtitle:
✉ You have a message - 💬 Chat:
✉ Player writes you: Hello! - 💬 Reply hint:
→ Reply with: /r (text) - 🔊 Sound:
ENTITY_EXPERIENCE_ORB_PICKUP
⚠️ All text, sounds, subtitles, and colors can be changed in the configuration files.
📋 Commands
| Command | Description | Aliases |
|---|---|---|
/msg <player> <message> |
Send a private message | /m, /w, /tell, /pm |
/r <message> |
Reply to the last sender | /reply |
/ignore <player> |
Ignore/unignore a player (toggle) | /ig |
/msgtoggle |
Disable/enable incoming private messages | – |
/spy |
Toggle SocialSpy (see all PMs) | – |
/sendmsg lang <code> |
Change plugin language | EN, UA, RU |
/sendmsg reload |
Reload configuration | – |
/sendmsg help |
Show help | – |
Language codes: EN (English), UA (Ukrainian), RU (Russian)
🔐 Permissions
| Permission | Description | Default |
|---|---|---|
sendmsg.msg |
Allows using /msg and /m |
✅ true |
sendmsg.reply |
Allows using /r and /reply |
✅ true |
sendmsg.ignore |
Allows using /ignore |
✅ true |
sendmsg.msgtoggle |
Allows using /msgtoggle |
✅ true |
sendmsg.bypass.cooldown |
Bypass the message cooldown | 👑 op |
sendmsg.spy |
Allows using /spy (SocialSpy) |
👑 op |
sendmsg.admin |
Access to /sendmsg lang and /sendmsg reload |
👑 op |
⚙️ Configuration (config.yml)
# Plugin language: ru-RU, uk-UA, en-EN
lang: en-EN
# Delay between messages (seconds)
cooldown-seconds: 10
Enable / disable features
features:
subtitle: true # Show subtitle when receiving a message
subtitle-reply: true # Separate subtitle for replies
sound-receive: true # Play sound when receiving a message
sound-send: true # Play sound when sending a message
reply-hint: true # Show "/r" hint below incoming messages
cooldown: true # Enable message cooldown
msg-toggle: true # Enable /msgtoggle command
social-spy: true # Enable /spy command
log-to-file: true # Save all PMs to logs/private.log
Sound settings
sound:
receive:
name: ENTITY_EXPERIENCE_ORB_PICKUP
volume: 1.0
pitch: 1.2
send:
name: ENTITY_VILLAGER_WORK_CARTOGRAPHER
volume: 1.0
pitch: 1.0
# Ignore settings
ignore:
# Auto-remove ignore after N days (0 = forever)
auto-expire-days: 7
📝 Message formats (messages/en-EN.yml)
format:
incoming: "&2✉ &f&l{from} &7writes you: &f{message}"
reply-hint: "&2→ &7Reply with: &b&n/r (text)"
outgoing: "&2✉ &7&lYou &7-> &f&l{to}&7: &f{message}"
spy: "&8[SPY] &7{from} -> {to}: {message}"
console-name: "Console"
subtitle: "&2✉ &7You have a message"
subtitle-reply: "&2✉ &7Someone replied to you"
📝 Message formats (messages/uk-UA.yml)
format:
incoming: "&2✉ &f&l{from} &7пише вам: &f{message}"
reply-hint: "&2→ &7Для відповіді: &b&n/r (текст)"
outgoing: "&2✉ &7&lВи &7-> &f&l{to}&7: &f{message}"
spy: "&8[SPY] &7{from} -> {to}: {message}"
console-name: "Консоль"
subtitle: "&2✉ &7Вам повідомлення"
subtitle-reply: "&2✉ &7Вам відповіли"
📝 Message formats (messages/ru-RU.yml)
format:
incoming: "&2✉ &f&l{from} &7пишет тебе: &f{message}"
reply-hint: "&2→ &7Для ответа: &b&n/r (текст)"
outgoing: "&2✉ &7&lВы &7-> &f&l{to}&7: &f{message}"
spy: "&8[SPY] &7{from} -> {to}: {message}"
console-name: "Консоль"
subtitle: "&2✉ &7Вам сообщение"
subtitle-reply: "&2✉ &7Вам ответили"
Color codes: &0-9 &a-f &k-o &r
🚀 Installation
- Download
SendMSG.jar - Place it in your server's
plugins/folder - Restart your server
- (Optional) Edit
config.ymlormessages/*.yml - Done! The plugin works immediately
❓ FAQ
-
How do I change the language?
Use/sendmsg lang EN(English),/sendmsg lang UA(Ukrainian), or/sendmsg lang RU(Russian) -
How do I disable sounds?
Setsound-receive: falseandsound-send: falseinconfig.yml -
How do I remove the cooldown?
Setcooldown-seconds: 0inconfig.ymlor give players thesendmsg.bypass.cooldownpermission -
How does /ignore work?
/ignore <player>adds a player to your ignore list. Use the command again to unignore them. -
Can ignores expire automatically?
Yes! Ignores are automatically removed afterauto-expire-days. -
Can I block all private messages?
Yes! Use/msgtoggle– nobody will be able to message you until you enable it again. -
What is SocialSpy?
Admins withsendmsg.spycan use/spyto see all private messages on the server. -
Where are private messages stored?
All PMs are logged in:
plugins/SendMSG/logs/private.log
-
Does it work with EssentialsX?
Yes! SendMSG intercepts private messages before EssentialsX, so you can use both. -
Can the console send messages?
Yes – the console can use/msg <player> <message>just like a player.
📞 Support
- 🐛 Report a bug – Join our Discord
- 💬 Suggest a feature – Same link
- 💬 Get help – Same link


