roblox-client-server-architecturelisted
Install: claude install-skill ibrohim1234567881717/game-dev-ai-skills
# Roblox Client-Server Architecture
## Purpose
`roblox-security` gives the procedure for auditing a boundary. This skill gives
the design that passes that audit: how to structure client-server communication
so that a client message is a **request the server validates**, never a result
the server accepts.
Roblox makes this harder than it looks, because a great deal replicates
automatically. That convenience hides where the boundary actually is, and code
written without noticing it is the usual source of both exploits and
"works in Studio, breaks in a live game".
## When to use
- Designing any feature where client and server both participate.
- Deciding which side computes a result.
- Replication behaves unexpectedly: a change on one side does not appear on the
other, or appears and then reverts.
- Physics behaves differently in a live game than in Studio.
- Reviewing or refactoring existing remote usage.
## When NOT to use
- Auditing existing code for exploitability. Use `roblox-security`, which is the
audit procedure; this skill is the design.
- Saving player data. Use `roblox-datastore-persistence`.
- Purchases. Use `roblox-monetization`, where exactly-once semantics dominate.
- Project layout and services generally. Use `roblox-project-conventions`.
## Required context
| Fact | Why it matters | Where to find it |
|---|---|---|
| Rojo project or Studio-only | Decides whether file edits are usable at all | `default.project.json` |
| Which remotes already exist |