Jump to content


Codemasters Staff
  • Content Count

  • Joined

  • Last visited

Everything posted by Hoo

  1. The F1 series of games support the output of certain game data across UDP connections. This data can be used supply race information to external applications, or to drive certain hardware (e.g. motion platforms, force feedback steering wheels and LED devices). The following information summarises these data structures so that developers of supporting hardware or software are able to configure these to work correctly with the F1 game. If you cannot find the information that you require, or spot any issues with this specification then please let us know below. Packet Information Packet Types Each packet can now carry different types of data rather than having one packet which contains everything. A header has been added to each packet as well so that versioning can be tracked and it will be easier for applications to check they are interpreting the incoming data in the correct way. Please note that all values are encoded using Little Endian format. All data is packed. The following data types are used in the structures: Type Description uint8 Unsigned 8-bit integer int8 Signed 8-bit integer uint16 Unsigned 16-bit integer int16 Signed 16-bit integer float Floating point (32-bit) uint64 Unsigned 64-bit integer Packet Header Each packet has the following header: struct PacketHeader { uint16 m_packetFormat; // 2020 uint8 m_gameMajorVersion; // Game major version - "X.00" uint8 m_gameMinorVersion; // Game minor version - "1.XX" uint8 m_packetVersion; // Version of this packet type, all start from 1 uint8 m_packetId; // Identifier for the packet type, see below uint64 m_sessionUID; // Unique identifier for the session float m_sessionTime; // Session timestamp uint32 m_frameIdentifier; // Identifier for the frame the data was retrieved on uint8 m_playerCarIndex; // Index of player's car in the array // ADDED IN BETA 2: uint8 m_secondaryPlayerCarIndex; // Index of secondary player's car in the array (splitscreen) // 255 if no second player }; Packet IDs The packets IDs are as follows: Packet Name Value Description Motion 0 Contains all motion data for player’s car – only sent while player is in control Session 1 Data about the session – track, time left Lap Data 2 Data about all the lap times of cars in the session Event 3 Various notable events that happen during a session Participants 4 List of participants in the session, mostly relevant for multiplayer Car Setups 5 Packet detailing car setups for cars in the race Car Telemetry 6 Telemetry data for all cars Car Status 7 Status data for all cars such as damage Final Classification 8 Final classification confirmation at the end of a race Lobby Info 9 Information about players in a multiplayer lobby Motion Packet The motion packet gives physics data for all the cars being driven. There is additional data for the car being driven with the goal of being able to drive a motion platform setup. N.B. For the normalised vectors below, to convert to float values divide by 32767.0f – 16-bit signed values are used to pack the data and on the assumption that direction values are always between -1.0f and 1.0f. Frequency: Rate as specified in menus Size: 1464 bytes (Packet size updated in Beta 3) Version: 1 struct CarMotionData { float m_worldPositionX; // World space X position float m_worldPositionY; // World space Y position float m_worldPositionZ; // World space Z position float m_worldVelocityX; // Velocity in world space X float m_worldVelocityY; // Velocity in world space Y float m_worldVelocityZ; // Velocity in world space Z int16 m_worldForwardDirX; // World space forward X direction (normalised) int16 m_worldForwardDirY; // World space forward Y direction (normalised) int16 m_worldForwardDirZ; // World space forward Z direction (normalised) int16 m_worldRightDirX; // World space right X direction (normalised) int16 m_worldRightDirY; // World space right Y direction (normalised) int16 m_worldRightDirZ; // World space right Z direction (normalised) float m_gForceLateral; // Lateral G-Force component float m_gForceLongitudinal; // Longitudinal G-Force component float m_gForceVertical; // Vertical G-Force component float m_yaw; // Yaw angle in radians float m_pitch; // Pitch angle in radians float m_roll; // Roll angle in radians }; struct PacketMotionData { PacketHeader m_header; // Header CarMotionData m_carMotionData[22]; // Data for all cars on track // Extra player car ONLY data float m_suspensionPosition[4]; // Note: All wheel arrays have the following order: float m_suspensionVelocity[4]; // RL, RR, FL, FR float m_suspensionAcceleration[4]; // RL, RR, FL, FR float m_wheelSpeed[4]; // Speed of each wheel float m_wheelSlip[4]; // Slip ratio for each wheel float m_localVelocityX; // Velocity in local space float m_localVelocityY; // Velocity in local space float m_localVelocityZ; // Velocity in local space float m_angularVelocityX; // Angular velocity x-component float m_angularVelocityY; // Angular velocity y-component float m_angularVelocityZ; // Angular velocity z-component float m_angularAccelerationX; // Angular velocity x-component float m_angularAccelerationY; // Angular velocity y-component float m_angularAccelerationZ; // Angular velocity z-component float m_frontWheelsAngle; // Current front wheels angle in radians }; Session Packet The session packet includes details about the current session in progress. Frequency: 2 per second Size: 251 bytes (Packet size updated in Beta 3) Version: 1 struct MarshalZone { float m_zoneStart; // Fraction (0..1) of way through the lap the marshal zone starts int8 m_zoneFlag; // -1 = invalid/unknown, 0 = none, 1 = green, 2 = blue, 3 = yellow, 4 = red }; struct WeatherForecastSample { uint8 m_sessionType; // 0 = unknown, 1 = P1, 2 = P2, 3 = P3, 4 = Short P, 5 = Q1 // 6 = Q2, 7 = Q3, 8 = Short Q, 9 = OSQ, 10 = R, 11 = R2 // 12 = Time Trial uint8 m_timeOffset; // Time in minutes the forecast is for uint8 m_weather; // Weather - 0 = clear, 1 = light cloud, 2 = overcast // 3 = light rain, 4 = heavy rain, 5 = storm int8 m_trackTemperature; // Track temp. in degrees celsius int8 m_airTemperature; // Air temp. in degrees celsius }; struct PacketSessionData { PacketHeader m_header; // Header uint8 m_weather; // Weather - 0 = clear, 1 = light cloud, 2 = overcast // 3 = light rain, 4 = heavy rain, 5 = storm int8 m_trackTemperature; // Track temp. in degrees celsius int8 m_airTemperature; // Air temp. in degrees celsius uint8 m_totalLaps; // Total number of laps in this race uint16 m_trackLength; // Track length in metres uint8 m_sessionType; // 0 = unknown, 1 = P1, 2 = P2, 3 = P3, 4 = Short P // 5 = Q1, 6 = Q2, 7 = Q3, 8 = Short Q, 9 = OSQ // 10 = R, 11 = R2, 12 = Time Trial int8 m_trackId; // -1 for unknown, 0-21 for tracks, see appendix uint8 m_formula; // Formula, 0 = F1 Modern, 1 = F1 Classic, 2 = F2, // 3 = F1 Generic uint16 m_sessionTimeLeft; // Time left in session in seconds uint16 m_sessionDuration; // Session duration in seconds uint8 m_pitSpeedLimit; // Pit speed limit in kilometres per hour uint8 m_gamePaused; // Whether the game is paused uint8 m_isSpectating; // Whether the player is spectating uint8 m_spectatorCarIndex; // Index of the car being spectated uint8 m_sliProNativeSupport; // SLI Pro support, 0 = inactive, 1 = active uint8 m_numMarshalZones; // Number of marshal zones to follow MarshalZone m_marshalZones[21]; // List of marshal zones – max 21 uint8 m_safetyCarStatus; // 0 = no safety car, 1 = full safety car // 2 = virtual safety car uint8 m_networkGame; // 0 = offline, 1 = online uint8 m_numWeatherForecastSamples; // Number of weather samples to follow WeatherForecastSample m_weatherForecastSamples[20]; // Array of weather forecast samples }; Lap Data Packet The lap data packet gives details of all the cars in the session. Frequency: Rate as specified in menus Size: 1190 bytes (Struct updated in Beta 3) Version: 1 struct LapData { float m_lastLapTime; // Last lap time in seconds float m_currentLapTime; // Current time around the lap in seconds //UPDATED in Beta 3: uint16 m_sector1TimeInMS; // Sector 1 time in milliseconds uint16 m_sector2TimeInMS; // Sector 2 time in milliseconds float m_bestLapTime; // Best lap time of the session in seconds uint8 m_bestLapNum; // Lap number best time achieved on uint16 m_bestLapSector1TimeInMS; // Sector 1 time of best lap in the session in milliseconds uint16 m_bestLapSector2TimeInMS; // Sector 2 time of best lap in the session in milliseconds uint16 m_bestLapSector3TimeInMS; // Sector 3 time of best lap in the session in milliseconds uint16 m_bestOverallSector1TimeInMS;// Best overall sector 1 time of the session in milliseconds uint8 m_bestOverallSector1LapNum; // Lap number best overall sector 1 time achieved on uint16 m_bestOverallSector2TimeInMS;// Best overall sector 2 time of the session in milliseconds uint8 m_bestOverallSector2LapNum; // Lap number best overall sector 2 time achieved on uint16 m_bestOverallSector3TimeInMS;// Best overall sector 3 time of the session in milliseconds uint8 m_bestOverallSector3LapNum; // Lap number best overall sector 3 time achieved on float m_lapDistance; // Distance vehicle is around current lap in metres – could // be negative if line hasn’t been crossed yet float m_totalDistance; // Total distance travelled in session in metres – could // be negative if line hasn’t been crossed yet float m_safetyCarDelta; // Delta in seconds for safety car uint8 m_carPosition; // Car race position uint8 m_currentLapNum; // Current lap number uint8 m_pitStatus; // 0 = none, 1 = pitting, 2 = in pit area uint8 m_sector; // 0 = sector1, 1 = sector2, 2 = sector3 uint8 m_currentLapInvalid; // Current lap invalid - 0 = valid, 1 = invalid uint8 m_penalties; // Accumulated time penalties in seconds to be added uint8 m_gridPosition; // Grid position the vehicle started the race in uint8 m_driverStatus; // Status of driver - 0 = in garage, 1 = flying lap // 2 = in lap, 3 = out lap, 4 = on track uint8 m_resultStatus; // Result status - 0 = invalid, 1 = inactive, 2 = active // 3 = finished, 4 = disqualified, 5 = not classified // 6 = retired }; struct PacketLapData { PacketHeader m_header; // Header LapData m_lapData[22]; // Lap data for all cars on track }; Event Packet This packet gives details of events that happen during the course of a session. Frequency: When the event occurs Size: 35 bytes (Packet size updated in Beta 3) Version: 1 // The event details packet is different for each type of event. // Make sure only the correct type is interpreted. union EventDataDetails { struct { uint8 vehicleIdx; // Vehicle index of car achieving fastest lap float lapTime; // Lap time is in seconds } FastestLap; struct { uint8 vehicleIdx; // Vehicle index of car retiring } Retirement; struct { uint8 vehicleIdx; // Vehicle index of team mate } TeamMateInPits; struct { uint8 vehicleIdx; // Vehicle index of the race winner } RaceWinner; struct { uint8 penaltyType; // Penalty type – see Appendices uint8 infringementType; // Infringement type – see Appendices uint8 vehicleIdx; // Vehicle index of the car the penalty is applied to uint8 otherVehicleIdx; // Vehicle index of the other car involved uint8 time; // Time gained, or time spent doing action in seconds uint8 lapNum; // Lap the penalty occurred on uint8 placesGained; // Number of places gained by this } Penalty; struct { uint8 vehicleIdx; // Vehicle index of the vehicle triggering speed trap float speed; // Top speed achieved in kilometres per hour } SpeedTrap; }; struct PacketEventData { PacketHeader m_header; // Header uint8 m_eventStringCode[4]; // Event string code, see below EventDataDetails m_eventDetails; // Event details - should be interpreted differently // for each type }; Event String Codes Event Code Description Session Started “SSTA” Sent when the session starts Session Ended “SEND” Sent when the session ends Fastest Lap “FTLP” When a driver achieves the fastest lap Retirement “RTMT” When a driver retires DRS enabled “DRSE” Race control have enabled DRS DRS disabled “DRSD” Race control have disabled DRS Team mate in pits “TMPT” Your team mate has entered the pits Chequered flag “CHQF” The chequered flag has been waved Race Winner “RCWN” The race winner is announced Penalty Issued “PENA” A penalty has been issued – details in event Speed Trap Triggered “SPTP” Speed trap has been triggered by fastest speed Participants Packet This is a list of participants in the race. If the vehicle is controlled by AI, then the name will be the driver name. If this is a multiplayer game, the names will be the Steam Id on PC, or the LAN name if appropriate. N.B. on Xbox One, the names will always be the driver name, on PS4 the name will be the LAN name if playing a LAN game, otherwise it will be the driver name. The array should be indexed by vehicle index. Frequency: Every 5 seconds Size: 1213 bytes (Packet size updated in Beta 3) Version: 1 struct ParticipantData { uint8 m_aiControlled; // Whether the vehicle is AI (1) or Human (0) controlled uint8 m_driverId; // Driver id - see appendix uint8 m_teamId; // Team id - see appendix uint8 m_raceNumber; // Race number of the car uint8 m_nationality; // Nationality of the driver char m_name[48]; // Name of participant in UTF-8 format – null terminated // Will be truncated with … (U+2026) if too long uint8 m_yourTelemetry; // The player's UDP setting, 0 = restricted, 1 = public }; struct PacketParticipantsData { PacketHeader m_header; // Header uint8 m_numActiveCars; // Number of active cars in the data – should match number of // cars on HUD ParticipantData m_participants[22]; }; Car Setups Packet This packet details the car setups for each vehicle in the session. Note that in multiplayer games, other player cars will appear as blank, you will only be able to see your car setup and AI cars. Frequency: 2 per second Size: 1102 bytes (Packet size updated in Beta 3) Version: 1 struct CarSetupData { uint8 m_frontWing; // Front wing aero uint8 m_rearWing; // Rear wing aero uint8 m_onThrottle; // Differential adjustment on throttle (percentage) uint8 m_offThrottle; // Differential adjustment off throttle (percentage) float m_frontCamber; // Front camber angle (suspension geometry) float m_rearCamber; // Rear camber angle (suspension geometry) float m_frontToe; // Front toe angle (suspension geometry) float m_rearToe; // Rear toe angle (suspension geometry) uint8 m_frontSuspension; // Front suspension uint8 m_rearSuspension; // Rear suspension uint8 m_frontAntiRollBar; // Front anti-roll bar uint8 m_rearAntiRollBar; // Front anti-roll bar uint8 m_frontSuspensionHeight; // Front ride height uint8 m_rearSuspensionHeight; // Rear ride height uint8 m_brakePressure; // Brake pressure (percentage) uint8 m_brakeBias; // Brake bias (percentage) float m_rearLeftTyrePressure; // Rear left tyre pressure (PSI) float m_rearRightTyrePressure; // Rear right tyre pressure (PSI) float m_frontLeftTyrePressure; // Front left tyre pressure (PSI) float m_frontRightTyrePressure; // Front right tyre pressure (PSI) uint8 m_ballast; // Ballast float m_fuelLoad; // Fuel load }; struct PacketCarSetupData { PacketHeader m_header; // Header CarSetupData m_carSetups[22]; }; Car Telemetry Packet This packet details telemetry for all the cars in the race. It details various values that would be recorded on the car such as speed, throttle application, DRS etc. Frequency: Rate as specified in menus Size: 1307 bytes (Packet size updated in Beta 3) Version: 1 struct CarTelemetryData { uint16 m_speed; // Speed of car in kilometres per hour float m_throttle; // Amount of throttle applied (0.0 to 1.0) float m_steer; // Steering (-1.0 (full lock left) to 1.0 (full lock right)) float m_brake; // Amount of brake applied (0.0 to 1.0) uint8 m_clutch; // Amount of clutch applied (0 to 100) int8 m_gear; // Gear selected (1-8, N=0, R=-1) uint16 m_engineRPM; // Engine RPM uint8 m_drs; // 0 = off, 1 = on uint8 m_revLightsPercent; // Rev lights indicator (percentage) uint16 m_brakesTemperature[4]; // Brakes temperature (celsius) uint8 m_tyresSurfaceTemperature[4]; // Tyres surface temperature (celsius) uint8 m_tyresInnerTemperature[4]; // Tyres inner temperature (celsius) uint16 m_engineTemperature; // Engine temperature (celsius) float m_tyresPressure[4]; // Tyres pressure (PSI) uint8 m_surfaceType[4]; // Driving surface, see appendices }; struct PacketCarTelemetryData { PacketHeader m_header; // Header CarTelemetryData m_carTelemetryData[22]; uint32 m_buttonStatus; // Bit flags specifying which buttons are being pressed // currently - see appendices // Added in Beta 3: uint8 m_mfdPanelIndex; // Index of MFD panel open - 255 = MFD closed // Single player, race – 0 = Car setup, 1 = Pits // 2 = Damage, 3 = Engine, 4 = Temperatures // May vary depending on game mode uint8 m_mfdPanelIndexSecondaryPlayer; // See above int8 m_suggestedGear; // Suggested gear for the player (1-8) // 0 if no gear suggested }; Car Status Packet This packet details car statuses for all the cars in the race. It includes values such as the damage readings on the car. Frequency: Rate as specified in menus Size: 1344 bytes (Packet updated in Beta 3) Version: 1 struct CarStatusData { uint8 m_tractionControl; // 0 (off) - 2 (high) uint8 m_antiLockBrakes; // 0 (off) - 1 (on) uint8 m_fuelMix; // Fuel mix - 0 = lean, 1 = standard, 2 = rich, 3 = max uint8 m_frontBrakeBias; // Front brake bias (percentage) uint8 m_pitLimiterStatus; // Pit limiter status - 0 = off, 1 = on float m_fuelInTank; // Current fuel mass float m_fuelCapacity; // Fuel capacity float m_fuelRemainingLaps; // Fuel remaining in terms of laps (value on MFD) uint16 m_maxRPM; // Cars max RPM, point of rev limiter uint16 m_idleRPM; // Cars idle RPM uint8 m_maxGears; // Maximum number of gears uint8 m_drsAllowed; // 0 = not allowed, 1 = allowed, -1 = unknown // Added in Beta3: uint16 m_drsActivationDistance; // 0 = DRS not available, non-zero - DRS will be available // in [X] metres uint8 m_tyresWear[4]; // Tyre wear percentage uint8 m_actualTyreCompound; // F1 Modern - 16 = C5, 17 = C4, 18 = C3, 19 = C2, 20 = C1 // 7 = inter, 8 = wet // F1 Classic - 9 = dry, 10 = wet // F2 – 11 = super soft, 12 = soft, 13 = medium, 14 = hard // 15 = wet uint8 m_visualTyreCompound; // F1 visual (can be different from actual compound) // 16 = soft, 17 = medium, 18 = hard, 7 = inter, 8 = wet // F1 Classic – same as above // F2 – same as above uint8 m_tyresAgeLaps; // Age in laps of the current set of tyres uint8 m_tyresDamage[4]; // Tyre damage (percentage) uint8 m_frontLeftWingDamage; // Front left wing damage (percentage) uint8 m_frontRightWingDamage; // Front right wing damage (percentage) uint8 m_rearWingDamage; // Rear wing damage (percentage) // Added Beta 3: uint8 m_drsFault; // Indicator for DRS fault, 0 = OK, 1 = fault uint8 m_engineDamage; // Engine damage (percentage) uint8 m_gearBoxDamage; // Gear box damage (percentage) int8 m_vehicleFiaFlags; // -1 = invalid/unknown, 0 = none, 1 = green // 2 = blue, 3 = yellow, 4 = red float m_ersStoreEnergy; // ERS energy store in Joules uint8 m_ersDeployMode; // ERS deployment mode, 0 = none, 1 = medium // 2 = overtake, 3 = hotlap float m_ersHarvestedThisLapMGUK; // ERS energy harvested this lap by MGU-K float m_ersHarvestedThisLapMGUH; // ERS energy harvested this lap by MGU-H float m_ersDeployedThisLap; // ERS energy deployed this lap }; struct PacketCarStatusData { PacketHeader m_header; // Header CarStatusData m_carStatusData[22]; }; Final Classification Packet This packet details the final classification at the end of the race, and the data will match with the post race results screen. This is especially useful for multiplayer games where it is not always possible to send lap times on the final frame because of network delay. Frequency: Once at the end of a race Size: 839 bytes (Packet size updated in Beta 3) Version: 1 struct FinalClassificationData { uint8 m_position; // Finishing position uint8 m_numLaps; // Number of laps completed uint8 m_gridPosition; // Grid position of the car uint8 m_points; // Number of points scored uint8 m_numPitStops; // Number of pit stops made uint8 m_resultStatus; // Result status - 0 = invalid, 1 = inactive, 2 = active // 3 = finished, 4 = disqualified, 5 = not classified // 6 = retired float m_bestLapTime; // Best lap time of the session in seconds double m_totalRaceTime; // Total race time in seconds without penalties uint8 m_penaltiesTime; // Total penalties accumulated in seconds uint8 m_numPenalties; // Number of penalties applied to this driver uint8 m_numTyreStints; // Number of tyres stints up to maximum uint8 m_tyreStintsActual[8]; // Actual tyres used by this driver uint8 m_tyreStintsVisual[8]; // Visual tyres used by this driver }; struct PacketFinalClassificationData { PacketHeader m_header; // Header uint8 m_numCars; // Number of cars in the final classification FinalClassificationData m_classificationData[22]; }; Lobby Info Packet This packet details the players currently in a multiplayer lobby. It details each player’s selected car, any AI involved in the game and also the ready status of each of the participants. Frequency: Two every second when in the lobby Size: 1169 bytes (Packet size updated in Beta 3) Version: 1 struct LobbyInfoData { uint8 m_aiControlled; // Whether the vehicle is AI (1) or Human (0) controlled uint8 m_teamId; // Team id - see appendix (255 if no team currently selected) uint8 m_nationality; // Nationality of the driver char m_name[48]; // Name of participant in UTF-8 format – null terminated // Will be truncated with ... (U+2026) if too long uint8 m_readyStatus; // 0 = not ready, 1 = ready, 2 = spectating }; struct PacketLobbyInfoData { PacketHeader m_header; // Header // Packet specific data uint8 m_numPlayers; // Number of players in the lobby data LobbyInfoData m_lobbyPlayers[22]; }; Restricted data (Your Telemetry setting) There is some data in the UDP that you may not want other players seeing if you are in a multiplayer game. This is controlled by the “Your Telemetry” setting in the Telemetry options. The options are: Restricted (Default) – other players viewing the UDP data will not see values for your car Public – all other players can see all the data for your car Note: You can always see the data for the car you are driving regardless of the setting. The following data items are set to zero if the player driving the car in question has their “Your Telemetry” set to “Restricted”: Car status packet m_fuelInTank m_fuelCapacity m_fuelMix m_fuelRemainingLaps m_frontBrakeBias m_frontLeftWingDamage m_frontRightWingDamage m_rearWingDamage m_engineDamage m_gearBoxDamage m_tyresWear (All four wheels) m_tyresDamage (All four wheels) m_ersDeployMode m_ersStoreEnergy m_ersDeployedThisLap m_ersHarvestedThisLapMGUK m_ersHarvestedThisLapMGUH m_tyresAgeLaps
  2. Hi @okaui, Thanks for the bug report and additional info that you provided. This issue should be fixed now following a game server update. We can't remove the XP that you have already been awarded, but this shouldn't affect anyone else now. Regards, Hoo.
  3. Hi All, We think we've tracked down the issue - it seems to be present on all platforms for certain users (or those with certain mails). We've got a fix in test that we will role out into the next available update. Thanks.
  4. Just merged two threads about this. The issue should be fixed now.
  5. Hi - I've merged two posts which are about the same issue.
  6. Hi @byGui, You should have received an in-game mail about this. Thanks.
  7. Hi All, There might be a couple of different issues here, so if you could provide full bug report info and send through any save files to us that would help us to track down what is happening. Thanks.
  8. Hi All, If you are seeing a new and persistent issue since updating to v1.05 then this might be a different issue to that originally reported here. Please can you add your information to an existing thread that relates to your issue, or log a new bug report thread if one doesn't already exist, so that we can investigate properly? If you receive an option to send your crash information to the developer during any system crash then please do so. If possible, provide a few words to describe what you were doing when this crash occurred (this option is only present for PS4 users). This info is really helpful in identifying the frequency and cause of any crashes that you encounter. If you think the issue might be related to your save game, then please also provide a save game file for us to test with (see steps here for info on how to do this) and let us know anything significant that you might have been doing in your previous working session. If you can't remember what you were doing in your previous session then please send us a report code and we can use this to locate your session history (your report code is a 12-character code that can be seen in the bottom-left corner of the screen when viewing the "Settings" screen in the options menu). There is an existing bug report here which sounds similar to some of those being reported above (Xbox user on v1.03/1.05), so please check it out to see if that covers the issue that you are seeing: Thanks.
  9. Hi All, Thanks for confirming the fix. This issue took a lot longer in test than expected, so please accept our apologies for the delay in getting this out to you. Hoo.
  10. Hi All, We noticed some issues where certain network configurations were struggling to connect to our game servers correctly. We made some updates in v1.05 to change how this system works which we think should have resolved many of these cases. We still expect users to see these error messages at times when the servers are actually down, or when other unexpected network errors occur. If you were previously having persistent issues with this then please let us know if this has changed for you since v1.05. If you are now seeing regular issues since updating to v1.05 then please let us know and we will investigate further. Thanks.
  11. Hi All, We've done a server-side update this morning that may affect this issue. Please could someone who was experiencing this issue try entering the Podium Pass and let us know if you can access now? Thanks, Hoo.
  12. Hope you enjoy the game! Let me mark this one as solved and close the ticket off.
  13. Hi @BARSZCZO - this looks to be this issue which is covered in a different thread:
  14. Hi @AndrewLai - are you able to confirm what country / region your PSN account is registered to? Thanks.
  15. Hi All, The dev team made a range of stability fixes in v1.05, including stopping the crash seen in this particular instance. This doesn't resolve the underlying cause of the Podium Pass not working, but at least stops the game crashing to desktop until a proper fix is released. Our test team are currently reviewing a potential fix for the underlying issue at the moment. We'll let you know once / if this gets approved for release. Thanks for your patience, Hoo.
  16. Hoo

    F1 2020 UDP Specification

    Sorry - we have not managed to get to this yet. Unfortunately, there are a couple of other issues that the team has had to look at. We will try and get to this as soon as we can.
  17. Hi All, As stated previously, this CPU is not supported by the game. However, our speculative fix has been added to version 1.05 which may resolve this issue. If this doesn't work then unfortunately we will be unable to attempt further fixes for this. Thanks, Hoo.
  18. Hi All, Just to let you know that the team are still working on this issue. They have identified the source of the issue and are looking at ways to correctly activate the Podium Pass. Unfortunately, this won't count any previous game progression XP as the Podium Pass season has failed to start so nothing has been recorded. Once a fix has been prepared and run through our QA teams then we'll update this thread to let you know when to expect this. Apologies to any players that are being affected by this issue. Thanks, Hoo.
  19. If you are an Xbox One user and your pre-order PitCoins are not appearing then please go to this thread and provide the additional information requested. This will hopefully help us to track down the source of the issue: We are still investigating other issues around PitCoins not being awarded in other cases, but wanted to split the Xbox issue out to help with our on-going investigations. Thanks.
  20. Hi All, The team have identified a rare case that appears to be affecting the accounts of specific users. For anyone experiencing this problem, the game will always crash whenever entering Podium Pass or the item shop. In addition, no XP will be awarded for game activities. Unfortunately, there is no known workaround for affected users at the moment. The team are working on a resolution for this and we'll update you as soon as we have more info. Thanks, Hoo. EDIT: Merged two threads on the same subject
  21. Hi, We think this issue may occur if your Racenet account is already linked to a different gaming account on that platform. To see if this is the issue, try the following steps: 1. Go to the Racenet website (https://racenet.codemasters.com/) 2. Click the "logging in" link in the centre of the screen 3. Log into your Racenet account 4. Select the cog icon in the upper-right corner of the screen and select Account Settings 5. In the first option listed under the "Update Your Account" heading you will see your linked accounts: A green circle around the corresponding platform icon indicates that your Racenet account is currently linked to a gaming account on that platform. Select the icon for the platform that you are using for F1 2020 and click on the "Unlink Account" option that appears. Note: if you do not see a green circle around the appropriate platform icon then there may be another issue affecting your log-in, such as an incorrect username or password. 6. Relaunch the game and proceed to the main menu screen 7. Select the "Game Options" tile, then choose the "Racenet" option. 8. Select to sign in and enter your Racenet account email address and password Thanks, Hoo
  22. Hi All, As previously mentioned, the CPU falls below our minimum specification so we are unable to offer proper support for it. Our official recommendation is to pursue a refund if you are able to. The dev team have taken a look at the crash dump that was provided and think they can stop that particular crash, but there might be other issues afterwards that we don't know about. As we are unable to test on these older chips anymore, any change that we make is purely speculative and might not work so please don't miss out on the opportunity to claim a refund by waiting for this fix. I will update this thread once there is more information on if and when a potential fix can be added to a future patch. Thanks.
  23. I've merged these threads as they relate to crashes on unsupported CPUs.
  24. Hi @JJgamer, We're sorry to hear that you are having issues accessing the game. Please could you confirm whether this was a purchase through the PlayStation Store and also let us know what country / region you purchased the product from? Thanks.
  25. Hoo

    F1 2020 UDP Specification

    Thanks for all the feedback so far. We will be going through this next week with the team to identify any bugs that we can fix. Regarding the player names issue, if anyone can provide examples of other current games that also provide player names through a similar API or output system, that would be very helpful for us to use as reference. 🙂