0x15 C15PacketClientSettings
Client sends its locale, view distance, chat mode, chat colors, difficulty preference, and cape visibility.
Fields
| Field | Type | Description |
|---|---|---|
| locale | String | Client language (en_US, zh_CN, etc.) |
| viewDistance | byte | Client render distance in chunks (2-32) |
| chatVisibility | byte | 0=full, 1=commandsOnly, 2=hidden |
| chatColors | boolean | Enable chat color/formatting codes |
| difficulty | byte | Client difficulty preference (0-3) |
| showCape | boolean | Show player capes |
Wire Encoding
| Field | Type | Notes |
|---|---|---|
| Locale | String | en_US, zh_CN, etc. |
| View Distance | byte | 2-32 chunks |
| Chat Mode | byte | 0=shown, 1=commandsOnly, 2=hidden |
| Chat Colors | bool | |
| Difficulty | unsigned byte | Client-side preference |
| Show Cape | bool |
MCP References
MCP
NetHandlerPlayServer.processClientSettings()Handler Interface
HND
INetHandlerPlayServerNotes
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.
LocalSpoof
Send fake locale/view distance settings. Can be part of server crash exploits.