Skip to content
PaceLaps

Docs / Race Control

Penalty catalog

The penalties your stewards can issue, what each does in iRacing, and the JSON import.

Your league’s list of penalties. Stewards pick from it, and drivers can look up a code. League admins edit it.

An entry

Field What it is
Code 1 to 8 letters or digits, unique in your catalog, for example DT or SG10.
Name Up to 40 characters, shown on the banner.
Message for drivers Up to 300 characters, shown under the banner. Say what the penalty means and what to do.
In iRacing See below.

What happens in iRacing

Action In iRacing
No iRacing action A message only, for example a warning or penalty points.
Drive-through Black flag, drive through the pit lane.
Stop and go Black flag, stop in the pit box for 1 to 300 seconds.
End of line To the end of the line under caution.
Disqualify Can’t be undone in iRacing.
Remove from the session Can’t be undone in iRacing.
Time penalty Nothing in the sim. 1 to 600 seconds are added to the race time in the results.

Black flag penalties use iRacing’s own flag, so Spotter and Crew Chief react as usual. The banner follows once the flag is out.

Import and export

  1. On the Penalty catalog page, choose Import JSON.
  2. Paste the JSON or choose a file. Each entry is marked New, Changed, Same or Invalid.
  3. Press Import. Nothing is saved while any entry is invalid.

Entries are matched by code. New codes are added, existing ones are updated, and entries missing from the file stay as they are. Every change goes into the audit log.

Export JSON gives you the catalog in the same format.

The format

{
  "v": 1,
  "kind": "penalty_catalog",
  "entries": [
    {
      "code": "DT",
      "name": "Drive-through",
      "action": "drive_through",
      "explanation": "Drive through the pit lane at the pit speed limit without stopping."
    },
    {
      "code": "SG10",
      "name": "10-second stop and go",
      "action": "stop_and_go",
      "action_seconds": 10,
      "explanation": "Stop in your pit box for 10 seconds, then rejoin."
    },
    {
      "code": "VW",
      "name": "Warning",
      "action": null,
      "explanation": "An official warning from race control."
    }
  ]
}

action is drive_through, stop_and_go, eol, dq, remove, time, or null for a message only. action_seconds is required for stop_and_go and time, and not allowed otherwise. A plain list of entries works too.