Race Control Software for iRacing

Introduction to iRaceControl

Setting up

Running as admin

If you are running iRacing as admin, you will need to run iRaceControl as admin too.

However, it is recommended to run both iRacing and iRaceControl normally without elevated rights.

Getting all the data

To get all the data from all the cars you will need to set iRacing to request every cars data from the server. To ensure this, in iRacing, go to OPTIONS > GRAPHIC and set "Max Cars" to 63.

NOTE: Even if you have set Max Cars to 63, if your available bandwith is low, the iRacing server might send fewer cars' data.

Windows 11

NOTE: With Windows 11, iRaceControl - if run without administrator rights - cannot create files if it is placed in/under the "Program Files"-folder.

The User Interface


[F11] will toggle fullscreen

Clocks and counters

Across the top is a selection of clocks and one counter to help you orient yourself timewise in iRacing.

Real Time

Shows you the date and time of your local computer.

Sim Time

Shows you the start date of the race, and the current time in iRacing.

NOTE: The date does not "tick over" into a new date if your event crosses midnight, it will always stay on the date the race started.

Tot Inc

The total number of incident points accrued in the current session across all cars. A collision is double counted, as both cars receives 4 incs each.

Session Rem Time

The time remaining in the current session.

Under the remaining time, is the session timer. This shows you how long a session has been going, unless you are in the race when it shows the current race time.

Laps Rem

The number of laps remaining in the race, if race is lap limited.

Under the lap remaining counter is the lap counter. This shows how many laps the car with the most laps have completed.


Pressing this button will request an advance to next session in iRacing.

Session type and status

These two scrolls will show you what session iRacing is currently in, and the status of that session.

Session types:

  • RACE

Session statusi:


Flag display

A light-display that shows the flag currently shown to your car.

Start lights

Shows the current state of the start lights in iRacing.


The list over actions to be executed during the current session. Actions include, but is not limited to, random full course yellow based on time, random full course yellow based on lap count, stage yellow, race control messages. To add or remove an action, open the Sequencer Settings in the main menu under Settings.

The workings of the random settings, and how to enter them in the sequencer settings are described in their own chapter of this manual.

The sequencer window on the main interface only shows the actions defined for the current session. A race session is further divided into GET IN CAR, PACE LAPS and RACE.

When the time window for an action is not yet here, its status will show WAIT. When the time window is over, the status will show DONE. What is displayed as status during the time window is dependent on the setting of the SEQUENCER DETAIL-toggle.


If SEQUENCER DETAIL is set to HIGH, and "Sequencer ignore yellow time" is set to non-zero in Sequencer Settings, this button will start to flash when a yellow is called by the sequencer logic. It will flash for as many seconds set in the settings, and if not pressed, a full course yellow will be called. If the button is pressed while flashing, the yellow will be ignored.

iRacing status

These values are from the C/S/P-meters from iRacing.


This indicator will light up in red if iRacings is using more than 98% of available time for each tick. If this happens to often, or if this indictator is always on, the SDK might provide you with bad data.


Skew is how much out of sync you are with the iRacing server. This indicator will light up in red if you drift more than 0.5 seconds away from the server.


This indicator will light up in red if iRacing experiences more than 50 memory page faults per second. A page fault happens when Windows needs to move data from a hard drive into memory, or vice versa. It isn't a issue if this happens occationaly, but frequent or constant triggering of this status might indicate a performance issue.

Toggle Switches


To set whether iRaceControl will attemt to fetch telemetry from iRacing. If you want to load saved data, keeping this at OFF will prevent new data from "polluting" the saved data.

MAIN/SUPP: If you have an active license you can select to either be the MAIN controller (Server) or a SUPPorting controller (Client). See more under Networking.


Sets whether the sequencer is enabled.


How much detail about the random yellows are displayed: HIGH will, when the time window opens, display NORY if that random yellow is not being trown, or a countdown to when the yellow is to be thrown. LOW will only display ACTV when in the time window for the random yellow, so that even the person with iRaceControl don't know if, and when, the yellow will be thrown.


Whether the auto-steward is on or off.


Selects if the team name or driver name (of current driver) is displayed in the timing view and race log. This also selects what is displayed at the top of selected car, and the nonselected is displayed on the second line.


Wheter to display the GAP from a car to the leader, or the INTerval to the next car in front.


Wheter to display laps behind leader or time behind leader, if a car has been lapped.


Toggle up or down to display cars current calculated speed in either MPH or KPH. Have the toggle in the centre to not show cars speed.


The track map shows you where on track the cars are. It will also show a yellow highlight if a cars is reported to be off track by iRacing, or a cars speed is below 5 m/s. The yellow zone is between 5% lap distance behind and 1% lap distance ahead of the cars position. You will also see a red marking on the track where any incents have occured. These markings will fade away over a period of 10 minutes.

The selected car in iRaceControl will be marked on the map by a red ring around the car roundel. There is also a small toggle in the top right corner where you can set whether the leader will be marked with a green ring around its roundel.

If you have blue flag detection enabled, any car with a blue flag will get a blue circle around its car roundel.


The roundels colours can be set under Settings > General to one of three options:

  • Car Colors: Colors are from the cars as set in iRacing, with the 1st color being the fill, and the 2nd color being the outline.
  • Class Colors: Colors the cars according to their iRacing class color.
  • License Colors: Colors the cars according to the current drivers license color.

The number in the roundel is either black or white depending on the fill color.

If no map exists or cannot be loaded, a circle will be used instead. A toggle in the top left corner allows you to switch between map mode and circle mode. In circle mode, the pit lane is always drawn inside the track circle.


List over all cars in the session and their latest timing data.

Which columns to display in the timing view are configures via the timing.cfg file in the Settings directory. See Setting Files for more details. Some of the columns are described here:

The INC columns shows the cars current number of incs. If this number if red, the cars have unresolved incidents. If the number is white, all recorded incidents have been resolved.

The INC number might be 0 and red. This happens when there are unresolved incidents in a previous session, but no incs have been recorded in the current one; or the car has gotten a 0x either manually or from the auto-steward.

(Any 0x in iRacing is not recognized by iRaceControl)

In the left margin there will be a yellow block if the car is reported as being off track by iRacing, or its speed is below 5 m/s. Before the start of a race, when cars are lining up on the grid or for a rolling start, all cars will get this yellow block. This will then tell you if any cars are starting from the pits as they will not get this rectangle.

If blue flag detection is enabled, a car that has a blue flag will display a blue block in the left margin.

When iRaceControl detects that a car has finished the race, a small checkered flag will appear in the left margin.

If the race contains more than one class of cars, there will be a column with the current class position, and this will have a background color indicating which class the car is in.

When a car completes a lap, its laptime will be calculated by iRaceControl and show up under LAST colored white. When (if) we get an official laptime from iRacing, the color changes to purple, green or yellow depending on if the laptime is overall best, personal best, or neither.

The number of decimals for sector times can be set under Settings > General.

NIW is "Not-in-wold", and count how many times a car has gone to NIW. This is useful for tow-detection, and to identify any blinkers.

Going to NIW from your pit-box is not counted. (This happens when you change drivers)

The "Laps Led" column counts the number of laps a car has led. It increments when a car is the first to start a new lap. (Opening lap not counted)

During a race the cars are ordered by the travelled distance, while the position number is the one reported by iRacing. iRacing only updates the position numeral when a car crosses the start/finish-line, so it may seem that drivers are out of order, but that only means an overtaking have taken place.

Click on a car line to select that car. The selected cars info will then appear in the SELECTED CAR-box, and its incidents in the CAR LOG-box.

Double-click on a car to line to select that car, and focus on it in iRacing. iRacing will also go to LIVE.


The race log shows you a list over incidents and events that have happend.

Clicking on an event will select that car, and select that event in the car log.

Double clicking on an event will select the car, select the event, and set focus to the car in iRacing. iRacing will also go LIVE.

If you have scrolled the race log to the very bottom, it will autoscroll down when new events are added to the log. If you are not positioned at the bottom, it will stay where it is when new entires are added.


At the top of the race log is the log filters. Here you can set which log entries you wish to display. This filter also applies to the CAR LOG.


Same as the race log, but only with events pertaining to the selected car.

Clicking on an event will let you handle or resolve it. A double click will start the replay in iRacing from 5 seconds before the incident or event, and will switch focus to the selected car should it not have it.


To select between the SELECTED CAR and WEATHER boxes, simply click on the label for the box you want to see. The label will illuminate to indicate wich box is currently active.

The units can be selected under SETTINGS > GENERAL.

For free users, the weather box will simply print out the current values about the weather.

Pro useres will also get the following:

  • Logging of air and track temperatures, displayed on a graph.
  • Logging of precipitation values, displayed on a graph.
  • Average wind speed over the last 2 minutes.
  • Maximum wind speed the last 10 minutes. (Gust)

The wind speed has the following labels for pro users:

MVEL: Momentary Velocity (The wind speed right now)
 VEL: Average Velocity (Last 2 minutes)
GUST: Maximum wind speed (Last 10 minutes)

The timespan for the graphs, can be adjusted from 15 minutes up to 24 hours.

If a session has been declared wet by the iRacing marshalls, a white label with "WET" will appear next to the precipitation graph.

The current wetness of the track is also diplayed to the right of the precipitation graph.



Trows a full course yellow, and deploys the pace car.


Tells the pace car to come in at the earliest opportunity. Cannot be done until the pace car has passed the start/finish-line once.


Adds or removes one lap of pacing.


Attempt to convince iRacing to either open or close the pit lane entry. iRacing might or might not comply.


When in RACE and GET IN CAR, you can expediate the start by START, or reset the countdown to 10 minutes with HOLD.


Clears all cars outstanding penalties.


When this is enabled (lit), when a car receives either a furled black flag or a black flag from iRaing; it will automatically be cleared.


Orders a pacing field by class, so that all the cars from the fastest class is in front of the second class, and so on.


When a field is pacing, this button will issue a wave-by command to all lapped cars.



Lets this car pass the pace car and go around.


Tells this car to drop down to the End Of Line.


Send a message to this car. This message will either be public, not sent, or private based on the CAR NOTIFY-settings in CACS.


Clears all outstanding penalties for this car. (Does not clear time-penalties given in iRaceControl.)


Give this car a 0x incident in iRaceControl. Useful for issuing a car a penalty without an incident.


DISQUALIFY this car. You can enter a reason for the dsq.


Starts a replay of the selected incident 5 seconds before it was logged. You can also start a replay by double-clicking on the incident line.


Sends a message saying this incident is NOTED.


Sends a message saying this incident is UNDER INVESTIGATION.


Does nothing other than marking the incident as resolved. (The incident line turns from red to white)


Marks a incident as RACE INCIDENT, and sends a message saying so.


Marks a incident as resolved, but allowes you to add a note to it. This note is also sent according to the INC NOTICE settings in CACS.


Gives the car a drive through penalty. Can have a reason attached.


Gives a simple stop-and-go penalty.


Gived a stop-and-go penalty where you can specify the number of seconds.


Gives a car a time penalty. This penalty is only affecting iRaceControl results, and alters nothing in iRacing. To void a served time penalty, issue the car a new time penalty with negative time.


Same as DSQ for selected car, but you mark this incident as the reason.


Extra functions for users with an active license.


Tags all unresolved incidents with NO ACTION.



Changes in this dialog does not take effect until you press OK. CANCEL ignores any changes.

Autosave data

Activate this to have iRaceControl autosave its data every 5 minutes. The autosaves are stored in the iRaceControl folder, and are named autosave1.bin, [...], autosave5.bin. Each time iRaceControl autosaves it overwrites the oldest of the 5 files. If the files don't exists, they will be created.

Throw yellow if yellow is already thrown

Sometimes iRaceControl wants to issue a new yellow when the field is already under caution. This settings determines if that yellow should be thrown or not.

Autoconnect on startup

Wheter to automatically set the connection-toggle to ON when starting iRaceControl.

Map roundel colors

Selects from where the colors for the map roundels are.

Sector time decimals

Sets the number of decimals to display for the sector times in the timing view. [1 - 4]

Group Incidents [PRO ONLY]

Activate this to use incident groups for when multiple cars get x'es around the same time on the same place on track.

Instead of a incident report for each incident, there will be one for the group combined.

When selecting the group in the race log you can issue a message about the incident being NOTED or INVestigated. The message will then list all cars involved in the group.

To resolve the incident, deal with each car separatly.

Log blue flags [PRO ONLY]

iRacing does not give out what cars are being shown a blue flag, but iRaceControl can calculate its own blue flags. Using the default settings, these will approximate the one given in iRacing, but can not be assumed to be identical.

Use the settings to fine tune the logging to your own needs.

Seconds behind

How close behind a lapping car must be to trigger a blue flag.


How long must a blue flag be triggered for iRaceControl to start logging it.

Use this settings is to avoid many short-duration blue flags if lapping cars are hovering around the seconds behind trigger.

Minimum time

The minimum duration of a blue flag once the delay-period has passed.

This is the delay-settings opposite. It will keep a blue flag active for this many seconds, to avoid multiple blue flag logs in succession.

Settings for if and what action to take for ignoring blue flags too long is set in Settings > AutoSteward.



The routing table for different messages sent from iRaceControl. For each message type you can enable or disable four different destinations. Multiple destinations can be enabled at the same time.


Sends the message as a race control message in iRacing. Shows up as purple text in the iRacing chat.


Sends the message as a private message to the car.


If SDK-Gaming is enabled, sends the message as a race control info-message.


If SDK-Gaming is enabled, sends the message as a race control penalty-message.

Use shortform messages

Use shorter forms for the NOTED and INV-messages.




L116 INCIDENT: #6, #11 NOTED


When issueing pace car commands, you can select who receives the command.

iRacing Pace Car

The commands are sendt to iRacing, and its pace is will execute them.

No Pace Car

Pace car commands are not sent anywhere.

Specific Car

You can select a car to receive pace car commands. They will be sent as a private message to the selected car.

SDK-Gaming integration

See SDKGaming.


Mapping of inputs to commands. Allows you to map a keyboard button, or a button on your steeing wheel to certain commands in iRaceControl.


The sequencer contains a list of action to perform at a certain time, or lap of the race. It is possible to save and load sequencer sets. You can also add actions from a sequencer set file to the ones you already have.


START: The earliest time for this random yellow to be thrown.

END: The latest time for this random yellow to be thrown.

CHANCE: What is the probability for this random yellow to be thrown. Enter a value between 0 and 1. For a 50/50 change, enter '0.5'. For a 1 in 8th chance, '0.125'. (Chance values will be rounded to 2 decimal places when displayed in iRaceControl.)


START: When the leader starts his START'th lap, the random yellow is set up. If it is to be thrown (based on the CHANCE parameter) it will be thrown at a random time from the beginning of that lap. The earliest possible time is 0 seconds from the START lap begins. The latest possible time is ((END - START) * leaders last lap time) seconds from the START lap begins.


LAP: At what lap should the stage yellow be thrown.

POSITION: Throw the stage yellow when the car in this position starts LAP.

CLOSE PIT: Checking this box will cause iRaceControl to tell iRacing to close the pit-lane entrance when the car in "CLOSE PIT POS" crosses the start-finish line 2 laps before the stage yellow is to be thrown.


Sends a message at a given race time. The destination for the message is set for SEQUENCER MESSAGE in CACS.

(Enabling IRACING PRIVATE has no effect for this message type)


Sends a message when the leader starts a given lap. The destination for the message is set for SEQUENCER MESSAGE in CACS.

(Enabling IRACING PRIVATE has no effect for this message type)


Sends the pit open/close command to iRacing when the leader starts the set LAP.


Sends the pit open/close command to iRacing at the specified TIME.

Auto Steward

Pressing OK saves any changes, while CANCEL closes the window without saving.

If the value for a action is set to 0, that action is disabled.


Trows a full course yellow every nth total incidents.


Trows a full course yeloow if this number of incident points are incurred by cars on the first lap.

X in Y seconds

Trows a full course yellow if X number of total incidents point have incurred in the last Y number of seconds.

Set X to 0 to disable. Y is minimum 1.


If the race is time limited, do not trow full course yellow if we are in the last N minutes.


If this value is not 0, when any yellow is called from the auto steward, the IGNORE button will flash, and you have this many seconds to hit IGNORE to stop the yellow from being trown. If IGNORE is not pressed, the yellow is trown.

CLEAN DRIVING INC DROP (Drops 1x every nth minute)

By setting this to a non-zero value, a cars inc-count within iRaceControl will go down by 1 every nth minute if no incs have happened in that period.

This only affects the inc number within iRaceControl, but will give cars a chance to avoid the auto steward's automatic penalties.


These are applied when a car reaches the set number of inc points.

Each penalty will also send a corresponding message depending on the CACS-settings. I.e. STEWARD STOP GO or STEWARD NOTICE

The warning-message is a STEWARD NOTICE type message.


When a car clears a blue flag, you can opt to take action if the duration of the flag exceeds the number of seconds set here under TIME.

Set the TIME to 0 to disable.

Select the action in the drop-down menu, and if you select time penalty, the amount of seconds penalty to give is set under TIME PENALTY.

Race Report


On the first page of the PDF-report there is a possibility to place up to four images of your choice. They need to be located in the "Resources"-folder and have the filenames logo1, logo2, logo3 or logo4. The imagetype can be either jpg or png.

Each image will be fitted into a square that this 1/4 of the page width.

Setting Files

Files with the various settings for iRaceControl is stored within the Settings subfolder. If the folder don't exists, iRaceControl will create it.

Users can edit the files found inside the Settings subfolder for more advanced configuration of iRaceControl.

NOTE: When iRaceControl closes, it will re-write ALL the files inside the Settings folder. So make your edits while iRaceControl isn't running.

If a settings file fails to load, defaults will be used instead.


  • settings.cfg - General settings for iRaceControl
  • current.seq - The sequencer actions
  • timing.cfg - Column settings for the Timing View
  • cameras.cfg - Cameras for the CAM SEL box


Parameters per column:

       headline - The text displayed at the top of the timing view.
headline_offset - How many characters to move the headline to the right.
          width - Number of characters this column requires. Any overflow is clipped.
           type - What data is in this column. See list below.

List over available columns for the timing view. Some of the columns only show up during a race.

  • 0: Overall Position RIGHT
  • 1: Class Position RIGHT
  • 2: Car Flags LEFT
  • 3: Driver Name LEFT (Squeeze fit)
  • 4: Team Name LEFT (Squeeze fit)
  • 5: Driver/Team Name LEFT (Squeeze fit)(Togglable)
  • 6: Car Number RIGHT
  • 7: Laps Completed RIGHT
  • 8: Incident points RIGHT (x's)
  • 9: Gap RIGHT (seconds to leader)
  • 10: Interval RIGHT (seconds to car ahead)
  • 11: Gap/Interval RIGHT (Togglable)(Shows PIT/OUT)
  • 12: Sector Times CUSTOM (The width parameter is ignored)
  • 13: Last Laptime RIGHT
  • 14: Best Laptime RIGHT
  • 15: Laps led RIGHT
  • 16: Laps led in class RIGHT
  • 17: Car Class LEFT (Squeeze fit)
  • 18: Car Type LEFT (Squeeze fit)
  • 19: Speed RIGHT (Unit selected by toggle)
  • 20: Not in World RIGHT (NIW)
  • 21: Pit Stops RIGHT
  • 22: Total Time Penalty RIGHT
  • 23: Raw Tyre Compound RIGHT (Will display -1 if no tyre is fitted)
  • 24: Tyre Compound Id RIGHT
  • 25: Tyre Compunt Name LEFT (If name is not found, the compound id is displayed instead. Same as 24)
  • 26: Race Time RIGHT (Only gets set when a car finishes a race)
  • 27: Tyre Compound Icon CENTRE
  • 28: Car Type Id RIGHT
  • 29: Fast Repairs Used RIGHT


The cameras.cfg list the cameras for the CAM SEL box. The box gets filles column by column, so the first 3 cameras in the file are the first column in the CAM SEL box.

Each line in the file is the following format:

"iRacing Camera Name": "Text on button in CAM SEL box",

NOTE: Do not have a trailing comma after the last camera.



The only thing being "networked" is the race log. Every controller needs a connection to the iRacing simulator to receive the timing data, review incidents, and issue penalties.

Setting up

One instance of iRaceControl needs to be the MAIN control. This instance will then be the server all others connects to. For other controllers to be able to connect, and you are behind a firewall, you need to forward your selected port to the pc running the MAIN iRaceControl. The port number can be set under SETTINGS > NETWORK.

You can also specity an id/name here. If you are MAIN, your SUPPs will see this id/name in the bottom right corner of iRaceControl if they are connected. As MAIN, you will see the number of connected SUPPs in the bottom right corner. A full list with connected SUPPs, and their id/names is found under Settings > Network, where you also can kick a SUPP.

When you are ready to host, toggle the second CONNECTION toggle up to MAIN. The SERVER indicator will turn blue.

Only one controller should have the sequencer and/or the auto-steward active at any one time. Since all controllers are connected to iRacing, you don't want multiple actions or penalties to be applied.


For assisting in controlling a race, multiple instances of iRaceControl can be SUPP (Support).

Connect to your local iRacing first, by toggling CONNECTION to RUN. Then wait a second, or two, to let iRaceControl sync up with iRacing.

Open SETTINGS > NETWORK and type the correct URL/IP and port number of the MAIN controller. Then toggle the second CONNECTION toggle down to SUPP. The SERVER indicator will turn yellow to indicate that it is trying to connect. If a connection is acheived, the SERVER indicator will turn green.

Supporting race controllers can connect to the MAIN at any time, and their race log will be synced up to MAINs log.

SDK gaming

iRaceControl can send race control-messages to SDK gaming. To do so, open SETTINGS > CACS, activate SDK-Gaming integration, and type in the correct room and user name. You can also set the headlines for informations and penalty messages, as well as the duration they should be visible.

When SDK-Gaming integration is enabled, you will see it's connection status in the status bar of iRaceControl.

The settings for SDK-Gaming is under Settings > CACS.

How to set up:

In SDK iRacing Live Timing, open the menu and note the following:

Live Timing Server, room name SDK-Gaming Room
Overlay, Variable access credentials. SDK-Gaming User

The SDK-Gaming User is in the list of Variable access credentials, and need to have the Variable Filter set to "RaceControl"