iRaceControl

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

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.

Advance

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:

  • UNKNOWN
  • PRACTICE
  • OPEN QUALIFY
  • LONE QUALIFY
  • WARMUP
  • RACE
  • TESTING

Session statusi:

  • INVALID
  • GET IN CAR
  • WARMUP
  • PARADE LAPS
  • RACING
  • CHECKERED
  • COOLDOWN

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.

Sequencer

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.

IGNORE

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.

CPU

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

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.

FAULTS

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

CONNECTION

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.

SEQUENCER
ON:

Sets whether the sequencer is enabled.

DETAIL:

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.

AUTO STWD

Whether the auto-steward is on or off.

LOG DISPLAY
INC

Whether to display log lines about incidents.

PIT

Whether to display log lines about cars entering, exiting pits, or driver changes.

LAP

Whether to display log lines about new personal or overall best laptimes.

FLAG

Whether to display log lines about flags given and cleared by cars.

NIW

Whether to display log lines about cars going to Not-In-World.

TIMING
NAME

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.

GAP

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

SPD

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.

TRACK MAP

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.

ROUNDEL COLORS

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.

TIMING VIEW

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

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.

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)

LL is "Laps Led", and 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.

The car type is always displayed at the far right of each line. If it is a multiclass race, the class the car races in is displayed after the car type.

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.

RACE LOG

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.

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.

COMMAND BUTTONS

PACE CAR
DEPLOY

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

END

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.

ADD/CUT LAP

Adds or removes one lap of pacing.

PIT ENTRY

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

RACE START

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

PENALTIES
CLR ALL

Clears all cars outstanding penalties.

AUTO CLR

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.

EOL / WAVE AROUND
CLASS SEP

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.

WAVE LAPD

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

ACTION BUTTONS

SELECTED CAR
WAVE ARND

Lets this car pass the pace car and go around.

EOL

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

NOTIFY

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

CLEAR PENS

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

0x

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

DSQ

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

CAR LOG
REPLAY

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.

NOTED

Sends a message saying this incident is NOTED.

INV

Sends a message saying this incident is UNDER INVESTIGATION.

NO ACTION

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

INCIDENT

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

NOTICE

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.

DRIVE THR.

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

STOP/GO

Gives a simple stop-and-go penalty.

STOP/GO Xs

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

TIME PEN

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.

DSQ

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

PROFUNC

Extra functions for users with an active license.

NO-AC ALL

Tags all unresolved incidents with NO ACTION.

Settings

General

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.

Delay

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.

CACS

MESSAGE ROUTING

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.

IRACING PUBLIC

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

IRACING PRIVATE

Sends the message as a private message to the car.

SDK GAMING INFO

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

SDK GAMING PENALTY

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

MESSAGE SETTINGS
Use shortform messages

Use shorter forms for the NOTED and INV-messages.

Longform:

INCIDENT ON LAP 39 INVOLVING CAR 18 (YOU) IS NOTED
INCIDENT ON LAP 39 INVOLVING CAR 18 (YOU) IS BEING INVESTIGATED
INCIDENT ON LAP 116 INVOLVING CARS 6 (JOB) AND 11 (HEN) IS NOTED
INCIDENT ON LAP 116 INVOLVING CARS 6 (JOB) AND 11 (HEN) IS BEING INVESTIGATED

Shortform:

L39 INCIDENT: CAR #18 NOTED
L39 INCIDENT: CAR #18 INVESTIGATING INCIDENT
L116 INCIDENT: #6, #11 NOTED
L116 INCIDENT: #6, #11 INVESTIGATING

PACE CAR SETTINGS

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.

Controls

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

Sequencer

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.

RANDOM YELLOW - TIME

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.)

RANDOM YELLOW - LAP

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.

STAGE YELLOW

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.

MESSAGE - TIME

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)

MESSAGE - LAP

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)

PIT OPEN/CLOSE - LAP)

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

PIT OPEN/CLOSE - TIME

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.

AUTOMATIC YELLOWS
EVERY Nth

Trows a full course yellow every nth total incidents.

FIRST LAP

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.

NO YELLOWS IN LAST N MINUTES

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

SECONDS TO IGNORE YELLOW

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.

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.

BLUE FLAGS

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

Logos

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.

LIST OF FILES:

  • 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

TIMING

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
  • 1: Class Position
  • 2: Car Flags
  • 3: Driver Name
  • 4: Team Name
  • 5: Driver/Team Name (Togglable)
  • 6: Car Number
  • 7: Laps Completed
  • 8: Incident points (x's)
  • 9: Gap to leader (seconds)
  • 10: Interval to car ahead (s)
  • 11: Gap/Interval (Togglable)
  • 12: Sector Times (The width parameter is ignored)
  • 13: Last Laptime
  • 14: Best Laptime
  • 15: Laps led
  • 16: Laps led for class
  • 17: Car Class
  • 18: Car Type
  • 19: Speed
  • 20: Not in World (NIW)
  • 21: Pit Stops
  • 22: Total Time Penalty
  • 23: Raw Tyre Compound
  • 24: Tyre Compound
  • 25: Tyre Compunt Name (If name is not found, the compound id is displayed instead. Same as 24)
  • 26: Race Time (Only gets set when a car finishes a race)

Networking

THE IMPORTANT BIT:

The only thing being "networked" is the race log. Every controller needs a connection to the iRacing simulator to receive the timing data.

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.

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 yellows and/or auto-steward active at any one time. Since all controllers are connected to iRacing, you don't want multiple penalties to be applied.

Connecting

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.

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 copy the following:

SDK-INFO SETTING
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"

You can also set the headline text for the information and penalty message types, and set how long you want the messages to appear.