Sizable New rFactor 2 Update Available Now

Paul Jeffrey

Premium
rF2 Build Update Released.jpg

Studio 397 have released a major new update for rFactor 2 - addressing many of the issues recently encountered with the simulation.


Having been in a bit of strife with the title following the recent 24h of Le Mans virtual event red flag, Studio 397 have redoubled their efforts to hunt down and eliminate some of the long standing bugs present within the simulation. With plenty of enhancements and changes having taken place within rFactor 2, many of the more long running issues appear to have been brought further into the limelight in recent months, and it is exciting to see these acknowledged and actioned by the development team - hopefully adding up to a much more robust playing experience now and in the future.

Check out the release article from Studio 397 below:

Releasing a new rFactor 2 build is typically something we do with a classic bulleted changelog, but this time we felt it deserved a bit more than that.

During our recent rF24 event, technical issues cropped up that left us no alternative but to red flag the race. We decided to immediately regroup and redirect our priorities towards dissecting and fixing what turned out to be long standing issues. It was not a simple task, but we rolled up our collective sleeves and dug in. With a lot of help of the participating teams, we analyzed all the problems and for the first time were able to reproduce most of them. Their cause turned out to be very specific edge cases in ‘rejoins’ and ‘driver swaps’ so we proceeded by focusing on trying to break these features in as many different ways as possible.

So of course, much of the findings relied on intense and focused testing over the past weeks. Having to go back and test multiple scenarios repeatedly and working to find fixes and workarounds required a well-thought-out approach with a solid understanding of the issues from all involved, both on the testing side and the development side. This intense focus has given us an insight into the many ways things can go wrong in the heat of racing. Thankfully, we also had the massive support of the rFactor 2 community through post-race feedback and stories, as well as logging – this was invaluable and an enormous push to help find the root cause of many of these issues people have in online events. As a team, we meticulously went over each of these reports and looked for any specific details that could point us in the right direction.

Car Selection and Upgrades
One of the main areas we focused on was issues related to rejoining after getting disconnected during a session, for example when the network connection goes down for a moment. rFactor 2 has always allowed for a driver to rejoin a race after a computer crash or network issue, but in some cases on rejoining the server, the driver would end up with a DNF (Did not finish), a DQ (disqualification) or their name would show at the bottom of the list as simply ‘pending an open session’. Of course, these outcomes are incorrect and the question for us was: what triggers these scenarios? Our research and testing quickly showed that, in most cases, these issues were related to rejoining and either a) picking a totally different car from the car selection, b) picking the right car with the wrong livery from the car selection, or c) picking the right car and livery but with a different upgrade package.

You might ask, “Why is this a problem, I always pick the correct options”? Whilst that might be true in 99% of the cases, it’s the 1% that hurts us here in the end. It’s hard to be sure a team of multiple drivers always chooses the correct options. Making a mistake, it turns out, causes problems for more people than the driver rejoining, so we needed to make sure this could no longer happen.

To tackle this problem, we first looked at the core code of the rejoin process to make sure all options regarding car and upgrades are inherited and stay with each driver, regardless of disconnections or previous driver swaps. This means when you join with car A and upgrade X, it will be logged in a more robust way that prevents the driver history getting lost. Next, we worked on making this process more user friendly, so that it’s actually impossible to make a mistake on rejoin. We enhanced the network protocol to communicate to your client what car, livery and upgrades were used before, so we can choose the right car for you. For example, if you join with a ‘BMW M8 GTE’ with the ‘Le Mans package’ and ‘my-team-livery’, and you have a network issue during the race and are booted, instead of seeing the whole list of cars, team liveries, and upgrades on rejoin, you only see your BMW M8 GTE, and the option to change upgrade package is no longer available. You simply get your car back!

rF2 Build Update Released 2.jpg


This brings us to another important point and side effect of rejoin errors. Rejoining with the wrong car or upgrade would often cause lags and freezes for all other drivers already on the server as everyone was forced to load a different car in real-time while on track (instead of the car that got parked in the garage when you disconnected).

“AI Take Over” and Driver Names Stuck in the Pit Menu
A recurring issue we’ve seen is when a driver swap takes place, the AI would suddenly take over the car without warning.

This was caused by trying to hand over the car to a team mate that was no longer a passenger or even on the server at the moment of the pit stop. By default rFactor 2 was then configured to let the AI take over. This turned out to be a bad idea and we altered the code to no longer do this. This means that from now on, if the driver taking over is no longer present, you will retain the car at the end of the pit stop. This will allow you to keep racing and retry a driver swap with your team mate without AI taking over and ruining your race.

When selecting a driver in the pit menu, names of any passengers would stay stuck in the list and would be select-able regardless of whether they had left the server or stopped riding with you. This meant you select your team mate in the pit menu, they leave the server or stop riding with you, but their name stays in the pit menu and can be selected. This caused multiple issues: On disconnection/rejoin you would often end up with a DNF, and if a name of a driver was selected that was no longer riding or had left the server, the AI would take over. We’ve fixed this issue by simply removing any drivers from the pit menu list that are no longer riding with you (as should have been the case all along).

Disconnection/Rejoin with Passenger(s)
Disconnections while another driver is riding along, either waiting on a driver swap or having just completed one, would end in a DNF on rejoin. For example, you’re driving on track, your team mate is riding with you and you get a disconnection. On rejoin, you’re not able to race again and your team mate’s name is now showing in the list as a driver with a DNF. We fixed this by making sure that on disconnect/rejoin only the current driver retains the car, all other teammates simply stay registered as ‘passengers’ and are not considered a driver until an actual driver swap takes place.

Pit Menu Parameters Locked After Rejoin
Yet another issue we looked at and were able to fix was the sudden inability to toggle pit menu options after rejoining. This was particularly a problem if you experienced a disconnect with very little fuel and could not request more fuel in the subsequent pit stop, ultimately you would run out of fuel and end the race with a DNF. All allowed in-car pit menu options should now be open to selection on rejoin.

Steam Integration Improvements
As part of our ongoing profiling process based on logs sent to us by users, we have also discovered that the “real-time” API functions that Steam provides could cause small hiccups. We technically solved that by internalizing the original plugin and making sure we execute such functions on a background thread so they can never interfere with our physics loop. This change is done both client and server-side and it means you will no longer see a SteamPlugin.DLL in your plugins folder (and we’ve made sure that if it is still there by accident, it gets ignored from this build onwards).

Faster Loading Times
Last but not least, we also spent some time profiling and optimizing the track and car loading process. Internal tests have shown improvements in the range of 30-50%, which should help people in general. Faster loading obviously also means you can rejoin quicker, losing less time overall.

What’s next?
Build 1114 is the first of two scheduled releases to address the issues we found. We decided to split the process in two, concentrating on the major bugs first and then addressing the smaller ones. We thought it was important to get an update into everybody’s hands as quickly as possible, but only after making sure we could not break this build anymore. As always we encourage people to update both their dedicated servers and clients and report any issues. We are heavily committed to getting this right and continue to improve the online experience in rFactor 2. We expect to have an update on those issues next month, but again, we’ll take as much time as we need to ensure these minor issues are also completely gone.


rFactor 2 is a racing simulation exclusively available for PC.

For more news from the world of rFactor 2, check out the RaceDepartment rFactor 2 sub forum and join in with the community discussion. If you like racing in a clean and fun environment online, why not check out the RaceDepartment rFactor 2 Racing Club? Get yourself in on the action!


Like what we do at RaceDepartment? Follow us on Social Media!



 
 
Last edited:
And you're clearly out of reality of rFactor2 history...

Probably "when the time is right" is sooner than you think but they can't tell you because it implies some other leak info they don't want to give you right now...

"The time was right" for AMS and R3E a long time ago despite neither being around as long as rF2, and neither Reiza nor Sector 3 had to wait for a years-old problem to blow in their face during a big event to fix only a small handful of issues despite years of complaints and bug reports. What's rF2's excuse?
 
Last edited:
Most of you will probably know that I've been simracing for quite some time now. My online racing career started with Grand Prix Legends and I still vividly remember when we (the community) found out that we could simulate driver swaps in NR2003 by disconnecting from a server forcibly and having another driver rejoin in your place with the same profile. At that point I formed a team of friends (Simracing For Holland) and we started competing in endurance events.

When rFactor was released, they introduced a mechanism to do driver swaps. Unfortunately the feature turned out to be quite flakey, and there also was no way to rejoin. That prompted me to write an external scoring and management system to run endurance races in a practice session. The code was open sourced and I personally helped a few leagues run the system. That code even contained a mechanism to resume from a server crash.

When rFactor 2 was released, the whole system slowly started to become obsolete, even though at first we still used it (also here to run the first endurance events for RDLMS). In all those years, as a user and tester of ISI products, I have asked them to fix these issues.

The problem has always been that even though these issues happened regularly, nobody could reproduce them on demand. If you've ever done some programming, you will know that it is very hard to track down a bug if you don't have a step by step plan to reproduce it. So whilst as a user I found it highly annoying that ISI was not able to fix these issues, as a programmer I understood why and over the years I spent a lot of time trying to figure out such a reproducible scenario. Even when, years later, we took over the development of rFactor 2, we still did not know how to fix these issues.

Fast forward to the 24h. Obviously, since we organized this event, we were gutted to have to cancel it. Not just because of Max, a lot of teams had spent a significant amount of time to prepare. Personally I traveled to Germany to race at sim4race (many thanks for having us). After the event though, with the data we now had because we hosted the event and because many of the teams really took a lot of time to help, we were FINALLY able to reproduce some of the issues. At that point I realized we finally had a good shot at fixing the bugs so we spent the next couple of weeks with a team of developers and testers. The first part of the result of this is the release we just did. I think it's a big help. There will be a second release that addresses a few more minor things we discovered, but that could wait until after this one was released.

So... my point... I disagree with the observation that we ignored these issues so far. It is also not "because of Max". We finally found a reproducible scenario. That's what happened and I am very glad we did. :)
 
You're missing the fact that Studio397 weren't around 6 years ago and you're missing the point about the AI already being very good for years, this thread and people finding SOMETHING to moan about is...just nuts!
The AI performance has since been relegated down the ranks. Rfactor 2 was once considered the pinnacle in the sim world, now I consider it knocked off from the trump card, that's a shame.
 
Most of you will probably know that I've been simracing for quite some time now. My online racing career started with Grand Prix Legends and I still vividly remember when we (the community) found out that we could simulate driver swaps in NR2003 by disconnecting from a server forcibly and having another driver rejoin in your place with the same profile. At that point I formed a team of friends (Simracing For Holland) and we started competing in endurance events.

When rFactor was released, they introduced a mechanism to do driver swaps. Unfortunately the feature turned out to be quite flakey, and there also was no way to rejoin. That prompted me to write an external scoring and management system to run endurance races in a practice session. The code was open sourced and I personally helped a few leagues run the system. That code even contained a mechanism to resume from a server crash.

When rFactor 2 was released, the whole system slowly started to become obsolete, even though at first we still used it (also here to run the first endurance events for RDLMS). In all those years, as a user and tester of ISI products, I have asked them to fix these issues.

The problem has always been that even though these issues happened regularly, nobody could reproduce them on demand. If you've ever done some programming, you will know that it is very hard to track down a bug if you don't have a step by step plan to reproduce it. So whilst as a user I found it highly annoying that ISI was not able to fix these issues, as a programmer I understood why and over the years I spent a lot of time trying to figure out such a reproducible scenario. Even when, years later, we took over the development of rFactor 2, we still did not know how to fix these issues.

Fast forward to the 24h. Obviously, since we organized this event, we were gutted to have to cancel it. Not just because of Max, a lot of teams had spent a significant amount of time to prepare. Personally I traveled to Germany to race at sim4race (many thanks for having us). After the event though, with the data we now had because we hosted the event and because many of the teams really took a lot of time to help, we were FINALLY able to reproduce some of the issues. At that point I realized we finally had a good shot at fixing the bugs so we spent the next couple of weeks with a team of developers and testers. The first part of the result of this is the release we just did. I think it's a big help. There will be a second release that addresses a few more minor things we discovered, but that could wait until after this one was released.

So... my point... I disagree with the observation that we ignored these issues so far. It is also not "because of Max". We finally found a reproducible scenario. That's what happened and I am very glad we did. :)

I should point out that my observation that " it took a marqee event with Max Verstappen to go belly up for a bag full of historical problems to be finally addressed in double time ... Valtteri Bottas etc" was intended to be slightly tongue in cheek and humorous, humour being used to raise a wider point.

Like the overwhelming majority of people here I am fully supportive of the work you are doing and perfectly realise there are only so many hands on deck, so many hours in a day, so accept that you previously didn't have the required data to address the issue. That however does nothing for me but raise the issue of why you haven't addressed bug reporting on the software side as everyone has known these were ongoing issues? It can't be right that you are dependent upon people taking the time out to send bug reports on your forum randomly and intermittently?

Yesterday I watched an rF2 stream, and the following happened ... see around 1hour 57mins

Again, this is a bug/network issue I've witnessed before. From your reply, it may not be possible to address as you do not have the data. It therefore strikes me that automated or easy to use bug reporting via the software might be advantageous to everyone.

And I hope you do not overlook the wider point my post was making. While it's seems obvious at the moment that resource is split between the UI and DLC, once the former is out of the way I hope you will consider some of the long standing complaints, particularly for single players whom I'm sure will still make up the majority of your player base. It's one thing to work toward having a solid esports platform (the right decision given the current flavour in the industry), and I hope that benefits everyone and entices new players, I'm certainly looking forward to it though I have my sensible expectations on and look forward to evolution rather than revolution. However there will be many who feel this focus is with regard to long time league racing users (such as yourself) and forgets about the player experience for a first time user who will undoubtedly jump into an offline race and many who use the sim regularly for those purposes. While I'm sure it's frustrating to have the same criticisms made about A1, slip streaming, wet weather behaviour etc etc, these lone voices are conduits to others experience, often the ones who don't complain, but equally the ones who don't return.

And again, good work on getting on top of the disconnect issues.
 
Last edited:
The AI performance has since been relegated down the ranks. Rfactor 2 was once considered the pinnacle in the sim world, now I consider it knocked off from the trump card, that's a shame.

I totally agree, it was King but other Sims have caught up and perhaps surpassed it, no denying that. But alas that's where priorities changed when S397 took over, their direction is their direction and I - for one - fully understand the need to focus energies on other tasks, hence my line "when the time is right" for the development team to look into AI they will.

Until then we'll have to make do with the (stagnant) AI as it is has been for a few years, which is by no means suddenly rubbish over night just because it's gone largely untouched (new tracks and new cars obviously have AI work done to them), it's still a good AI experience the same as it ever was.
 
I should point out that my observation that " it took a marqee event with Max Verstappen to go belly up for a bag full of historical problems to be finally addressed in double time ... Valtteri Bottas etc" was intended to be slightly tongue in cheek and humorous, humour being used to raise a wider point.

I did interpret it as that, my comments were more in general. I would love to get Bottas in a race though! :D :D :D
 
FFB strenghts is per car adjustable already for a long time. Every new car it loads starts on FFB strength of 1. Mostly lower it to around 0.60 (on my big mige)
Global FFB strenght you set in your driverpanel of the steeringwheel.
I just have mine set on as strong as i want it to be in general.
Than lower the force per car.

Prior to a race, go to Options and you can pick or set profiles in advance there so when you get into the race, your steering is already set. Has been this way for a long time now.
 
Prior to a race, go to Options and you can pick or set profiles in advance there so when you get into the race, your steering is already set. Has been this way for a long time now.
You guys are still not getting the point, that i was trying to make...so AGAIN:

Why not including a working GLOBAL FFB option to set up a value for EACH car in the first place like every other sim has, so you set a value once and it will be set for every session and every car (The value in the options is car dependent, not global in rF2.) = Has been this way for a long time now in the known racing sim world.
Like i said, i don't want to start another UI discussion here, but something like this again...i dunno, if you ever played another racing sim in the last 15 years.

Edit: this sounded way more harsh, than i want it to be :roflmao:
 
Last edited:
I set a Global FFB value in rFactor 2 of 1.00. Thereafter I set-up individual cars in the SimuCube software as required, normally in the 25% - 35% FFB range. I do this for 2 reasons:

a) It's easy to change car FFB settings as I can switch between rF2 and the SimuCube software quickly; and

b) I deliberately run 100% FFB settings in every game and low power settings on the SimuCube, so in case there is a spike or unexpected event, the wheel won't react as violently.

This is perfectly fine for you, but i and also many other people have no simucube and i am also playing other sims, where variation in the FFB for these several sims gives me more profitable results in terms of feel, preventing oversaturation and so on, than giving the profiler the overall global setting (or car dependend profile) instead of possible ingame global setting, it's quite nice to do it in the sims.

So again: Why is there not the possibility for non-DD users(f.e), to have a global setting in the game? There is nothing taken away from you or other Simucube users, you could still use car dependent values by your liking, while other methods are becoming more easy to handle.;)

There is no point for me, to change my standards of operation, just because of rF2s way of handling things.
 
If I understood correctly you have 100% ffb in profiler and then you set each car in game at 0.76?
Wouldn't it be easier and same result if you just set up profiler at 76% and leave in game multiplier as is at 1.00?
It would be easier, if i would be just playing rF2. But i'm not.

Btw: Profiling several games with the LGS Profiler in Win 10 doesn't work quite good because of Windows' account management or something, you have to start the game over the profiler, to get the game dependent profile to work and so on...than there is the administrator thingy with sims like GTR2 + anniversary patch (has to be runned in admin mode), where you have to run the profiler in admin mode too, but this would break the working with other games again (automatic wheel rotation setting) and so on, but this is somewhat of a mod, so i understand this dedicated thing way more, than a vanilla game release.

So leaving it on 100, setting global ingame to my preferred value works fine. (Each game works better with different values)
Why should i change something, because of one sim that doesn't provide a feature, that 7 other sims i use (some of them WAY older than rF2) do. I see no point in this.
 
Last edited:
I also use Logitech profiler and Win 10 and haven't encountered any issues with several games. Only thing as you said is that game needs to be launched from profiler but no problem with that.
Regarding different accounts, admin rights etc I suggest you to create different shortcuts for each account, should be easy solution or am I missing something?

Btw if none of this is good for you then you can probably easily set desired values in controller.json.

One more thing, do other games have car specific multiplier?
Can't remember now.
 
also use Logitech profiler and Win 10 and haven't encountered any issues with several games. Only thing as you said is that game needs to be launched from profiler but no problem with that.
Regarding different accounts, admin rights etc I suggest you to create different shortcuts for each account, should be easy solution or am I missing something?
This is the way to go, for the admin thingy, yup i know.^^

Btw if none of this is good for you then you can probably easily set desired values in controller.json.
This is the thing! Why isn't it possible to do it (globally) in the options menu, but by editing a text file? #justRF2things #ihatehashtags:D
One more thing, do other games have car specific multiplier?
Can't remember now.
R3E has car dependent multipliers, but also a global FFB value slider as foundation to adjust it by your liking in the first place. ;)

AC also has an option, but i use it only for very high downforce cars (+/- on the numpad)

In AMS, you can change RealFeel values on the fly, but never needed it.
 
Last edited:

Latest News

What's needed for simracing in 2024?

  • More games, period

  • Better graphics/visuals

  • Advanced physics and handling

  • More cars and tracks

  • AI improvements

  • AI engineering

  • Cross-platform play

  • New game Modes

  • Other, post your idea


Results are only viewable after voting.
Back
Top