The DLLs are written in C++ actually. If I was you guys I would start with downloading the sample plugin from here: http://downloads.imagespaceinc.com/rf2/plugin/InternalsPlugin5.zip The sample takes the scoring data and dumps it to a text file. UpdateScoring used to get called 2 times per sec but I think I remember reading that it was bumped up to 5 times per sec in build 342. So if the sample dll is set to append the txt file (which I think it is if I recall) it will build a big file fast. I haven't had a chance to look yet but if I remember correctly this plugin you guys were using writes data to a MySQL database. What I was going to do is write some basic code for taking the scoring data and writing it to a MySQL db. It should be a good starting point. So you will need to learn some C++ and SQL.
Vmliveliew acts like this : The dll append the data to an xml file There's another binary in charge of mysql loading Not sure if it´s a good idea to load data directly to the db via the dll. For performance reasons. I saw the example.cpp, will try to compile ...
Actually it is best to offload as much as possible to an external process because the plugin API is blocking. If you do too much work in the DLL it will cause framerate drops (on the server too). I actually don't like the idea of writing to a file. My first timing plugin wrote to an XML file (overwrote though) and I had another process that read the XML and then wrote the data to a database. I ended up switching to sending Windows Messages to another process that then wrote to the DB. The Windows Messages literally sent the raw scoring struct via WM. If the second process wasn't running the plugin will automatically return without doing any work at all. The advantage to this design is that the plugin remains static. I never made any changes to it. All the real work was in the second process which I wrote in a higher level language (C#). In the middle of a race I could push a new version to the server without having to restart the server. The second process also has a very minimal HTTP server built in which would serve up XML on demand. So I had a webpage that used Javascript to pull the XML timing data and display that. This was all written for an endurance league (VOR) I have been with for 3 years now. When you have 40 teams doing a 12 hour race with drive swaps you want to make sure your plugin doesn't add too much load. Do you have a sample of the XML data your plugin was generating?
Exactly what I thought. Yeah at home, but just download the plugin from here http://isiforums.net/f/showthread.php/4065-VM-LiveView-Lite-for-rFactor-rFactor2 and launch a dedicated (I think you have to create a folder and perhaps setup a config file, don't remember). Or perhaps Valbuena can send us an xml sample from vmliveview? Your module sounds really better than this "pass thru file" thing !!!
I did a quick port from rF1 to rF2 about 6 months ago and there were problems with it (can't recall what but I do recall it being a simple fix). I need to revisit the project and maybe release the DLL to the public. It will then allow people to make a second process for receiving the data and they can write it in what ever language they want. The only downfall to my DLL is that you can't send WMs to a windowless process (AKA windows service).
should be good enough with a running window Noel ! Your tool seems way better, appart from the problem you don't yet remember The loader rfactorSL.exe is a window too, easier for users Anyway, shouldn't be a problem doin the file stuff in the meantime cause the author just used the internalplugin.dll removing unuseful stuff inside. I'll have a look tonight, the internalsamples do compile here at work using VS2010. Do you think we have to use VS2012? Thanks very much for your help cause I think without this vmhotlaps.dll : there are loads of leagues without proper hotlaping system !!!
Excellent your system Noel Especially it should not restart the dedicated server to modify the plugin , it's a great system.
Sure i had a look to what is produced by the dll and what is produced by the internals template : too complex for me !!!
If you know any plugin makers in that situation, tell them to take a look: http://rfactor.net/web/rf2/devscorner/ We did announce and share it when it was posted.
Since yesterday i´m getting "connection lost" in very short intervals. I´m not able to do even 10 min without loosing connection (but most of time in just 2 or 3 min). Sometimes before loosing connection (Isi servers and non Isi servers), appears in screen the word "synchronizing". Already tried reset modem, log out from rf2 then log in again, restart PC. Nothing helps. Please help.
I had problem serverside too with antivirus (with arma3 dedicated server - not rfactor2)... But sometimes it filters a bit too much ... You're playing with an ethernet cable or wifi ??
Wifi. Look what happened now. I entered in a ISI server (open wheel) when restart weekend take place. But had to check out one of my dogs and missed practice and qualify. When i come back the race already start (no connection lost during this period) but when i leave pits, as soon i get on track i got another connection lost. This is pretty strange.
Well : first try with an ethernet cable You should avoid wifi online, it introduces loads of lag so that´s not good for you AND for the other players. Try this first then come back. Thanks