multiplayer — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited multiplayer (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Practical reference for wiring up a multiplayer game: where authority lives, how clients stay in sync, how to spend bandwidth wisely, and how to keep cheaters from rewriting the rules.
Match the network model to how the game is actually played:
How the three common hosting styles stack up:
| Model | Round-trip latency | Operating cost | Cheat resistance |
|---|---|---|---|
| Dedicated server | Consistently low | Expensive to host | High |
| Peer-to-peer | Unpredictable | Nearly free | Poor |
| Listen / host-based | Middling | Cheap | Moderate |
The pattern: spend money to buy latency and trust. P2P flips that — it costs almost nothing but gives up both.
Two opposite philosophies, plus the blend almost everyone ships:
| Strategy | What travels the wire | Where it shines |
|---|---|---|
| State replication | Snapshots of the world (positions, HP, flags) | Small object counts, easy to reason about |
| Lockstep / input replication | Just the button presses, replayed in lockstep | Deterministic RTS and fighting games |
| Hybrid | Inputs locally, state for everyone else | The default for most titles |
Even on a dedicated server, the round trip is real. Four techniques paper over it:
A concrete flow: a player with 90 ms ping fires. Locally the shot leaves instantly (prediction). The server receives it, rewinds enemies ~90 ms (lag compensation), checks the hit against that older snapshot, then broadcasts the result; everyone else sees the victim react a frame late but smoothly (interpolation).
You will run out of bytes before you run out of things to send. Trim aggressively:
| Technique | What it buys you |
|---|---|
| Delta encoding | Transmit only fields that changed since the last ack |
| Quantization | Drop float precision — a position rarely needs 32 bits per axis |
| Prioritization | Push the urgent stuff (an incoming grenade) ahead of cosmetic updates |
| Area of interest / relevancy | Replicate only entities the player could plausibly perceive |
Tune send frequency to how fast each value matters:
| Data | Suggested cadence |
|---|---|
| Movement / transforms | ~20-60 Hz, tick-dependent |
| Health & damage | Event-driven, on change |
| Inventory / loadout | Event-driven, on change |
| Text chat | Only when a message is sent |
The bedrock rule: the client is an attacker's playground, so it gets no say over outcomes. Treat every inbound packet as a claim the server must prove.
When a client reports "my rocket killed them," the server independently asks:
Common exploits map cleanly onto server-side checks:
| Exploit | Server-side defense |
|---|---|
| Speed hacking | Validate movement deltas against allowed velocity |
| Aimbot | Re-verify line of sight and target visibility |
| Item duplication | Keep inventory entirely server-owned; clients only request |
| Wallhack | Never transmit data for entities the player cannot see |
That last row is the strongest lever: an exploit is impossible if the cheating client was never handed the information in the first place.
Four goals that constantly pull against each other:
| Goal | Why it matters |
|---|---|
| Skill parity | Keeps matches competitive and not lopsided |
| Connection quality | Low enough ping to be playable for everyone |
| Queue time | Players abandon long waits |
| Party handling | Groups must stay together and slot into a lobby |
Tightening any one usually loosens another — perfect skill matching, for instance, means longer queues or worse pings.
| Mistake | Do this instead |
|---|---|
| Letting the client decide outcomes | Make the server the sole authority |
| Replicating the entire world state | Send only what each player needs |
| Assuming a perfect connection | Budget for 100-200 ms and design around it |
| Snapping to exact remote coordinates | Interpolate and predict for smoothness |
Bottom line: a client's word is only ever a request, never a fact. The server is the one and only source of truth.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.