Home / Sim Resources / rFactor Reviews / rFactor 1250 Update

rFactor Screenshot

rFactor Screenshot

rFactor Screenshot


The rFactor 1250 update is available! Not the monster 1150 was (thankfully he says!) but still chock full of useful fixes and updates. Installation Tip: Place the unzipped rFactor1250Update.exe in your rFactor directory where rFactor.exe resides and run the update.

What's New in 1250?

rFactor 1250 includes many updates and fixes as listed below. From www.rfactor.net:

"This update contains several new features and improvements, including a spotter for oval racing, more dynamic drafting calculations, better caution period handling, a forced cockpit option, and improved driver swap functionality. Also included are various bug fixes and expanded options for modders"

After a short time with the rFactor update here's a few things you'll notice straight away.

  • The Spotter - Significant for Stock car racers and anyone like me who doesn't pay much attention to the LCD screens! :) Combined with oval racing updates is probably the most notable feature of the update.
  • Exit Confirmation - Definitely a handy way to restart a race quickly when playing offline. Can be disabled in the PLR file.

A lot of the changes in the 1250 Update though are under the bonnet so pop the lid and check out the 1250 readme:


  • Fixed a bug where shadow casters/objects were not using the camera's LOD multiplier, and thus would switch out too early in cams with an LOD multiplier greater than 1.0.
  • Fixed an ambient shadow bug in which it would disappear at random times.
  • Fixed a bug in night racing where night-specific vis groups and shadows would only work if you transitioned to night from day.
  • Restored dual-head mode to its previous behavior of emulating a single widescreen rather than two screen multihead.
  • Added vehicle labels to monitor and replay.

Artificial Intelligence:

  • Significant improvements in oval racing.
  • RCD file updates


  • Changed sound priority algorithm to take into account the local volume of each sound (louder sounds -> more priority).
  • Mostly fixed private qualifying issues where you would see parts that broke off an invisible competitor's car.
  • Improved driver swapping functionality.  Garage setup is now transferred during multiplayer driver swaps if the server's multiplayer.ini variable "Driver Swap Setups" is enabled (which it is by default).  Vehicle state is also transferred, including fuel, tire wear, and damage.  Various other minor improvements and fixes have been applied to this feature.
  • Now using red outline (configurable through player file variable "Box Outline") for end of reconnaissance lap, too.  Fixed some other issues regarding placement after the reconnaissance lap.
  • Fixed problem where DNF'd vehicles were sometimes scored as if they had actually driven back to the garage where they are parked.
  • Stopped showing fuel level of competitors (it was wrong for remote vehicles anyway).
  • Added exit confirmation for race (note that it can be configured with the PLR file option "Exit Confirmation".
  • Fixed issue where you couldn't receive setups if the translation of Received was an illegal Windows folder name.
  • A player can now press the "Enter" to make the monitor/replay page full screen (removing images to the top, bottom and left of the replay image).  While in this full screen state, the player can remove the cursor by pressing the "Delete" key.
  • Added player file option "Adjust Frozen Order" to control whether vehicles that are spinning or stopped on track get moved down the frozen track order while other vehicles pass them.  This is only relevant if the vehicle that caused the full-course caution is actually able to continue the race.  The old behavior kept the order frozen regardless of who caused the full-course caution.  The new default will usually move the offending vehicle to a more appropriate place in the caution track order.
  • Pitcrew now changes damaged tires even if you forgot to ask them to (if you want your pitcrew to be stupid, set "Smart Pitcrew" to 0).
  • Changed pitstop code to do a regular pitstop if you're not allowed to serve a stop/go (for example, during a caution), even if your pit choice is to serve a stop/go.  Also controlled by "Smart Pitcrew".
  • Made gear graph automatically adjust if gears allow speeds over 300mph or 300kph (depending on display options).
  • Pit menu automatically comes up when entering the pits now (controlled by PLR file options "Automatic Pit Menu").
  • Fixed case where 2nd-place driver in a close finish in a timed multiplayer race might be allowed to go another lap, thereby winning the race incorrectly.
  • Significantly improved handling of track order under caution/formation laps.
  • Basic spotter, mostly geared towards oval racing.

Input Devices:

  • Improved auto-lift/auto-blip behavior for direct shift mode (H-shifters).


  • Fixed vehicle jerkiness in replays of long races (2+ hours).
  • Fixed replays display for widescreen and multihead modes.
  • Fixed some replay issues with regards to driver swaps - it now shows the correct driver name for a given time.  Note that the number of participants listed in the replay info (when picking which replay to watch) is a bit misleading - it is increased every time a driver swap is done, regardless of whether it is a driver who was previously in the vehicle.
  • Version 1.150 replays and before may not play properly in this version.


  • Mistyped chat commands (anything that starts with a slash '/') are now blocked from being seen by other clients.
  • Fixed problem where RFM variable 'FreeSettings' would not work properly in multiplayer.
  • Now transferring "CrashRecovery" player file option in multiplayer (so everybody uses the server's setting).  Non-default values will need to be reset with this version.
  • Added PLR file option "Safety Car Collidable" to allow collisions with the safety car to be turned off.  This is mostly intended for multiplayer races where warp or unexpected safety car behavior is a possible issue.
  • By default, you now must come to a complete stop in multiplayer before exiting to the monitor.  Server can turn this requirement off by setting the multiplayer.ini variable "Must Be Stopped" to 0.
  • Fixed issue where returning clients wouldn't get their score back if their vehicle's current upgrades (in the options) did not match the forced upgrades for the track.
  • New server option for forcing particular driving views.  Available options are: free, nosecam/cockpit/TV cockpit, nosecam/cockpit, or cockpit only.  If restricted, these only apply when driving.
  • New ability to "unthrottle" one client.  Admin command "/unthrottle <name>" or direct editing of the multiplayer.ini file will cause network data throttling to be turned off for that client.  Use with great caution because the server will ignore all bandwidth limits when sending data to the given client.  The purpose of this feature will usually be to have another client on a LAN who can record and review all the data that the server processes.
  • Changed message that non-administators can't call votes with administator present to only be displayed on the client that attempted to call the vote.
  • New administrator functionality: up to 3 regular administrators now allowed, plus 1 super-administrator.  Regular admininistrators have a star (*) next to their name in the monitor (assuming they are driving a vehicle rather than spectating).  This postfix (as well as one for multiplayer AIs) is configurable in the player file ("Monitor AI Postfix" and "Monitor Admin Postfix").  Super-administrators are secret and can change the regular administrator password with the /apwd command (which also has the effect of taking control away from anybody currently logged in as a regular administrator).  Note the new entry "SuperAdminPassword" in the multiplayer.ini file.
  • Administrators can now run batch files of chat commands by typing "/batch <file>" where <file> is expected to be either 1) a path from the root directory of rFactor, or 2) in the UserData/Log/Results directory.  Example files are written after every session (for example, "BatchTemplateSQ.ini" is written after qualifying) in the UserData/Log/Results directory.  Five batch commands are executed every second to avoid bandwidth overload.  Note that mixed commands (such as /editgrid and /setmass) may result in out-of-order confirmation messages but this shouldn't be a problem.
  • Chat command "/editgrid" can now be typed in at the server.
  • Full list of current chat commands:
    • /vote yes                     // same as pressing button
    • /vote no                      // same as pressing button
    • /ping                           // same as pressing button
    • /w <sendee> <chat>    // whisper to given player - <sendee> can be just the first few letters of player's name if they are unique
    • /whisper <sendee> <chat>  // same functionality as "/w"
    • /callvote nextsession      // proceeds to next session (practice to qual, for example)
    • /callvote nextrace         // proceeds to next event in dedicated server track list
    • /callvote event <name>  // proceeds to given event (such as "24 Hours of Toban" or "Mills Special Event")
    • /callvote restartrace      // restarts the race
    • /callvote restartwarmup // client request to go to the beginning of warmup
    • /restartwarmup            // admin/server command to go to the beginning of warmup
    • /callvote restartweekend // goes back to practice
    • /callvote addai              // adds 1 AI
    • /callvote add5ai            // adds 5 AI
    • /callvote kick <name>    // kick specified player out of race
    • /callvote ban <name>     // bans specified player from server
    • /admin <password>        // take over administrator or super-admin (wrong or no password = stop being administrator)
    • /apwd <password>          // super-admin/server command to change the regular admin password - this will eliminate all current regular admins
    • /editgrid <pos> <name>  // admin command to move the specified player to the given position on the grid - note that you should do the grid from first to last or you may fail to achieve the expected results
    • /setmass <mass> <name>    // admin/server command to apply a penalty mass (0-255 kg) to the specified player with immediate effect, lasting for the rest of the weekend.
    • /batch <file>             // admin/server command to run given batch file of these chat commands (see full description elsewhere)
    • /changelaps <laps> <name> // admin/server command to adjust the number of completed laps (-10 to +10) to the specified player for the purpose of allowing live stewards' input into the game's scoring system.
    • /addpenalty <code> <name> // admin/server command adds a penalty to the given player.  The following are valid values for <code>: -2=longest line, -1=drive-thru, 0-60=stop/go penalty number of seconds.
    • /subpenalty <code> <name> // admin/server command removes a penalty from the given player.  The following are valid values for <code>: 0=remove one stop/go penalty, 1=remove one drive-thru penalty, 2=remove one longest line penalty, 3=remove all penalties.
    • /throwyellow [<laps>]     // admin/server command starts a full-course caution for the given number of laps (must be at least 2).  If laps is not given, normal randomized value will apply.
    • /clearyellow              // admin/server command nds a full-course caution as soon as possible, regardless of the planned number of laps.
    • /racelength <code> <value1> [<value2] // admin/server command changes the race length for the next race: <code>=0 sets a <value1> % length race, <code>=1 sets a <value1>-lap race, <code>=2 sets a <value1>-minute (timed) race, <code>=3 sets a <value1>-lap and <value2>-minute race.
    • /unthrottle <name>        // admin/server command to stop throttling network data to the given client - use with great caution
    • /shutdownserver           // admin command tells a dedicated server to exit immediately.
    • /set upload <kbps>        // change upload speed (works on own machine only, administrator can't change server's upload at this time)
    • /set download <kbps>    // change download speed (same as above)
    • /set nagle <0 or 1>        // can only be done on server - specifies whether questionable Nagle TCP algorithm is used
    • /set warp <0.1 - 3.0>    // in future, will affect voicechat. The warp connotation comes from the period of time to take in between sending each voice packet. 1.0 is the default.

Results File:

  • Points (overall) and ClassPoints scored for each session are now written to results file.  Note that Points/ClassPoints may not be correct in multiplayer qualifying if points are given for PolePosition and the leader has left the game temporarily.  Also note that ClassPoints do not currently include MostLapsLead or AnyLapsLead relative to class (if points can be scored for those achievements).
  • Added "<Swap>" tag to results file if driver swaps were performed.  This new tag shows drivers at each lap.
  • Added PlayerFile name to results file.


  • Modders, please check updated RFM files for all new rules.
  • Added RFM entry for whether local yellows are shown separately for oval vs. road courses.
  • Added optional point-scoring mechanisms to RFM.  Under the heading "OtherScoringInfo", points can be given for PolePosition, MostLapsLead, AnyLapsLead, and FastestLap.  Note that any points now, including the regular place-based points, can include fractional parts (down to tenths of a point).
  • Fixed possible memory corruption when changing mods.
  • More complex brake response to temperature is now possible.  To use, replace "BrakeOptimumTemp" and "BrakeFadeRange" with "BrakeResponseCurve=(<cold>,<min_optimum>,<max_optimum>,<hot>)", where each value is a temperature in Celsius.  At <cold> temperature, brake torque is half of optimum.  Between <min_optimum> and <max_optimum>, brake torque is optimum.  At <hot> temperature, brake torque is half of optimum.
  • New HDV variable "BrakeTorqueAI" allows a different brake torque for AI.  This might be used to compensate for differences with the player's car, as the AI is not currently affected by cold or faded brakes.
  • Note that there is also an old HDV variable "SpinInertiaAI" which allows a different wheel spin inertia for AI.  If this value is NOT used, the AI by default have twice as much spin inertia to help the physics deal with their lower sampling frequency.  If you choose to use this value and make it more realistic, be careful to make sure that the AI wheels don't jitter at low speeds.
  • Added ability to specify the texture stage specified for wcextra textures.  To use, add a line to the VEH in the format "Extra<x>TexStage=<stage>" where <x> is 0-9 and <stage> is 0-7 (defaults to 0, the normal first stage).
  • Now looking for new variable "SpringSquared=(<x>,<y>)" in head physics file (for each spring), where x is additional spring per unit deflection, and y is additional damping per unit deflection.  The default values are <x> = ~6.67 * the normal spring value, and <y> = 0.0.  This is an extra 33.3% force at 5cm deflection, which is mostly unnoticeable except in high banking where it helps visibility.  Note: it is easy to blow up the physics engine by removing the min/max constraints and/or increasing this spring squared value significantly.
  • Tracking cams can now have a position offset to avoid perfectly-centered cameras.  "PositionOffset=(<x>,<y>,<z>)" will apply a world-space offset to the target.
  • Tracking cams now have a microphone location and volume multiplier (the latter is probably more useful if you just need more volume for cameras far away from the track).  "ListenerPos=(<x>, <y>, <z>)" and "ListenerVol=<m>" or "ListenerVol=(<m>)" will do the trick.
  • Support for up to four trackside camera groups.  "Groups=<x>" where x is the sum of the values for which groups it belongs to: 1=group 1, 2=group 2, 4=group 3, 8=group 4.  It is recommended that the camera that shows vehicles crossing the start/finish line belong to each available camera group, as the default behavior is to CYCLE through the camera groups every time the currently-viewed vehicle crosses the start/finish line.  The trackside camera control can also be used to select a specific camera group (which, unlike the CYCLE mode, will not change camera groups when vehicles cross the start/finish line).  Finally, if track-makers wish to start with trackside group 1 rather than the CYCLE mode, they can set "Trackside1First = 1" in the track GDB file.
  • Camera editor support for multiple trackside camera groups and microphone volume multiplier.
  • Made properties of loose objects (cones, signs, etc.) configurable through track GDB file.  Defaults can be set for each type, and can be overridden for specific instances.  Values can be specified directly (with positive values) or relatively (by using a negative number which will be multiplied negatively by the original default value).  Entering 0.0 for a property is the same as -1.0: neither input will change the property's value.  Note that the physics sampling rate for loose objects is somewhat low (to keep CPU usage down), so there are limitations to what range of parameters can be used.  If you simply want to increase the mass of an object, we'd recommend increasing all the parameters except friction by the same proportion (e.g. if you want to double the mass, also double the inertia values and the spring and damper).  Format is "<type or instance name> = ( <mass>, <inertia x>, <inertia y>, <inertia z>, <spring>, <damper>, <friction> )".  Hard-coded defaults for each type are given below:
    • CONE = ( 2.5, 0.25, 0.20, 0.25, 1425.6, 72.0, 0.80 )
    • POST = ( 1.2, 0.5, 0.1, 0.5, 400.0, 40.0, 0.80 )
    • SIGN = ( 5.0, 4.0, 2.0, 6.0, 1024.0, 44.8, 0.70 ) // default inertia parameters for signs are actually calculated based on geometry
    • WHEEL = ( 15.0, 0.7, 0.5, 0.5, 5625.0, 45.0, 1.0 )
    • WING = ( 10.0, 1.0, 0.5, 1.5, 3600.0, 60.0, 0.60 )
    • PART = ( 10.0, 1.0, 0.5, 1.5, 3600.0, 60.0, 0.60 )
  • Added loose-object-to-loose-object collision.  There are limitations to its effectiveness.
  • Allowed matchmaker location to be changed when rFm is changed.
  • New drafting parameters in RFM: VehicleWidth, SideEffect, SideLeadingExponent, SideFollowingExponent.  Parameters can be defined per-season if desired (copy the Drafting{} section to within a Season{}).
  • Support for vehicle-specific drafting wake generation.  All RFM drafting parameters can be overridden with new HDV values under [BODYAERO] to make it vehicle-specific (and also possible to be modified based on upgrades).
  • Drafting can now affect downforce separately from drag.  New variables and defaults are [FRONTWING]FWDraftLiftMult=1.0, [REARWING]RWDraftLiftMult=1.0, [LEFTFENDER]FenderDraftLiftMult=1.0, [RIGHTFENDER]FenderDraftLiftMult=1.0, [BODYAERO]BodyDraftLiftMult=1.0, and [DIFFUSER]DiffuserDraftLiftMult=1.0.  If you set any of these to be >1.0, then the affect of the draft on lift (downforce) will increase.  This is useful when simulating vehicles that lose a lot of downforce from other vehicles' turbulence.  See Form06.hdv for example usage.
  • Drafting can now affect aerodynamic balance.  The new variable is [BODYAERO]DraftBalanceMult=1.0.  Note that this balance variable was functionally equivalent to 0.0 in previous builds, meaning that the draft was calculated once for each vehicle and affected all aerodynamic components equally.  Now the draft is calculated at the front and rear of the vehicle, and components are affected based on their location in the draft.  This multiplier allows you to exaggerate or remove the effect.  See Form06.hdv for example usage.
  • Added "BrakeGlow" for each wheel in the HDV file to define at what temperatures the brake glow ramps up.  Default legacy values are (in Celsius): BrakeGlow=(750.0,1000.0).
  • We used to load *all* DLLs in the plugin directory, even if they were not rFactor plugins.  We now "fixed" our code to dump non-rFactor DLLs (which also took care of a memory leak).  The so-called "problem" with this is if somebody is depending on rFactor to load other DLLs.  If they have an rFactor plugin that wants to load some other non-rFactor DLL, they need to do it themselves from now on.
  • Added "PassingBeforeLineOval" and "PassingBeforeLineRoad" rules to RFM/GDB to specify if and where it is legal to pass on starts and restarts before the s/f line.  Improved code to reduce penalties caused by person ahead not racing normally or diving into pits.
  • Added ram-air effects on engine.  See Form06_engine.ini for example.
  • Many new Internals Plugin features.
  • Added "ClosedPitPenalty" rule to RFM/GDB to control what penalty is given for being serviced on a closed pitlane.  The default has been changed from a drive-through penalty to an end-of-longest-line penalty.
  • Due to a potential discrepancy that could be caused by clients and servers having different values for "Vehicles Per Pit" in the PLR file, the variable has been eliminated.  The number of vehicles that may share a pitstall should now be determined from the RFM entry "PitGroupOrder", with the first entry extrapolated for any undefined pitstalls.