Essential session storage is required to sign in. Optional analytics remain off unless you allow them.
Extend your authoritative server with real netcode so it feels smooth under latency and resists basic cheating. Requirements: (1) CLIENT-SIDE PREDICTION — the local player's input applies instantly on the client (tagged with a sequence number); (2) SERVER RECONCILIATION — when authoritative state arrives, the client snaps to it and replays unacknowledged inputs; (3) ENTITY INTERPOLATION — render other players smoothly between buffered snapshots; (4) simulate adverse network conditions (add artificial latency + packet loss) and show the game still feels playable; (5) DEFENSIVE server-side validation — the server rejects at least two impossible inputs (e.g. movement faster than max speed, an action off cooldown), demonstrating 'never trust the client'. Document how prediction/reconciliation and the validation work.
Client-side prediction with sequence numbers plus server reconciliation (snap + replay unacknowledged inputs).
Entity interpolation for other players; the game stays playable under injected latency + packet loss.
Server rejects at least two impossible inputs (e.g. over-speed, off-cooldown action) — defensive 'trust no client'.
Use this README structure to make the work reviewable.
DevPath fetches a read-only, size-capped snapshot. Submitted code is never executed.
# Smooth, cheat-resistant netcode ## Goal Extend your authoritative server with real netcode so it feels smooth under latency and resists basic cheating. Requirements: (1) CLIENT-SIDE PREDICTION — the local player's input applies instantly on the client (tagged with a sequence number); (2) SERVER RECONCILIATION — when authoritative state arrives, the client snaps to it and replays unacknowledged inputs; (3) ENTITY INTERPOLATION — render other players smoothly between buffered snapshots; (4) simulate adverse network conditions (add artificial latency + packet loss) and show the game still feels playable; (5) DEFENSIVE server-side validation — the server rejects at least two impossible inputs (e.g. movement faster than max speed, an action off cooldown), demonstrating 'never trust the client'. Document how prediction/reconciliation and the validation work. ## Acceptance criteria - [ ] Prediction & reconciliation: Client-side prediction with sequence numbers plus server reconciliation (snap + replay unacknowledged inputs). - [ ] Smoothness under latency: Entity interpolation for other players; the game stays playable under injected latency + packet loss. - [ ] Server-authoritative validation: Server rejects at least two impossible inputs (e.g. over-speed, off-cooldown action) — defensive 'trust no client'. ## Verification - [ ] Document installation and run commands. - [ ] Record automated checks and their exact commands. - [ ] Add representative output, screenshots, or a short demo where useful. - [ ] Confirm failure paths and known constraints. ## Decision log ### Decision title - Context: - Choice: - Alternatives considered: - Tradeoffs: ## Evidence - Link each rubric criterion to the file, test, or artifact that demonstrates it. ## Known limitations - List what is intentionally out of scope and what should be improved next.