0x15 C15PacketClientSettings

Client sends its locale, view distance, chat mode, chat colors, difficulty preference, and cape visibility.

Serverbound (Client → Server) · PLAY · net/minecraft/network/play/client/C15PacketClientSettings.java
playersettingschat

Fields

FieldTypeDescription
localeStringClient language (en_US, zh_CN, etc.)
viewDistancebyteClient render distance in chunks (2-32)
chatVisibilitybyte0=full, 1=commandsOnly, 2=hidden
chatColorsbooleanEnable chat color/formatting codes
difficultybyteClient difficulty preference (0-3)
showCapebooleanShow player capes

Wire Encoding

FieldTypeNotes
LocaleStringen_US, zh_CN, etc.
View Distancebyte2-32 chunks
Chat Modebyte0=shown, 1=commandsOnly, 2=hidden
Chat Colorsbool
Difficultyunsigned byteClient-side preference
Show Capebool

MCP References

MCPNetHandlerPlayServer.processClientSettings()

Handler Interface

HNDINetHandlerPlayServer

Notes

Sent by vanilla client every time settings change. The server stores locale for player language detection. View distance affects how many chunks the server sends. Rise 6.0 ClientSpoofer sends spoofed C15 to change the locale string for server-side language detection bypass and to set a fake view distance.

implementation Implementation Cases

ServerCrasher

Send fake locale/view distance settings. Can be part of server crash exploits.

Vanilla hook: EventSendPacket
LocalSpoof

Send fake locale/view distance settings. Can be part of server crash exploits.

Vanilla hook: EventSendPacket
← Back to all packets