• Please be sure to read the troubleshooting guidelines and the General FAQ before creating a thread.
    Please also be sure to see related threads to your issue, a solution may already exist.
  • Rigs of Rods 2022.12 has been released! Get it here.
  • We are excited to announce that our forum has undergone a major upgrade to XenForo, bringing us up to date with the latest features and improvements after two years!
    As with any significant upgrade, there are a few changes still taking effect. You may notice some features not working as expected while we complete the final adjustments. We appreciate your patience and understanding during this transition period.

multiplayer/races

Solution
It became too unsustainable to maintain. I’m considering other options to replace this feature in the future, taking into account the current size of our active community.
It became too unsustainable to maintain. I’m considering other options to replace this feature in the future, taking into account the current size of our active community.
 
Solution
OK

I've gathered some thoughts on this.

Currently:
- The client has a scripted race feature
- Whenever the race completes, it sent some data to a an API endpoint where we would store that data
- It would display here on the forums

The issue:
- It was enabled by default, so people doing races would unknowingly send tons of race data
- People who knowingly kept it enabled would also send tons of race data even when they didn't want to as it would send automatically
- It didn't verify who it was coming from, just a username
- It didnt check hashes, so any mod that started from point A and ended at point B could send data which would sometimes appear as starting time 0 end time 0.

Solution:
- Mod whitelist, only mods on this list can be used to compete
-^ This also applies to terrains, only certain terrains can be competed with
- A user must have their user token (or logged in, feature is complete just not a priority)
- Verify mod hashes
- Develop a portal that features standing, competitions, etc

Of course, this is just an idea (all of it pretty nobrainer). It wouldn't take too much man power, but our current cloud infrastructure has been scaled back a lot so that would also need to be looked into as well.
 
Hi, this is probably good moment to share my plans for the race system. I want to make a complete terrain editor in the near future, and I want it to include race editing, and I want the upcoming release to be able to play those new races. Problem is, currently races are defined in script code, which theoretically gives flexibility but in practice just makes people dependent on code generators. Conclusion: I will extend the race system to read definition files with syntax similar to Tobj. I already have a proof of concept script which converts existing races to Def files.For illustration:
Code:
// terrn2 file
[Races]
DragRace.race
Slalom.race

Now, quick thoughts about integration with the forums:
* I think it's time to add a login box to the game, to use with the forums account
* I'm not experienced with this, but Curl can do SSL (TLS?) requests and the rest is basically same as the old token system, just automated
* Does XF have API for this? Is some custom extension needed?
* Apparently this would match race times with users and provide other moderation options.
 
Hi, this is probably good moment to share my plans for the race system. I want to make a complete terrain editor in the near future, and I want it to include race editing, and I want the upcoming release to be able to play those new races. Problem is, currently races are defined in script code, which theoretically gives flexibility but in practice just makes people dependent on code generators. Conclusion: I will extend the race system to read definition files with syntax similar to Tobj. I already have a proof of concept script which converts existing races to Def files.For illustration:
Code:
// terrn2 file
[Races]
DragRace.race
Slalom.race

Now, quick thoughts about integration with the forums:
* I think it's time to add a login box to the game, to use with the forums account
* I'm not experienced with this, but Curl can do SSL (TLS?) requests and the rest is basically same as the old token system, just automated
* Does XF have API for this? Is some custom extension needed?
* Apparently this would match race times with users and provide other moderation options.
It's very much so possible to login with a forums account, see this 2 year old branch (with 2 factor!)

The issue is that XF RESTful API isn't really meant for that type of integration, see it's docs on API keys that are made in the ACP. Trying to make an addon for this would difficult to maintain especially if we fall behind on XF updates then try to catch up -- something always breaks in the process. It also poses some security risk as we're exposing a lot of what is meant to be for closed communication between 2 APIs out into the open.

However, recently XF introduced SSO with OAuth 2 which does open up some possibility for a more secure way to approach this issue. My proposal is to create sort of like a "Multiplayer Portal" outside of these forums that acts as sort of a way to create a multiplayer account (while it still being linked to your forum account through OAuth being the only way to sign up) and see server, race, and event activity.

While it would be nice to implement OAuth2 into XF, I'm not sure how feasible it is with our open client as a secret key needs to be exchanged and potentially the browser is involved. A multiplayer portal and its own form of auth/login while still being linked to XF through officially supported means poses the least amount of risk (our XF public/private token won't be needed, if someone rogue gets access to someone's token they won't be able to access anything personally identifiable through XF because the token was issued and managed via the portal, etc..)
 
I think one problem which the races features kind of solved was that in multiplayer there isn't a way to easily get peoples times from a racing pass. The races feature solved this a little bit by allowing an event admin to go to the site and see their racing time. This also had the added benefit of confirming that they had the right truck hash.

Another solution, which may be a lot easier than bringing back the races site, would be an option to have racing scripts just post lap times in chat. Then when a league event gets run we don't need to jump through hoops to find out what lap times people run, it'll just show up in chat for everyone.
 
Back
Top