Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.cc-scripts.com/llms.txt

Use this file to discover all available pages before exploring further.

This page is the single source of truth for every minigame. Each section lists the export, the player mechanic, and every option with its valid range and per-difficulty default.
All options are optional. The numbers shown are clamped at runtime — passing values outside the range does not error; they get clamped to the nearest endpoint. Per-difficulty defaults are picked up automatically when an option is omitted.

Reference table

GameExportVariantsMechanic
PatternPattern(opts)terminal, bareRepeat a flashing sequence on a grid.
CircuitCircuit(opts)terminal, bareRotate pipes to connect endpoints.
SequenceSequence(opts)terminal, bareGreek letters appear, hide, then re-enter.
VerbalVerbal(opts)terminal, bareMark words as SEEN or NEW.
MemoryMemory(opts)terminal, bareMemorize lit tiles, click them all.
CrackCrack(opts)terminal, bareMastermind-style code deduction.
SnifferSniffer(opts)terminal, bareClick matching packets in a live stream.
ColorCountColorCount(opts)terminal, bareCount colored cells, answer questions.
DrillDrill(opts)bare-onlyManage drill heat vs depth.
LockpickLockpick(opts)strip-onlySweep timing on a moving cursor.
FishingFishing(opts)strip-onlyPark a moving zone on a fish.
PathPath(opts)terminal, bareClick points in nearest-neighbor order.
UntangleUntangle(opts)terminal, bareDrag nodes until no edges cross.
HotkeyHotkey(opts)terminal, bareHit each shown key inside a window.
TracerTracer(opts)terminal, bareHold cursor inside a moving target.
AimAim(opts)terminal, bareClick shrinking targets before they expire.
CadenceCadence(opts)terminal, bareHold a key for the right duration.
FlickFlick(opts)strip-onlyTap arrow keys in sequence.
CutCut(opts)strip-onlySteer a cursor along a wavy line.
ShellShell(opts)terminal, bareComplete shell-style typed goals.
OutrunOutrun(opts)terminal, bareType characters before the trace fills.
BalanceBalance(opts)strip-onlyInverted-pendulum hold with Q/E.
MasherMasher(opts)strip-onlyMash one or more keys to fill an arc.
MinesweeperMinesweeper(opts)terminal, bareClassic Minesweeper.
RhythmRhythm(opts)terminal, bare4-lane note hits.
LightsOutLightsOut(opts)terminal, bareToggle every cell on.
TowersTowers(opts)terminal, bareStack-and-slice timing game.
SafeSafe(opts)terminal, bareAudio-clue dial safecracker.
FrequencyFrequency(opts)bare, screen-4x3Multiplayer tuning game (see its own page).

Pattern

NxN grid flashes a growing sequence; player repeats it by clicking.
exports.cc_minigames:Pattern({ difficulty = 'hard', rounds = 6 })
OptionRangeDefault (medium)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
rounds1–124
gridSize3–64

Circuit

Grid of rotatable pipes; connect the start endpoint to the end before time runs out.
OptionRangeDefault (medium)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
gridSize3–75
timeLimitseconds, 0 = none60

Sequence

Greek letters appear one at a time, the full sequence holds, then hides. Player re-enters it on the keypad.
OptionRangeDefault (easy / medium / hard)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
length3–94 / 5 / 6
revealMs≥ 250900 / 750 / 600
holdMs≥ 10004500 / 3500 / 2500

Verbal

One word at a time. Click SEEN (Q) or NEW (E). Lose on too many mistakes; win on a streak.
OptionRangeDefault (medium)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
lives1–53
winStreak5–4015

Memory

Random tiles light up on a grid, then hide. Click all of them.
OptionRangeDefault (easy / medium / hard)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
gridSize3–64
tiles2–164 / 6 / 8
mistakes0–100 (instant-fail)
showTime≥ 600 ms1800

Crack

Mastermind. Deduce the hidden color combo from per-slot feedback pegs.
OptionRangeDefault (easy / medium / hard)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
codeLength3–63 / 4 / 4
paletteSize3–85 / 6 / 7
attempts3–156 / 5 / 5
duplicatestrue | falsefalse (medium) / true (hard)
timeLimitseconds, 0 = none0

Sniffer

A live packet stream scrolls past. Click every packet matching the target signature (proto + IP + port + flag). Missed or false clicks cost a life.
OptionRangeDefault (easy / medium / hard)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
targets1–103 / 4 / 5
spawnMs200–20001200 / 950 / 700
misses0–103 / 2 / 1

ColorCount

A grid of colored cells flashes. Hide it, then ask “how many of color X were on the board”. Multiple rounds.
OptionRangeDefault (easy / medium / hard)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
gridSize3–77 / 8 / 9
showTime≥ 1000 ms10000 / 9000 / 9000
rounds1–102 / 3 / 3
questionsPerRound1–51
paletteSize2–62 / 3 / 4
maxPerColor1–304 / 5 / 6
zeroChance0–10.10 / 0.18 / 0.25
mistakes0–101 / 1 / 0
gridSize is clamped to a max of 7 by the normalizer even though the medium and hard defaults reference 8 and 9. The defaults table is read first, then the clamp applies — meaning all three difficulties currently render at gridSize 7 unless you pass an explicit override below 7. Worth knowing if you’re tuning.

Drill

Manage drill power: heat rises with applied power, cools when idle. Strikes cost lives; depth is the goal.
Drill is bare-only. The terminal chrome reads thematically wrong against an industrial drill panel.
OptionRangeDefault (easy / medium / hard)
difficultyeasy | medium | hardmedium
depth20–400100 / 130 / 160
heatRate5–200 (heat/sec at 100% power)24 / 32 / 46
coolRate5–200 (heat/sec at 0% power)26 / 20 / 16
strikes0–103 / 3 / 2
timeLimit0–600 seconds60 / 55 / 45

Lockpick

A cursor sweeps a horizontal track. Tap when the cursor is over the (hidden) zone to set a pin. Misses cost strikes.
Lockpick is strip-only.
OptionRangeDefault (easy / medium / hard)
difficultyeasy | medium | hardmedium
pins1–124 / 5 / 6
sweepMs200–50001300 / 950 / 700
zoneFrac0.02–0.50.13 / 0.09 / 0.06
strikes0–102 / 1 / 1
timeLimit0–600 seconds0 (none)

Fishing

Direct port of the cc-fishgame mechanic — keep a moving zone over a fish until the bar fills. Uses rarity instead of difficulty.
Fishing is strip-only.
OptionRangeDefault per rarity
raritycommon | uncommon | rare | epic | legendarycommon
zoneFrac0.05–0.6scales down by rarity (≈ 0.38 common → 0.21 legendary)
noiseMag0.5–301.5 / 2.0 / 3.0 / 4.0 / 4.5
timeLimit2–120 seconds30 / 27 / 24 / 20 / 17

Path

A field of points appears with one highlighted as the start. Click the nearest unvisited point. Wrong-click instant-fails. Multiple rounds.
OptionRangeDefault (easy / medium / hard)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
pointsBase2–205 / 6 / 8
pointsStep0–81 / 2 / 2
rounds1–103
timeLimit2–600 seconds30 / 25 / 20

Untangle

A planar-by-construction graph spawns with edges visibly intersecting. Drag points until no two edges cross.
OptionRangeDefault (easy / medium / hard)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
points3–206 / 8 / 10
density1.0–3.0 (edges = round(points × density))1.4 / 1.6 / 1.7
timeLimit5–600 seconds35 / 30 / 25
showIntersectionsbooleantrue (easy/medium) / false (hard)

Hotkey

Each prompt shows a key and a window. Hit it inside the window or eat a miss.
OptionRangeDefault (easy / medium / hard)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
targets1–408 / 10 / 12
windowMs≥ 1501300 / 950 / 700
gapMs≥ 0350 / 250 / 180
misses0–102 / 1 / 0

Tracer

Hold the cursor inside a moving target circle for a duration.
OptionRangeDefault (easy / medium / hard)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
holdMs≥ 10004000 / 5000 / 6000
tolerance12–120 px60 / 45 / 32
speed0.3–4.01.0 / 1.4 / 1.9
volatility0.0–4.00.5 / 1.0 / 1.6
timeLimit0–180 seconds25

Aim

Click shrinking circles before they vanish.
OptionRangeDefault (easy / medium / hard)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
targets1–10012 / 15 / 20
lifetimeMs≥ 2002100 / 1500 / 1050
startRadius8–60 px28 / 24 / 20
endRadius2–40 px6 / 4 / 3
misses0–204 / 2 / 1
timeLimit0–300 seconds60

Cadence

Hold a key for a target duration with a percentage tolerance (and a floor for short targets).
OptionRangeDefault (easy / medium / hard)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
holds1–123 / 4 / 5
tolerancePct0.01–0.50.18 / 0.12 / 0.07
toleranceFloorMs40–2000600 / 450 / 300
minDurationMs1000–200005000
maxDurationMs1000–3000015000
misses0–102 / 1 / 0

Flick

A row of arrow keys. Tap them in order before time runs out.
Flick is strip-only.
OptionRangeDefault (easy / medium / hard)
difficultyeasy | medium | hardmedium
length2–405 / 8 / 12
timeMs1000–300006000 / 5500 / 5000

Cut

Steer a cursor along a wavy guideline without slipping off.
Cut is strip-only.
OptionRangeDefault (easy / medium / hard)
difficultyeasy | medium | hardmedium
widthFrac0.04–0.60.32 / 0.22 / 0.14
amplitudeFrac0.0–0.450.30 / 0.40 / 0.40
bumps1–82 / 3 / 4
timeMs0–600008000 / 7000 / 6000

Shell

Type-through goals on a fake shell. Difficulty scales the goal count; the timer is shared across all goals.
OptionRangeDefault (easy / medium / hard)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
timeMs10000–600000150000
goals1–81 / 2 / 3

Outrun

Type characters before a “trace” bar fills. Higher difficulty = less time, more chars, harsher lines.
OptionRangeDefault (easy / medium / hard)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
traceMs10000–30000065000 / 55000 / 45000
chars40–2000160 / 220 / 300

Balance

Inverted-pendulum dial. Q/E apply held-counter-torque (which ramps up). Stay in the green wedge for holdSeconds.
Balance is strip-only.
OptionRangeDefault (easy / medium / hard)
difficultyeasy | medium | hardmedium
holdSeconds2–608 / 10 / 12
gravity0.5–202.5 / 3.0 / 3.4
driftForce0–201.2 / 1.8 / 2.0
pushStrength0.5–207.0 / 7.5 / 8.0
pushRampMs50–5000700 / 600 / 450
greenFrac0.05–0.950.55 / 0.45 / 0.35
yellowFrac(greenFrac+0.05)–0.980.85 / 0.72 / 0.66

Masher

Mash a key to fill an arc faster than it drains. Optionally split into multiple keys.
Masher is strip-only.
OptionRangeDefault (easy / medium / hard)
difficultyeasy | medium | hardmedium
gainPerPress0.001–0.5 (arc % per press)0.040 / 0.030 / 0.025
drainPerSec0–1.00.015 / 0.025 / 0.040
timeMs2000–6000012000 / 10000 / 8000
keysstring (e.g. "ADK") or array (e.g. {'A','D','K'})nil — single random key
When keys is supplied each key gets a 1/N slice of timeMs and must reach 100% within its slice.

Minesweeper

Classic Minesweeper.
OptionRangeDefault (easy / medium / hard)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
cols3–166 / 8 / 10
rows3–166 / 8 / 10
mines1 to (cols × rows − 9)6 / 10 / 18
timeMs10000–600000120000

Rhythm

4-lane note-hit. Hit % over the chart length must clear the threshold.
OptionRangeDefault (easy / medium / hard)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
lengthMs5000–12000025000 / 30000 / 35000
threshold0.10–1.000.60 / 0.70 / 0.80
notesPerSec0.5–8.00.7 / 1.0 / 1.5
chordChance0.0–0.50.05 / 0.08 / 0.12

LightsOut

Click a cell to toggle it and its 4-neighbours. Goal: turn ALL lights ON. Generated solvable.
OptionRangeDefault (easy / medium / hard)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
size3–83 / 5 / 5
toggles1–404 / 12 / 18
timeMs10000–30000060000 / 60000 / 45000

Towers

Block slides side-to-side; press SPACE to drop. Overhang is sliced. Reach targetStacks to win. Speed escalates +5% per block.
OptionRangeDefault (easy / medium / hard)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
targetStacks2–408 / 12 / 16
baseSpeedPxSec60–900220 / 320 / 440
perfectPx1–206 / 5 / 4

Safe

Safecracker dial. A/D rotate, W locks. The dial plays a tumbler-fall sound at the right tick — stop on it, lock, then reverse for the next pin.
OptionRangeDefault (easy / medium / hard)
variantterminal | bareterminal
difficultyeasy | medium | hardmedium
pinCount1–82 / 3 / 4
toleranceTicks0–101
ticks20–360100
spinSpeed0.5–120 ticks/sec2.5 / 3.5 / 5
codestringnil — no reward sticky
skipToCodebooleanfalse
When code is supplied and the safe is cracked, a sticky-note overlay shows the code and waits for the player to dismiss it before the export resolves.

Frequency (solo-only on this page)

A two-player tuning game. The “viewer” reads a target waveform, the “tuner” adjusts probe frequency and amplitude until both axes are within tolerance, then both players hold for holdSeconds to win. The server is authoritative. For the two-player setup, see the dedicated Frequency multiplayer page. The export below covers solo debug usage and the per-client invocation that the server triggers behind the scenes.
OptionRangeDefault (easy / medium / hard)
difficultyeasy | medium | hardmedium
roleviewer | tuner | bothviewer
variantbare (always for tuner / both); bare | screen-4x3 (viewer only)bare
tolerance1–40 (% of axis range)12 / 8 / 5
holdSeconds0.5–152.5 / 3.0 / 3.5
drift0–50 / 0.6 / 1.4
timeLimit0–600 seconds90 / 75 / 60
solobooleanfalse
sessionTokenstringnil — required for networked sessions
codestring ≤ 32 chars (printable ASCII)nil
skipToCodebooleanfalse (only honored when code is set)
-- Solo debug: render both halves locally, no server session
exports.cc_minigames:Frequency({ solo = true, role = 'both', difficulty = 'medium' })