FAQS How do I enable the UDP Telemetry Output? In F1 2020, UDP telemetry output is controlled via the in-game menus. To enable this, enter the options menu from the main menu (triangle / Y), then enter the settings menu - the UDP option will be at the bottom of the list. From there you will be able to enable / disable the UDP output, configure the IP address and port for the receiving application, toggle broadcast mode and set the send rate. Broadcast mode transmits the data across the network subnet to allow multiple devices on the same subnet to be able to receive this information. When using broadcast mode it is not necessary to set a target IP address, just a target port for applications to listen on. Advanced PC Users: You can additionally edit the game’s configuration XML file to configure UDP output. The file is located here (after an initial boot of the game): ...\Documents\My Games\<game_folder>\hardwaresettings\hardware_settings_config.xml You should see the tag: <motion> ... <udp enabled="false" broadcast=”false” ip="127.0.0.1" port="20777" sendRate=”20” format=”2020” yourTelemetry=”restricted” /> ... </motion>   Here you can set the values manually. Note that any changes made within the game when it is running will overwrite any changes made manually. Note the enabled flag is now a state.   What has changed since last year? F1 2020 sees the following changes to the UDP specification: Penalties have been added as a new Event Type Weather forecast data is now available in session packets for upcoming sessions Reduced the size of the surface and inner tyre temperature fields in the Car Telemetry to reduce overall packet size as more vehicles need to be added My Team allows an extra team to race – this means that all the places in the packets where 20 cars were used, 22 are now needed. N.B. this will not be fixed in old formats (2019, 2018, legacy) – if you are in the “My Team” career mode with any format other than 2020 specified, no data will be output. All other game modes will function as before Added Vietnamese and Barbadian nationalities Added Final Classification packet for end of race results Made m_gridPosition the actual numerical position, not 0-based (only in 2020 data) Added Lobby Info packet to send data to UDP when in a multiplayer lobby Added number of laps the current set of tyres have been used for in status packet Split the tyre pressures in Car Setups packet into RL, RR, FL, FR to reflect the game changes Added secondary player car index to packet headers for splitscreen Added MFD Panel Index to the car telemetry packet for both players Added best sector times and lap numbers to the laps packet as they cannot always be recorded correctly (e.g. fast-forwarding time) – N.B. the order has been slightly rearranged to tidy up Changed all sector times in lap data packet to be in milliseconds (uint16 instead of float) to reduce packet size so other things can be added Added indicator for DRS faults to the car status packet Updated ERS mode values Speed trap triggered event added Added DRS activation distance to indicate whether the car has passed detection and DRS will be available in the subsequent activation zone Suggested gear added to the car telemetry packet   What is the order of the wheel arrays? All wheel arrays are in the following order: 0 – Rear Left (RL) 1 – Rear Right (RR) 2 – Front Left (FL) 3 – Front Right (FR)   Do the vehicle indices change? During a session, each car is assigned a vehicle index. This will not change throughout the session and all the arrays that are sent use this vehicle index to dereference the correct piece of data.   What encoding format is used? All values are encoded using Little Endian format.   Are the data structures packed? Yes, all data is packed, there is no padding used.   Will there always be 20 cars in the data structures? No, for F1 2020, there is a new feature called “My Team” which allows an extra team to be present on the grid. This means that all previous places where 20 cars were used, 22 is now the maximum. If “My Team” is not active however, most games modes will act as before and have a maximum of 20. Note that if your UDP format is 2019, 2018 or legacy and you are in “My Team” career mode, no UDP output will be produced because of this imitation. There is still the data item called m_numActiveCars in the participants packet which tells you how many cars are active in the race. However, you should check the individual result status of each car in the lap data to see if that car is actively providing data. If it is not “Invalid” or “Inactive” then the corresponding vehicle index has valid data.   How often are updated packets sent? For the packets which get updated at “Rate as specified in the menus” you can be guaranteed that on the frame that these get sent they will all get sent together and will never be separated across frames. This of course relies on the reliability of your network as to whether they are received correctly as everything is sent via UDP. Other packets that get sent at specific rates can arrive on any frame. If you are connected to the game when it starts transmitting the first frame will contain the following information to help initialise data structures on the receiving application: Packets sent on Frame 1: (All packets sent on this frame have “Session timestamp” 0.000) Session Participants Car Setups Lap Data Motion Data Car Telemetry Car Status   As an example, assuming that you are running at 60Hz with 60Hz update rate selected in the menus then you would expect to see the following packets and timestamps: Packets sent on Frame 2: (All packets sent on this frame have “Session timestamp” 0.016) Lap Data Motion Data Car Telemetry Car Status … Packets sent on Frame 31: (All packets sent on this frame have “Session timestamp” 0.5) Session (since 2 updates per second) Car Setups (since 2 updates per second) Lap Data Motion Data Car Telemetry Car Status   Will my old app still work with F1 2020? F1 2020 uses a new format for the UDP data. However, earlier formats of the data are still supported so that most older apps implemented using the previous data formats should work with little or no change from the developer. To use the old formats, please enter the UDP options menu and set “UDP Format” to either “F1 2019”, “F1 2018” or “Legacy” (for F1 2017 and earlier). Specifications for the legacy format can be seen here: http://forums.codemasters.com/discussion/53139/f1-2017-d-box-and-udp-output-specification/p1. Specifications for the F1 2018 format can be seen here: https://forums.codemasters.com/topic/30601-f1-2018-udp-specification/.   How do I enable D-BOX output? D-BOX output is currently supported on the PC platform. In F1 2020, the D-BOX activation can be controlled via the menus. Navigate to Game Options->Settings->UDP Telemetry Settings->D-BOX to activate this on your system.   Advanced PC Users: It is possible to control D-BOX by editing the games’ configuration XML file. The file is located here (after an initial boot of the game): ...\Documents\My Games\<game_folder>\hardwaresettings\hardware_settings_config.xml You should see the tag: <motion> <dbox enabled="false" /> … </motion> Set the “enabled” value to “true” to allow the game to output to your D-BOX motion platform. Note that any changes made within the game when it is running will overwrite any changes made manually.   How can I disable in-game support for LED device? The F1 game has native support for some of the basic features supported by some external LED devices, such as the Leo Bodnar SLI Pro and the Fanatec steering wheels. To avoid conflicts between Codemasters’ implementation and any third-party device managers on the PC platform it may be necessary to disable the native support. This is done using the following led_display flags in the hardware_settings_config.xml. The file is located here (after an initial boot of the game): ...\Documents\My Games\<game_folder>\hardwaresettings\hardware_settings_config.xml   The flags to enabled/disable LED output are: <led_display fanatecNativeSupport="true" sliProNativeSupport="true" />   The sliProNativeSupport flag controls the output to SLI Pro devices. The fanatecNativeSupport flag controls the output to Fanatec (and some related) steering wheel LEDs. Set the values for any of these to “false” to disable them and avoid conflicts with your own device manager.   Please note there is an additional flag to manually control the LED brightness on the SLI Pro: <led_display sliProForceBrightness="127" /> This option (using value in the range 0-255) will be ignored when setting the sliProNativeSupport flag to “false”. Also note it is now possible to edit these values on the fly via the Game Options->Settings->UDP Telemetry Settings menu.   Can I configure the UDP output using an XML File? PC users can edit the game’s configuration XML file to configure UDP output. The file is located here (after an initial boot of the game):         ...\Documents\My Games\<game_folder>\hardwaresettings\hardware_settings_config.xml You should see the tag: <motion> ... <udp enabled="false" broadcast=”false” ip="127.0.0.1" port="20777" sendRate=”20” format=”2020” yourTelemetry="restricted" /> ... </motion> Here you can set the values manually. Note that any changes made within the game when it is running will overwrite any changes made manually.