[WIP] Live Timing, Session Results, Track Rendering & League Management [Discontinued]

I should install the latest beta on your server mate since you're one of the best testers out there [emoji14] Let me iron out the last few bits and pieces and we'll install in on your server shall we?

Note though that many goodies you asked for are not done yet since I was busy (focusing on fixing bugs atm) :)
ERM, I thought I was the best! :) :)

Sent from my Nexus 6
 
I should install the latest beta on your server mate since you're one of the best testers out there :P Let me iron out the last few bits and pieces and we'll install in on your server shall we?

Note though that many goodies you asked for are not done yet since I was busy (focusing on fixing bugs atm) :)

Sounds like a good plan :)
We'll arrange a time when you have it ready.
 
If you want give me RDP or Teamview access to your server and I can check what the problem is :)

there is no problem so I look at what was wrong, but I wanted to know if the database had to be necessarily the server or you could use the site

Sent private message data for access
 
Last edited by a moderator:
Yes, the database is a must. What would you like me to check for you?

Sent from my GT-I9300 using Tapatalk
 
First grab the IP address and HTTP port number of a server from the MM json and then query it's sessioninfo like this:
Code:
http://<IP>:<HTTPPort>/SessionInfo/

Note that this URL is case sensitive and must include the final "/" or else you get a 404.

That will return a json response. In that json you will find "package_name" which is the vmod filename. Now you download the vmod like this:
Code:
http://<IP>:<HTTPPort>/Mods/<package_name>

Note, this URL is also case sensitive.

After you get the vmod in hand you can use modmgr to install it into a temp folder like this:
Code:
modmgr.exe -i"<pathToVmod>" -o"<pathToTempFolder>"

Now open <pathToTempFolder>\Manifests\*.mft and you will see the component list.


Hi Noel,

Finally I found some time to experiment with this and surprisingly it worked! I managed to get the server/mod info, download the mod file and then generate the manifest file and finally....also install the mod automatically.

Will try to implement this in the match maker website I did, but at this stage not yet 100% how it will all work. I think the plan is to have the user download a client app which runs as an app in windows taskbar.....this app will listen to a socket connection on a specific port...then from the web I will open a web socket and communicate with the desktop app which will do all the work...

Lets see, it might work, but I've seen many servers with missing mod package names, download links etc so I am not expecting this to always work 100% unless these guys that host the mods do it properly.
 
Live Timing, Session Results, Track Rendering &amp; League Management

That is how I did it. I wrote a windows service that is a very basic HTTP server that listens on 127.0.0.1 and then the website can query this webserver to get an inventory of installed sigs and instruct it to install a sig by passing it the GetMod URL. It also had a way to query the download progress so the website could have a progress bar too.

But yeah this will still rely on server admins making use of GetMod.

The one missing part is we need a way to join from the command line. Even if it's just a command line option on the launcher which can still validate your license before calling rfactor2.exe.
 
Exactly! Though I think the users would prefer a windows app running in the task bar. As for example, the modmgr takes as params the rfactor2 install, the packages folder etc....so if its a windows service these can only be set through an INI file (nothing wrong with this really) while if its a little desktop app the user can choose where to install the stuff visually.

Did not know you did it through the web..I thought you did it for that Server List program you are doing.
 
Exactly! Though I think the users would prefer a windows app running in the task bar. As for example, the modmgr takes as params the rfactor2 install, the packages folder etc....so if its a windows service these can only be set through an INI file (nothing wrong with this really) while if its a little desktop app the user can choose where to install the stuff visually.

Did not know you did it through the web..I thought you did it for that Server List program you are doing.

I took the idea from iRacing. Theirs runs as a service too. But they also have a more controlled environment where you don't have 5 different installs all over your disk. So yeah having a GUI is probably the way to go.

I only made the backend for a web server. I had a very basic web page for testing but that is it. As I've said before, I suck at web dev. Hahaha. So it ended there.
 
I took the idea from iRacing. Theirs runs as a service too. But they also have a more controlled environment where you don't have 5 different installs all over your disk. So yeah having a GUI is probably the way to go.

I only made the backend for a web server. I had a very basic web page for testing but that is it. As I've said before, I suck at web dev. Hahaha. So it ended there.


Yeah, iRacing is a windows service which in a way I like as the user does not need to mess around etc...but rF2 is not in a controlled environment unfortunately...

Since many do not include download links etc and mods are all over the place, I will toy around with having an online repository where everything is uploaded there, and labeled with the right mod name, version, dates, etc etc...so then users will always find the mod to download..which will go hand in hand with the online web match maker...

Downside of this:

1. I required lots of hard disk space + bandwidth
2. Modders/creators have to upload the content they create

Lets see...
 
Live Timing, Session Results, Track Rendering &amp; League Management

My database has tons of URLs to a lot of main stream components. But I never wanted to share people's private URLs. A lot of leagues have their own web hosts that they don't want to share with others. But I thought about adding another column to the table called public. Then when someone registers a component in my database they can also make it public if they want. Then it could be thrown into a generic pool for that sig. So then if an admin fails to add a GetMod URL it could fall back to a generic URL which would query the public pool for that sig.

ISI should do this IMO. So much of the mess with joining servers could be improved without too much work. My GetMod database is something ISI should be doing. It consumes very little resources on my server. All it does is a 302 redirect. ISI could also have a default GetMod URL that points to their own database of components that are flagged as public.
 
My database has tons of URLs to a lot of main stream components. But I never wanted to share people's private URLs. A lot of leagues have their own web hosts that they don't want to share with others. But I thought about adding another column to the table called public. Then when someone registers a component in my database they can also make it public if they want. Then it could be thrown into a generic pool for that sig. So then if an admin fails to add a GetMod URL it could fall back to a generic URL which would query the public pool for that sig.

ISI should do this IMO. So much of the mess with joining servers could be improved without too much work. My GetMod database is something ISI should be doing. It consumes very little resources on my server. All it does is a 302 redirect. ISI could also have a default GetMod URL that points to their own database of components that are flagged as public.

Noel, the experiment is going extremely well...

But now that I downloaded the mod and opened the mlt file I get this for example (only parts of the file are shown):

The first component I do not have but the second I do have it installed.

1. How can I tell from this if I have it installed or not? Guess I need to check somewhere else???
2. As you can see URL for first component is missing, that means I cannot install this mod unless I'll check in my "repository" (which does not exist yet of course)


Thanks!

[Component]
Name=BATHURST 2014
Version=1.1
Type=1
Author=
Origin=0
Category=0
ID=
URL=
Desc=
Date=1424140708
Flags=3149840
Signature=1952be85f76c513aeb9a19d1768aca3d5e9840b9951234fd9715cffb2a11ef5a
MASFile=BATHURST 2014.mas c02c908c0d0a2b85869afd29e4777ce29d387acdfc2abbdc44a52b38fd6be3b5
MASFile=BATHURST 2014_gmt.mas f97d877ada9c35e8ec65800bc11ec1b1ab45bd0d3518baa21fd5f30325abb250
MASFile=BATHURST 2014_main.mas 83a3aebb1772affe3f5bfba07a71020b7c9134122f872f10466e1077099bf568
MASFile=BATHURST 2014_maps.mas e731841a5578d1e597a8ef49b3df7fa3dffdc267e0c0479570ff111632eb8596


[Component]
Name=BMWE90_WTCC0608
Version=1.0
Type=2
Author=Slow Motion RFE
Origin=3
Category=10
ID=
URL=http://getmod.srrs-racing.net/getmod.php/Slow Motion
Desc=Updated to rF2, rF2 setting & new tires by Slow Motion RFE, supervised by Nicola Acciarri RFE - Several 3D upgrades by Alessio Contardi - ORIGINAL MOD for rFactor1 by Amstaff and www.RACESKINNING.de guys based on 3d model made by Thome for GTR2. Many thanks to the ISI community for helping in improving the mod and testing.
Date=130621049551610000
Flags=3149840
Signature=7a261ee3b2f5f223ac136b7ceb9de7f7e180869bf31381654ea044baa2319ba7
MASFile=BMW_E90_Main.mas 4e1150de1dd5a20f0a7a6415c0d7e0e70271f9c7c89bc8f21604158726a8ded7
MASFile=BMW_E90_Mas.mas 08cb2b18eef5a1c66313f95a5b6931fc4da0d3af1c71dc5387b87e23b1307c7d
MASFile=BMW_E90_Sounds.mas 364b1d25873a15af8901dee05a1ed28a5dd0e78e613105f394af328d616ab378
MASFile=BMW_E90_Team.mas 4be2207b9c8e00d1fcbac41b01f24dda67679394ebd83ee2208cda164efeb9db
 
You just have to recursively scan the Installed folder for *.mft and parse all of them to build a list of sigs. You don't need to know the name or version of a component. The key is the sig.
 
Back
Top