Skip to main content
Nineteen puzzle and hacking games. The default settings live in config/games/logic.lua.
You can set any option in two places: in config/games/logic.lua to change it for the whole server, or in a single call to change it just that once. See the Overview for how these fit together, plus the shared options (canCancel, title, theme, …) that every game accepts.

Lights Out

Clicking a tile flips it and the four tiles next to it. Light up every tile before you run out of clicks. Export: exports['awoken_minigames']:LightsOut(opts) - returns true only on a win.
Presets
The gap between scramble and maxClicks is the player’s room for error. The closer the two numbers, the harder it gets.

Hex Breach

Pick codes from a grid, alternating between rows and columns, to spell out each target sequence. You only have a few slots to work with, so plan your route. Export: exports['awoken_minigames']:HexBreach(opts) - returns true only on a win.
Presets
Set daemons to a list of lengths like { 3, 3 } for two three-code targets. Use requiredDaemons to let players win by finishing only some of them.

Code Crack

Crack a hidden code, Mastermind style. After each guess you’re told how many symbols are right and how many are in the wrong spot. Work it out before your guesses run out. Export: exports['awoken_minigames']:CodeCrack(opts) - returns true only on a win.
Presets

Fingerprint

Rotate the rings until the scrambled fingerprint lines up with the target. Beat the clock. Export: exports['awoken_minigames']:Fingerprint(opts) - returns true only on a win.
Presets

Word Crack

Guess the hidden word, Wordle style. Colours tell you which letters are right and which are in the wrong spot. Get it before your guesses or time run out. Export: exports['awoken_minigames']:WordCrack(opts) - returns true only on a win.
Presets

Click the shown symbols in order inside a grid that keeps reshuffling. Beat the clock. Export: exports['awoken_minigames']:SymbolSearch(opts) - returns true only on a win.
Presets
Use symbols to theme the game to the job: currency signs for a bank hack, chemical symbols for a drug lab. Any list of your own symbols works.

Pipe Pressure

Click pipe tiles to rotate them and connect an unbroken path from the top-left corner to the bottom-right. Beat the clock. Export: exports['awoken_minigames']:PipePressure(opts) - returns true only on a win.
Presets

Untangle

Drag the points around until none of the lines cross. Clear every crossing to win. Export: exports['awoken_minigames']:Untangle(opts) - returns true only on a win.
Presets

Minefield

Classic Minesweeper. Uncover every safe cell without hitting a mine. The numbers tell you how many mines are next to each cell. Right-click to place a flag. Export: exports['awoken_minigames']:Minefield(opts) - returns true only on a win.
Presets

Jigsaw

Swap tiles two at a time to rebuild the shuffled picture. A small preview shows you the goal. Export: exports['awoken_minigames']:Jigsaw(opts) - returns true only on a win.
Presets

Wires

Drag a wire from each terminal to its matching partner (same letter and colour) on the other side. Wrong connections count against you. Connect every pair before time runs out. Export: exports['awoken_minigames']:Wires(opts) - returns true only on a win.
Presets

Tower of Hanoi

Move the stack of disks to the far peg, one disk at a time, and never put a bigger disk on a smaller one. More disks means a much harder puzzle. Export: exports['awoken_minigames']:TowerOfHanoi(opts) - returns true only on a win.
Presets
An illegal move is simply refused and costs nothing. RESET restacks the disks but keeps your move count and clock running, so it’s a recovery, not a fresh start.

Math Rush

Two sums sit side by side. Say whether the left one is bigger, smaller, or equal to the right: Up for bigger, Down for smaller, Space for equal, or just click. Keep up across a run of quick rounds. Export: exports['awoken_minigames']:MathRush(opts) - returns true only on a win.
Presets
maxDifference sets how close the two sides are. A smaller gap is harder, since players can’t tell at a glance which side wins.

2048

The sliding-tile classic. Arrows or WASD push every tile as far as it goes, matching tiles merge into one, and each move adds a new tile. Reach the target tile before the board fills up or time runs out. Export: exports['awoken_minigames']:Twenty48(opts) - returns true only on a win.
Presets

Splice

Move a slow scanner along the tangled cables to find which ones are live, then switch to the cutters and cut each live cable at its faulty spot. Beat the clock. Export: exports['awoken_minigames']:Splice(opts) - returns true only on a win.
Presets
Keep scanRadius small (under 294/cables), or the scanner reads several cables at once and the game loses its point.

Current

Flip the right breaker switches so the total power lands close enough to the target, then press ENGAGE. Some switches, when on, change how much another one adds, so it takes some thought. Export: exports['awoken_minigames']:Current(opts) - returns true only on a win.
Presets
interference is the heart of the puzzle. At 0 it’s just adding up numbers. Each interfering switch changes another switch’s value, and the panel shows you how, so it can be worked out.

Data Stream

Two steps per packet: pick the right packet out of a stream of look-alike decoys, then decode the scrambled message it carries. Clear every packet before you run out of tries or time. Export: exports['awoken_minigames']:DataStream(opts) - returns true only on a win.
Presets
The ciphers vary in difficulty, so pick the list to match the challenge you want. atbash is the easiest and caesarPositional the hardest. The rule is always on screen, and TAB opens a reference chart.

Collapse

Click any cube that touches another of the same colour to clear the whole group. The rest fall down and empty columns slide over. A cube on its own can’t be cleared. Clear the board to win. Export: exports['awoken_minigames']:Collapse(opts) - returns true only on a win.
Presets
Every board is always fully solvable, and “par” is a real solve length, not a guess. Use moveAllowance to ask for a near-perfect solve.

Arrow Maze

A hidden path runs through the grid. Each cell shows a few arrows, and only one keeps you on the path. Click an arrow in your current cell. A wrong one costs a mistake. Reach the far end to win. Export: exports['awoken_minigames']:ArrowMaze(opts) - returns true only on a win.
Presets