Skip to main content

Introduction

Pixel Protocol is the canonical, public specification for the Pixels packet protocol. It documents every message exchanged between a Pixels client and server so that independent implementations can achieve full compatibility without reverse-engineering the wire format from scratch.

About the protocol

The Pixels protocol is a binary, message-oriented protocol transported over WebSocket. Each message is prefixed with a 4-byte big-endian length, followed by a 2-byte big-endian message ID (header), and then zero or more payload fields serialized in declaration order. An optional RC4 encryption layer can be activated after a Diffie-Hellman key exchange during the handshake phase.

Communication is bidirectional:

  • Client → Server (c2s): messages initiated by the client, such as movement commands, chat, or purchase requests.
  • Server → Client (s2c): messages initiated by the server, such as room state updates, inventory changes, or authentication confirmations.

Analysis methodology

This specification was produced by cross-referencing the Nitro client (the primary packet-structure authority) with three independent server implementations:

CodenameDescriptionLanguage
GLADIATORServer implementation AJava
GALAXYServer implementation BJava
SODIUMServer implementation CC#

The Nitro client defines the definitive packet headers and field layouts. The server implementations provide behavioural context, validation rules, and compatibility notes.

Protocol coverage

The table below shows the total number of distinct packet headers registered in each source. These numbers reflect raw header constants or handler classes, so they may include deprecated or unused entries.

SourceClient → ServerServer → ClientTotal
Nitro client463459922
GLADIATOR356468824
GALAXY365352717
SODIUM312244556

The Nitro client has the broadest coverage and is treated as the authoritative source for header IDs and field order. The counts above reflect unique packet IDs (excluding sentinel values and counting aliases only once).

Packet realms

All known packets are organized into the following high-level realms based on their functional domain. The counts below are derived from Nitro client headers.

RealmS2CC2STotalDescription
Handshake & Security5813Diffie-Hellman exchange, SSO authentication, machine ID, release version
Session & Connection201030Ping/pong, latency measurement, hotel status, availability, disconnect
User & Profile272956User info, figure, settings, badges, currency, effects, wardrobe, subscription
Messenger & Social161430Friend list, private messages, relationships, follow, invitations
Navigator183755Room search, categories, favorites, popular rooms, room creation
Room444690Room info, model, heightmap, settings, rights, banning, doorbell, events
Room Entities201434Avatar/unit state, movement, chat, shout, whisper, dance, effects, typing
Furniture & Items475299Floor/wall items, dimmer, wired, decorations, mannequins, YouTube display
Catalog & Store111021Store pages, product offers, purchases, gift wrapping, voucher redemption
Subscription & Offers242650Club subscription, targeted offers, builders club, seasonal calendars
Economy & Trading262854Marketplace, trading, credits, rentable spaces
Inventory201333Unseen items, bot/pet/furniture inventory updates
Groups & Forums283664Guild management, badges, member lists, group forums
Pets202141Pet info, breeding, training, riding, leveling, supplements
Achievements & Talents141024Achievement progress, notifications, talent track
Quests & Campaigns181533Quests, seasonal quests, campaigns, competitions, community goals
Games & Entertainment282149Game center, leaderboards, music/jukebox, polls, voting, quizzes
Moderation & Safety404383Mod tools, call-for-help, sanctions, guide system, chat review
Camera & Photos7815Camera snapshots, photo publishing/purchasing, thumbnails
Notifications & Landing16622Desktop view, news, promotions, alerts, welcome gifts, NUX
Crafting & Recycling7916Ecotron, crafting recipes, composting
Other3710Mystery box, fireworks, rentable extensions, miscellaneous
note

These realm counts are approximations based on naming conventions in the Nitro client headers. Some packets could reasonably belong to more than one realm; the grouping is intended as a navigational aid, not a rigid classification.