Hacking & Breach Targets
Command Prompt is a real-feeling cmd.exe (dir, ipconfig, systeminfo, ping, tasklist, whoami and more) and the way into ten hacking minigames: free practice runs, and breach targets you configure, which pay their rewards from the server.

Commands
| Command | What it does |
|---|---|
hack | Lists the programs |
hack <program> [easy|medium|hard] | A practice run. Logged to the computer's System Logs, no reward |
targets | The hosts reachable from this computer, with their stages, status and item requirement |
breach <command> | Every stage of a target, in order. The server pays the reward |
The Minigames
| Key | Program | Game |
|---|---|---|
maze | net-maze.exe | Network Maze |
capture | node-grab.exe | Node Capture |
cipher | cipher-lock.exe | Cipher Lock |
snake | data-worm.exe | Data Worm |
firewall | fw-defense.exe | Firewall Defense |
evasion | highway-evade.exe | Highway Evasion |
typing | code-inject.exe | Code Injection |
signal | sig-replay.exe | Signal Replay |
pipe | pipe-route.exe | Packet Routing |
breakout | ice-break.exe | ICE Breaker |
Each has an easy, medium and hard preset in configs/shared/hacks.lua (maze size, time limits, lives, speeds). medium is every game's tuned default. Removing a game from Games hides it from practice and from the StartHack export. Practice = false leaves only the real targets.
In your own robberies and heists
The same minigames can be put in front of any door, vault or terminal from your own scripts, with no computer, and with a result the server has verified. See Hacks in Your Scripts.
Breach Targets
configs/server/targets.lua (server only: the rewards never reach a client)
A target is something a player breaches from Command Prompt: a set of minigames to beat in order, on the computers you choose, for a reward the server pays after the last one.
{
id = 'fleeca_ledger',
computers = { 'public_pc' },
command = 'fleeca-ledger',
label = 'Fleeca Bank - branch ledger relay',
hidden = false,
steps = {
{ game = 'pipe', difficulty = 'medium' },
{ game = 'typing', difficulty = 'medium' },
},
requires = { item = 'trojan_usb', count = 1, consume = true },
cooldown = 1800,
failCooldown = 90,
exclusive = true,
alert = {
chance = 50, onFail = true,
title = 'Bank Network Intrusion', code = '10-90',
message = 'Fleeca reports an unauthorised ledger transfer traced to a public terminal',
jobs = { 'police' },
},
reward = {
money = { type = 'cash', amount = 750 },
},
},| Field | Description |
|---|---|
id | Unique. Keys the cooldown and the System Logs entries |
computers | Computer ids it can be reached from. A model computer's id covers every prop of it |
command | What the player types after breach (lower case, no spaces) |
label | Shown by targets and in the logs |
hidden | true = targets does not list it: you have to know the command (sell it as intel) |
steps | The minigames, in order: { game, difficulty } |
requires | Optional { item, count, consume } the player must carry to start |
groups | Optional job or gang allow-list of who may run it |
cooldown | Seconds the target is locked after a successful breach, for everyone |
failCooldown | Seconds one player waits after failing before trying again |
exclusive | true = only one player can be mid-breach on it at a time |
alert | Optional police alert: { chance, onFail, title, message, code, jobs }. Rolls chance (0 - 100) when the breach starts; onFail = true rolls again if it fails. Sent from the hacker's position |
reward | Paid by the server on success, any combination of the four below |
| Reward | Description |
|---|---|
items | { { name, count, metadata? } } |
money | { type = 'cash' | 'bank', amount } |
mail | { from = { name, email }, subject, body }, sent to every address the hacker is signed into. Nothing arrives if they are signed into none, so tell them to sign in |
event | A server event of yours: TriggerEvent(event, src, info) with info = { target, computer, instance } |
Every successful breach also fires sd-computers:server:breachCompleted.
Put valuable targets on location computers
A location computer's position is known to the server, so it checks the player is really there. A model computer's prop is not networked: its position comes from the player's client. That is fine for public PCs, but put high-value targets on location computers.
Walking away mid-breach, or closing Command Prompt between steps, counts as a failed breach.
Anti-Cheat
A hack win is never trusted. The minigames come from sd-deaddrop, with the same server-side checks:
- The server starts every run, and for maze, pipe, typing and signal it generates the puzzle itself.
- Every milestone must be reported, in order, at a human pace.
- Nothing faster than the difficulty's minimum play time is accepted. The floors are worked out from the same preset numbers, so a harder preset is also a longer proof of play.
- Only then does the server pay out.
The tuning is in configs/server/hacks.lua (see Configuration > Hacking). Step by step, a run is verified as Hacks in Your Scripts > How a Win Is Verified describes.
