Who owns the score?
Play the real client/server game, repair a proximity guard and prove that remote pickup fails while a legal delivery succeeds.
Runnable opening availableStudy authority and range →Anti-cheat engineering / software core
Start with a tiny game you own. Implement server-side rules, write independent tests, check owned code, reproduce decisions and learn what the evidence cannot tell you.
Beta local teaching project, not production anti-cheat · guided decisions work in a mobile browser · source editing needs Node 22+ on a workstation · all navigation stays open · human learning, time estimates and native accessibility remain unvalidated
Start the guided course → Work through a solved sibling, a partly solved case and a fresh checked decision in each section. Each unit has a separate three-item mastery set. Browser decisions prepare you for source work; they do not replace the code and HTTP projects below.
This route assumes basic JavaScript functions, objects and arrays, plus command-line file editing. M3 introduces asynchronous HTTP and assertions through a worked example and a completion exercise; later labs name the additional system concepts they introduce. Your work is source code plus preserved tests and reasoning. Reading a page or passing a supplied example does not establish transfer.
A program is stored code; a process is one running instance. Here the browser and Node server run separately and exchange HTTP messages. The server keeps the authoritative score. A browser button can request an action, but changing browser memory cannot by itself change the server’s saved state. Trace that boundary before adding a guard.
The book context is System Programming in Linux, chapter 1, “Processes”; the networking reading and source limits are in the reading map. Node supplies the OS interfaces for this course, so native system-call programming is not a prerequisite.
Play the real client/server game, repair a proximity guard and prove that remote pickup fails while a legal delivery succeeds.
Runnable opening availableStudy authority and range →Implement admission, expiry and interaction coalescing without giving the client authority over position or score.
Runnable policy exercise availableStudy admission policy →Write HTTP scenarios that accept two correct implementations and expose seven plausible defects.
Independent scenario grading availableStudy test design →Investigate clumping, reorder, loss, expiry and reconnect. Distinguish a transport retry from a cheating inference.
Runnable timing prediction exercise availableStudy the timing contract →Build an inventory/digest policy. Stop changed runtime bytes, admit an approved update and state the reference's trust limit.
Runnable source exercise availableStudy package integrity →Replay a complete causal window, preserve the state a screenshot misses and refuse incomplete or incompatible records.
Runnable source exercise availableStudy causal replay →Evaluate labelled cases, false positives, misses and a threshold frozen before the final run.
Runnable source exercise availableStudy evaluation →Measure the actual workload, bound retained data, test deletion and state the limits of a local benchmark.
Runnable source exercise availableStudy bounded retention →Detect a bad update, restore an approved runtime/configuration and demonstrate legal behavior again.
Runnable recovery selection and real-engine trialStudy compatible recovery →Construct and independently test a new server-owned resource rule, including retries and invalid state.
Two source files and real HTTP assessmentStudy the repair station →Module 8 is an optional owned-native investigation with a separate platform bridge. It is not needed for this route. No third-party game tampering, kernel installation, OS-security change or production-security claim is part of these labs. Plan several sittings. The previous source-only estimate was 9–17 active hours for an experienced JavaScript engineer. The new guided work adds practice, so that range is a historical baseline, not an estimate for this version. Actual human duration and learning outcomes remain unmeasured.