Live Speedrun Timer deprecated


LiveSplit timer with milestone tracking.

Utilities
3 days ago
2.0
15
Owner:
rithien3
Source:
N/A
Homepage:
https://github.com/rithien/speedrun-timer
License:
MIT
Created:
3 days ago
Latest Version:
0.2.4 (3 days ago)
Factorio version:
2.0
Downloaded by:
15 users

Live Split Timer

A LiveSplit-style speedrun timer for Factorio 2.0 / Space Age. It tracks the
total playtime and the time between configured milestones (triggered by
researched technologies, first visit to a planet, or scripted events such as a
rocket launch), comparing every split against your Personal Best.

Features

  • On-screen HUD with a drag-and-drop window, collapsible view, and a progress
    bar showing how many milestones are already done.
  • Expanded table view: one row per milestone with icon, name, split time, and
    the +/- delta versus your PB (green for ahead, red for behind).
  • Dynamic row ordering: completed milestones float to the top in the order
    you actually reached them, while pending ones stay in the configured order.
    Readable under any planet routing — including abandoning a planet and
    coming back later.
  • Collapsed view: only the current (next) milestone, for minimal distraction
    during an active run.
  • Automatic scroll with focus on the current split when the milestone list is
    longer than fits in the window.
  • Personal Best is built incrementally — the best time for each milestone is
    saved the moment it is beaten, even if the run is never finished.
  • Per-milestone toggles, timer refresh interval, and PB reset available
    straight from the in-game mod settings.
  • Full Polish and English localisation; no hard-coded user-facing strings.
  • RCON interface for external tools: read current status, export PB, import PB
    from JSON, reset PB, submit the current run, or start a new run.

Milestones

The default milestone list covers 30 trigger technologies across Nauvis,
Space, and every Space Age planet (Fulgora, Gleba, Vulcanus, Aquilo). Adding a
new milestone only requires a single entry in config.lua — no locale edits
needed.

File locations

All persistent data is stored under Factorio's script-output directory.
On Windows that is %APPDATA%\Factorio\script-output\speedrun-timer\:

  • pb.json — live best-segment Personal Best, updated every time you beat a
    milestone's previous best. This is what PB-delta in the HUD is compared
    against at the start of every run.
  • current.json — mirror of the current run's splits, refreshed on every
    milestone. Intended for live integrations (overlays, stream widgets).
  • runs.json — append-only history of completed runs (one JSON object per
    line), written when the final milestone is reached or when the run is
    submitted manually via RCON.

PB is also carried inside the save file, so it survives across mod updates.
The pb.json file is a cross-save fallback: copying it between installs (or
re-importing through the load_pb RCON call) transfers your Personal Best.

Changes

  • 0.2.6 — Expanded HUD now orders split rows by when they were actually
    reached: completed milestones float to the top in chronological (tick)
    order, pending ones stay in the configured declaration order. Makes mixed
    planet routing readable and still supports abandoning a planet and coming
    back later.
  • 0.2.4 — Fixed a hard crash on on_init when the Factorio build does not
    expose helpers.read_file. The check is now wrapped in pcall so the
    best-effort PB reload silently degrades instead of breaking new saves.
    Added release.bat for loose, unzipped releases.
  • 0.2.3 — Current-run splits mirrored to current.json on every split for
    live-integration use.
  • 0.2.2 — Three-level PB model: storage.milestones (current run),
    storage.pb (live best-segments), storage.pb_reference (frozen snapshot
    used for GUI delta). Delta no longer collapses to +0.0 when PB updates
    mid-run.
  • 0.2.1 — Milestone list switched to 30 trigger technologies spanning
    Nauvis base, Space Age research, and every Space Age planet. Previous Space
    Age completion route is kept as a commented-out block in config.lua.
  • 0.2.0 — Initial public release: HUD window, milestones, PB persistence,
    RCON interface, Polish and English localisation.