Lodehost logoLodehost

Players and access

Signed chat and player reports: what your Minecraft server decides

Since Java Edition 1.19.1 players can report chat to Mojang, and that only works because the game signs each message before it leaves the player's computer. One line in server.properties decides whether your server insists on those signatures. That same line is behind most chat validation errors, the notice some players get when they join, and a few surprises with chat plugins. This page explains the mechanics and the choices, without telling you which choice is right for your community.

9 min read

A speech bubble with a seal on its corner beside a small server and a switch
A signature proves who wrote a message. The server decides whether it insists on one.

What a signed chat message is

Every Java player receives a pair of keys from Mojang that belongs to their account. Before a chat message is sent, the game signs it with the private key. The server passes the signature along with the words, and the game of every player who reads the message checks it against the public key. Each message also carries a running number and the signatures of messages the sender recently saw, so nobody can quietly drop or reorder lines in a conversation.

The point of all this is evidence. A valid signature shows that this account typed exactly these words, which is what Mojang's moderators need before they act on a report. A message without one can still be read by everybody, but it cannot be reported.

Next to the messageText when you hover over itWhat it means
NothingNoneSigned by the sender and passed on unchanged.
A gray barUnverified message. Cannot be reported.No valid signature arrived with it.
A small Modified markMessage modified by the server. Original: and then the words the player typedThe server sent other words next to the signed original.
A gray barServer message. Cannot be reported.Sent by the server or a plugin, not by a player's own game.
Signed Minecraft chat and server moderation as separate concepts
Message signing and server moderation serve different purposes. Signed messages do not replace rules, reporting tools or active moderation. View larger.

The Require signed chat switch

The line in the file is enforce-secure-profile, and it is true by default. On our panel it is Require signed chat in the Access group of the Settings tab, just after Verify accounts with Mojang. The Access group is shown without clicking Show advanced settings.

  • Joining still works without a key. A player whose game has no valid key gets in and can walk around, but the server refuses their chat.
  • Every message is checked for a matching signature, the right order and a key that has not expired. A message that fails does not reach anyone.
  • It depends on account checks. With Verify accounts with Mojang off, the server has no way to check keys, and signed chat is not enforced whatever this switch says.
  1. Open the Settings tab

    Scroll to the Access group, where the whitelist and account settings are.

  2. Flip Require signed chat

    The label gets an asterisk, and a bar with your unsaved changes appears.

  3. Click Save changes

    The panel writes the line into server.properties and reminds you to restart the server to apply the settings that need it. This is one of them.

  4. Restart the server

    The file is read at start, so the old behaviour stays until the next restart.

Chat validation errors, word for word

When the check fails, the game tells the player with one of the lines below. Almost all of them are about one player's key or clock, which is why a single person can be stuck while everyone else chats normally.

What the player seesWhat went wrongWhat usually helps
Chat disabled due to missing profile public key. Please try reconnecting.The game never sent a key. Client mods that withhold the key cause this, and so do launchers that do not sign in with a Microsoft account.Reconnect. With such a mod, chat only works on servers that do not require signed chat.
Chat disabled due to expired profile public key. Please try reconnecting.The key ran past its end date.Reconnect, and check that the computer's clock is set correctly.
Chat received out-of-order. Did your system time change?A message arrived with an older time than the one before it.Let the system clock sync, then reconnect.
Chat disabled due to broken chain. Please try reconnecting.A message is missing from the player's numbered sequence.Reconnect to start a new sequence.
Chat had an invalid signature. Please try reconnecting.The signature does not match the words or the key.Reconnect. If it keeps coming back, test without client mods.
Chat message validation failureA disconnect: the list of recently seen messages sent along with a message did not add up.Reconnect. When it hits many players, test with your chat plugins removed on a copy of the server.
Expired profile public key. Check that your system time is synchronized, and try restarting your game.A disconnect: the key is out of date, most often because of a wrong clock.Sync the clock and restart the game.
Invalid signature for profile public key. Try restarting your game.A disconnect: the key itself was not accepted.Restart the game and the launcher.

The receiving side has its own message. When a player's game cannot verify a message it gets, that line reads Chat validation error instead of the text, and hovering over it shows Server sent invalid message. Other connection errors are in the guide for players who cannot connect.

Server log on the Console tab

Received chat message from Kai, but they have no chat session initialized and secure chat is enforced
Received message with expired profile public key from Kai with session
Received out-of-order chat message from Kai: expected index
Received message with invalid signature (is the session wrong, or signature cache out of sync?)

The lines are shortened here after the part that matters. Most of them name the player, which tells you whether one person or the whole server has a problem. The first one is the classic sign of a client mod that refuses to sign while Require signed chat is on.

When a plugin rewrites the message

A signature covers the exact words a player typed. Everything around those words is the server's business: the name, a rank prefix, colors, the brackets. Changing the words themselves is a different matter, and that is what word filters, emoji replacers and auto-capitalising plugins do.

  • A plugin changes the words. Paper, and Purpur which builds on it, sends the new text together with the signed original. Readers see the Modified mark, and the hover shows what the player really typed.
  • A plugin changes only the format around the words, such as a prefix or a name color. Paper keeps the player's signed original as the message.
  • A plugin sends player chat as a server message. It arrives without a signature and is marked Server message. Cannot be reported. Plugins that are built to prevent reports work this way.

Some players hide rewritten chat

Chat Settings in the game has an option called Only Show Secure Chat. Its own description: Only display messages from other players that can be verified to have been sent by that player, and have not been modified. A player who turns it on sees nothing of messages your word filter changed or a plugin resent, and has no way of knowing they missed something.

What players are told before they chat

When a game asks your server for its entry in the multiplayer list, the answer carries the MOTD, the icon and the player count, and also whether the server requires signed chat. The list in Minecraft 26.2 does not draw anything for that last part. Players find out once they are in, and only on a server that does not require it, through this notice:

Notice after joining

Chat messages can't be verified
Messages sent on this server may be modified and might not reflect the original message

On such a server the report screen may also refuse with This player can't be reported, because their chat messages can't be verified on this server. Players who see that are not facing an error; it is the direct result of your setting.

What a report does, and your part in it

A player opens the Social Interactions Screen, on P by default, or the Player Reporting button in the pause menu, and picks Report next to a name. There are three kinds of report: Chat Messages, Player Name and Player Skin. For chat they tick the messages, choose a category such as Harassment or bullying, add a comment and send it. The report goes from their game to Mojang, whose moderators review it against the Minecraft Community Standards.

As the server owner you canAs the server owner you cannot
Read all chat in the server log, where lines without a valid signature are marked Not SecureSee reports, or who reported whom
Choose whether your server requires signed chatLift or shorten a suspension that Mojang hands out
Mute, kick or ban players on your own serverUndo a report once a player has sent it
Let a plugin take a message back after it was sentChange a player's own Only Show Secure Chat or Hide in Chat choices

Your own rules and Mojang's reporting run side by side. For trouble that should be handled on the server itself, the guide to banning, kicking and muting covers the tools, and operator rights are in the whitelist and op guide.

Switching it off: what changes and what does not

Owners usually switch signed chat off for one of two groups. Bedrock players on a Crossplay server come in through Geyser, and Geyser's own documentation says Bedrock Edition takes no part in signing, so they cannot chat while the server requires it. The other group runs client mods that withhold the key.

Require signed chat onRequire signed chat off
Players without a keyJoin, but cannot chatJoin and chat
Bedrock players through GeyserCannot chatCan chat
Chat from ordinary Java playersSigned, and reportableStill signed by their game and passed on, so still reportable
Messages without a signatureRefusedShown with a gray bar, and hidden from players using Only Show Secure Chat
Notice when joiningNoneChat messages can't be verified

Off does not make chat unreportable

A normal Java game keeps signing its messages, and a vanilla or Paper server keeps passing those signatures on. Only a server add-on that strips or resends chat changes that: FreedomChat has builds for Paper and Fabric on 26.2, and No Chat Reports for Fabric, Forge and NeoForge on 26.2. FreedomChat's own notes add that players with client mods that switch signing off still need Require signed chat turned off.

  • What you gain: Bedrock players and players with those client mods can take part in chat.
  • What you give up: messages that arrive without a signature cannot be reported, so abuse from those players is entirely a job for your own moderators.
  • What players notice: the join notice, gray bars next to unsigned lines, and silence for anyone with Only Show Secure Chat turned on.

On a network built with the Network card, the proxy has its own key check, force-key-authentication. The panel sets it together with the proxy's account check when it builds the network; the network guide explains how the proxy and the servers behind it share that work.

Written and checked by the Lodehost team, last reviewed on 14 September 2026.

FAQ

Questions about signed chat and reporting

Does secure chat hide messages from the server owner?

No. A signature proves who wrote a message and that it was not changed; it does not hide the words. The server reads every message, and chat appears in the log on the Console tab.

Why does only one player get chat errors?

Keys and clocks belong to each player's own computer. A wrong system time or a mod that withholds the key breaks chat for that one person, so start with their clock and their mods.

Can a Mojang suspension keep a player off my server?

Yes. The suspension screen tells the player they can't play online or join Realms until it ends, or at all for a permanent ban. No server setting overrides that.

Can Bedrock players be reported through the Java report screen?

Not for their chat. Bedrock Edition does not sign messages the way Java Edition does, so their lines carry no signature that a Java report could use.

What does This chat message has been deleted by the server mean?

A plugin or moderation tool removed the message after it was sent. The game leaves that line in its place so readers know something was there.

Your chat rules, set in the panel you already use.

Require signed chat sits in the Access group of the Settings tab, and the Console tab shows every chat line the server logs.

Compare the plans