roblox-data-stores
Installation
SKILL.md
Roblox data stores and cloud services
Choose the service
| Need | Service | Notes |
|---|---|---|
| Player progress, inventory, settings | DataStore via ProfileStore (session-locked) | One key per player (User_{UserId}), ≤ 4 MB. |
| Global leaderboards | OrderedDataStore |
Integer values only; periodic updates, cached reads. |
| Fast, temporary, cross-server state | MemoryStoreService |
Sorted maps, queues, hash maps; everything expires (TTL ≤ 45 days). |
| Matchmaking queues, live events, server lists | MemoryStore queue / sorted map | Not durable — never the only copy of valuable data. |
| Broadcast to all servers | MessagingService |
≤ 1 kB per message, best effort, no delivery guarantee. |
| Values changed by live-ops without publishing | Experience configs (ConfigService) |
See roblox-analytics-liveops. |
Player data: use session locking
Two servers must never own the same player's data at once (teleports, fast rejoins), or items duplicate
and progress is lost. ProfileStore (loleris) implements session locking, auto-save, and
BindToClose flushing, and is the recommended default. Install it from Wally/the Creator Store and put
it in ServerScriptService.