NewCraftRank SitesA free website and storeMake yours ›
AshlarFree server software built on Paper, with DDoS and backdoor protection See Ashlar ›CommunityAsk questions, share builds and find people to play with Join the forum ›
Resources / Plugins / Direct Messages

Direct Messages

Private messages with custom formats, sounds, an action bar, ignore, a PM toggle and social spy.

PluginsFree1.21 – 26.x
by andrey5650 · listed from Modrinth
Download ›

Direct download from Modrinth · 2 downloads

What it does

Direct Messages is a plugin for Paper / Spigot servers, made by andrey5650. Private messages with custom formats, sounds, an action bar, ignore, a PM toggle and social spy.

It supports Minecraft 1.21 – 26.x. It has been downloaded 2 times on Modrinth. That puts it at #149 of the 153 voice chat and social plugins listed here. The last update came out on Nov 5, 2026.

Supported versions

26.x1.21

Release history

The newest is 1.0.0, released on Nov 5, 2026. It is made for Minecraft 1.21.7 – 26.3. It runs on Folia and Paper. The download is 58 KB.

VersionReleasedMinecraftType
1.0.0Nov 5, 20261.21.7 – 26.3Release

Commands

The commands named on the Modrinth page of Direct Messages:

/msg/tell/whisper/message/reply/ignore/block/msgtoggle/socialspy/directmessages/papi

Permissions

Permission nodes named there, to give with a plugin like LuckPerms:

directmessages.socialspydirectmessages.reloaddirectmessages.cooldown.bypass

Latest release on GitHub

Direct Messages is open source. Its newest release on GitHub is First Release, published on Nov 5, 2026.

First release.

Description from the author on Modrinth

DirectMessages

Private messages for Paper and Folia, with your own chat formats, sounds, an action bar notice, ignore, a PM toggle
and social spy.

Players message each other with /msg and answer with /r. The receiver sees the message in chat and on the action
bar and hears a sound; the sender hears a different one, and a third sound plays when something goes wrong. Hovering a player's name shows a card with their stats, and
clicking it starts a message to them.

Features

  • /msg with the aliases /tell, /whisper, /message and /w, and /r (/reply) to answer
  • Vanilla /minecraft:msg, /minecraft:tell and /minecraft:w go through the plugin too, so nobody can skip ignore,

the PM toggle or social spy

  • Separate formats for sent, received and social spy messages, with & colors and &#RRGGBB hex colors
  • A line on the action bar when a message arrives
  • One sound for sending, one for receiving and one for errors, each with its own volume and pitch
  • A hover card on player names with PlaceholderAPI placeholders; clicking a name types /msg in the chat box
  • /ignore (or /block) blocks private messages both ways and hides the ignored player's public chat
  • /msgtoggle turns off receiving private messages; the player can still send them
  • /socialspy for staff
  • Vanish support: players you can't see look offline to /msg and tab completion
  • Cooldown between messages, with a bypass permission
  • Every private message written to a daily log file
  • Ignore lists and social spy saved in SQLite or MySQL
  • Folia support
  • /directmessages reload to reload the config without a restart

Requirements

  • Paper 1.21.7 or newer (tested on 1.21.7 and 26.1.2)
  • Folia 26.x (tested on Canvas 26.3, a Folia fork)
  • Java 25 or newer on 26.x servers, Java 21 or newer on 1.21.x servers
  • PlaceholderAPI for placeholders (optional)

The default config uses these PlaceholderAPI expansions:

/papi ecloud download Player
/papi ecloud download Vault
/papi ecloud download Statistic

%vault_prefix% in name shows the player's rank prefix. It needs Vault and a permissions plugin with prefixes, such
as LuckPerms. Without PlaceholderAPI, placeholders are shown as typed, so set name to "{name}" and remove the
placeholder lines from hover.lines.

Installation

  1. Put DirectMessages-.jar in your plugins folder.
  2. Start the server. The plugin downloads its libraries (Kotlin, HikariCP, SQLite and MySQL drivers) on first start.
  3. Edit plugins/DirectMessages/config.yml and run /directmessages reload.

Commands and permissions

Command · Permission · Description
/msg · none · Sends a private message. Aliases: /tell, /whisper, /message, /w
/r · none · Replies to the last player you messaged or who messaged you. Alias: /reply
/ignore · none · Ignores the player, or stops ignoring them if you already do. Alias: /block
/ignore · none · Lists the players you ignore. Alias: /block
/msgtoggle · none · Turns receiving private messages off, or back on
/socialspy · directmessages.socialspy (op) · Shows you every private message between other players
/directmessages reload · directmessages.reload (op) · Reloads the config
directmessages.cooldown.bypass (op) · Sends messages without the cooldown

Configuration

name: "%vault_prefix%{name}"

formats:
sent: "&#C77DFFTo &f{receiver}&7: &f{message}"
received: "&#C77DFFFrom &f{sender}&7: &f{message}"
spy: "&8[&#C77DFFSpy&8] &7{sender} &8→ &7{receiver}&8: &7{message}"
action-bar: "&#C77DFF✉ &fNew message from {sender}"

hover:
lines:

  • "&f{name}"
  • "&7------------"
  • "&#00FF11$ &fMoney: &#00FF11%vault_eco_balance_formatted%"
  • "&#FF0000🗡 &fKills: &#FF0000%statistic_player_kills%"
  • "&#FFE400⌚ &fPlaytime: &#FFE400%statistic_time_played%"
  • "&#FA7600☠ &fDeaths: &#FA7600%statistic_deaths%"
  • "&7------------"
  • "&7Click To Message!"

click: "/msg {name} "

sounds:
sent:
sound: entity.experience_orb.pickup
volume: 0.6
pitch: 1.4
received:
sound: block.note_block.pling
volume: 1.0
pitch: 2.0
error:
sound: entity.villager.no
volume: 1.0
pitch: 1.0

cooldown: 1.0
log: true

storage:
type: sqlite
mysql:
host: localhost
port: 3306
database: minecraft
username: root
password: ""

messages:
msg-usage: "&cUsage: /msg "
reply-usage: "&cUsage: /r "
not-online: "&c{player} is not online."
no-reply: "&cYou have nobody to reply to."
self: "&cYou can't message yourself."
not-accepting: "&cThat user is not accepting private messages."
you-ignore: "&cYou are ignoring {player}."
cooldown: "&cWait {seconds}s before sending another message."
ignore-on: "&7You now ignore &f{player}&7."
ignore-off: "&7You no longer ignore &f{player}&7."
ignore-self: "&cYou can't ignore yourself."
ignore-list: "&7Ignored players: &f{players}"
ignore-empty: "&7You don't ignore anyone."
never-joined: "&c{player} has never joined."
spy-on: "&aSocial spy on."
spy-off: "&cSocial spy off."
toggle-on: "&aPrivate messages on."
toggle-off: "&cPrivate messages off."
reloaded: "&aDirectMessages reloaded."

Key · Description
name · How a player's name looks in messages. {name} is the player's name; placeholders are filled for that player
formats.sent · What the sender sees
formats.received · What the receiver sees
formats.spy · What staff with social spy on see
formats.action-bar · The action bar line the receiver sees
hover.lines · The card shown when hovering a name. Placeholders are filled for the player whose name it is
hover.click · Typed into the chat box when a name is clicked. {name} is the player's name
sounds.sent / sounds.received · Any sound key, including resource pack sounds. Volume and pitch are numbers
sounds.error · Plays with every error message, like "You can't message yourself." or a player not accepting messages
cooldown · Seconds between two messages from the same player. 0 turns it off
log · Writes every message to plugins/DirectMessages/logs/.log
storage.type · sqlite (saved in plugins/DirectMessages/data.db) or mysql

In formats, {sender} and {receiver} are the two players' names, drawn with name, with the hover card and click.
{message} is the message text. It is never parsed for colors or placeholders, so players can't use them. A token
takes the color written before it.

When someone ignores you or has /msgtoggle off, you get the same not-accepting message, so you can't tell which.

An empty format, action bar, sound, hover.lines or hover.click turns that part off. An empty message in
messages is not sent. Changing storage needs a restart; everything else applies with /directmessages reload.

Building

Requires JDK 25 or newer and Maven.

mvn package

The jar is written to target/.

Support

Ask on my Discord: discord.gg/nRjDw9k2vJ

License

MIT

Written by andrey5650. Read it with pictures on Modrinth.

How to install Direct Messages

  1. Make sure your server runs Paper and Spigot on Minecraft 1.21 – 26.x.

  2. Download the .jar file from Modrinth and put it in the plugins folder of your server.

  3. Restart the server. Avoid /reload, many plugins do not handle it well.

  4. Type /plugins in the console: Direct Messages should be listed in green. Its config files are created in the plugins folder on the first start.

Full guide: How to install plugins on a Minecraft server

Compatibility

Minecraft versions
26.x, 1.21
Runs on
Paper, Spigot
Edition
Java
Needs
PlaceholderAPI
License
MIT
Price
Free
Upkeep
Actively updated (Nov 13, 2026)

Direct Messages compared with similar ones Compare all alternatives

ResourceDownloadsVersionsLast updatePrice
Direct Messagesthe one you looked at21.21 – 26.x7 days agoFree
Custom Join MessagesInsprill28K1.12 – 26.x25 days agoFree
Join Messages Plussoccerhighschool3261.21 – 26.xOct 10, 2026Free
voxchatirinque91.19 – 26.x12 days agoFree

Questions

Does Direct Messages work on Minecraft 26.x?

Yes. Direct Messages supports Minecraft 26.x. All supported versions: 26.x, 1.21.

Is Direct Messages free?

Yes. Direct Messages is free to download from Modrinth.

Which server software does Direct Messages run on?

Direct Messages runs on Paper and Spigot servers.

Does Direct Messages need anything else?

Yes: PlaceholderAPI. Install it before Direct Messages.

Is Direct Messages still updated?

Yes. The last update came out in the past day.

What are the best alternatives to Direct Messages?

The closest ones are Custom Join Messages, Join Messages Plus and voxchat. Compare all alternatives

Alternatives to Direct Messages

Custom Join MessagesPlugins · 1.12 – 26.x

Welcome players with first-join, join, and quit messages, publicly or privately, via Chat, Titles, Action Bars, Boss Bars, and Sounds. Permission-based and…

Free27,520 downloads
voxchatPlugins · 1.19 – 26.x

VoxChat is a server-side Minecraft plugin featuring local and global chat, private messaging, and customizable system notifications. Configure chat formats…

Free9 downloads
WhisperPlusPlugins · 1.16 – 26.x

WhisperPlus moves private messages out of the cluttered chat and into a fully customizable action bar or chat format, with optional sounds. It also adds…

Free35 downloads
Compare all alternatives ›

Reviews

–★★★★★
0 reviews
50
40
30
20
10

Log in to leave a review.