multiplayer-sync

Installation
SKILL.md

Multiplayer Synchronization in Decentraland

Decentraland scenes are inherently multiplayer. All players in the same scene share the same space. SDK7 uses CRDT-based synchronization.

Runtime constraint: Decentraland runs in a QuickJS sandbox. No Node.js APIs (fs, http, path, process). Use fetch() and WebSocket for network communication. See the scene-runtime skill for async patterns.

Sync Strategy Decision Tree

Choose the right networking approach based on what you need:

Strategy Use When Persistence Example
syncEntity Shared state that all players see and that persists for new arrivals Yes — state survives player join/leave Doors, switches, scoreboards, elevators
MessageBus Ephemeral events that only matter in the moment No — late joiners miss past messages Chat messages, sound effects, particle triggers
fetch / REST API Reading or writing data to an external server Server-dependent Leaderboards, inventory, external game state
signedFetch Authenticated requests that prove player identity Server-dependent Claiming rewards, submitting verified scores
WebSocket Real-time bidirectional communication with a server Connection-dependent Live game servers, real-time chat, authoritative multiplayer

Decision flow:

Related skills

More from dcl-regenesislabs/opendcl

Installs
26
GitHub Stars
14
First Seen
Feb 25, 2026