Chaos Monkey


Reliability engineering for Factorio: author deterministic experiment suites, assert objectives and circuits, schedule safe drills, compare baselines, and share inert challenges.

Content
8 hours ago
2.0
1
Logistics Trains Circuit network Manufacturing
Owner:
Xander91
Source:
N/A
Homepage:
N/A
License:
MIT
Created:
8 hours ago
Latest Version:
0.9.0 (8 hours ago)
Factorio version:
2.0
Downloaded by:
1 user

Preview Release

Report bugs using the discussions tab

What happens when a pump trips, a power feeder opens, a roboport goes offline, or an assembler
loses capacity?

Chaos Monkey turns factory reliability into another system to automate. Build monitoring and alarm
networks, divide the factory into fault domains, design redundant services, author recovery
playbooks, and run controlled experiments to prove that the factory can survive failure.

This is not a griefing mod. Ambient incidents are off by default. Enabling them requires both a
global runtime setting and an explicit administrator action for each force. Manual tests,
controlled experiments, and deterministic suites remain available while ambient incidents are
disarmed.

What you can build

  • Monitoring Relays detect nearby incidents and publish health, severity, and age to the
    circuit network.
  • Alarm Consoles turn circuit conditions into visible and audible alerts.
  • Recovery Controllers reset nearby failures or execute authored, validated recovery
    playbooks with rollback and intervention evidence.
  • Circuit Breakers and Isolation Valves provide controllable electrical and fluid isolation.
  • Routing and Watchdog Controllers expose route availability, heartbeats, and stale telemetry.
  • The Incident Operations Center opens a factory-wide dashboard for incidents, objectives,
    domains, experiments, history, and reliability evidence.
  • The Chaos Controller runs bounded fault-injection experiments with safety checks, exact
    restoration, and a resilience score.

Supported incident and experiment targets include production machines, pumps, electrical
infrastructure, roboports, train stops, and managed Chaos Monkey controllers. Advanced drills can
also test capacity degradation, telemetry integrity, provider loss, and buffer-aware staged
restoration.

Design for resilience

Chaos Monkey models more than individual failures:

  • Assign equipment to named, force- and surface-owned fault domains.
  • Declare primary, reserve, and optional service dependencies.
  • Define reliability objectives and inspect rolling evidence and compliance.
  • Author deterministic experiment suites with circuit assertions, safety reservations,
    maintenance windows, schedules, baselines, and restoration checks.
  • Export inert, checksummed challenges that do nothing until explicitly accepted and run.

All continuous processing uses a configurable fixed work budget. Large factories can trade faster
detection for smoother UPS without introducing unbounded per-tick scans.

Start here

Research Operational awareness, place a Monitoring Relay near working equipment, and open the
dashboard from the shortcut bar or with Ctrl+Shift+I.

For a guided, command-free introduction, choose:

Play -> Scenarios -> Chaos Monkey: Reliability Lab

The lab teaches monitoring, recovery, dependencies, physical separation, reserve capacity,
provider-loss experiments, capacity degradation, telemetry quorum, and staged restoration.

Safe defaults

  • Installing the mod does not arm random failures.
  • Ambient incidents default to globally disabled and force-locally disarmed.
  • Difficulty changes incident pressure only; it never arms incidents or changes authored tests.
  • Controlled mutations capture prior state and compare before restoration. Conflicts fail closed
    and remain visible as intervention evidence instead of overwriting an external change.
  • Force and surface boundaries are enforced for private state and world mutations.

Compatibility

  • Factorio 2.0
  • Space Age is optional
  • Designed for new and existing factories
  • Modded machines are accepted only when their runtime behavior supports the same validation and
    restoration guarantees; unsupported targets are rejected safely

Planet/platform-specific and cross-surface incident families are not currently included.