Results viewer

Results viewer lets you select and view any log file from your rFactor2\UserData\Log\Results directory.

Also you can:

  • Refresh - press this button to rescan directory for new log files
  • Clone to edit - create an editable copy of this log file
  • Edit - edit cloned file: change driver name, position, finish status, disqualify or add time penalty. See "Editing results" below.
  • Export report - export session results to static html file
  • Open selected .xml - open selected .xml file in browser
  • Remove selected - remove selected .xml file (file will be moved to rFactor2\UserData\Log\Results\temp directory)
  • Select multiple - to delete multiple logs, this will show checkboxes for multiple selection. Select, then press "Remove selected"
  • Remove logs with no time set - remove all "empty" .xml files where nobody set laptime (files will be moved to rFactor2\UserData\Log\Results\temp directory)
  • Compare all logs for this car and track - open separate view with all logs for this car/track only

Championship manager

  • manage your online or offline championships
  • support for teams and classes
  • teams can be automatically selected from CarType, CarClass, TeamName, VehName tags or created and assigned manually
  • classes can be automatically selected from CarType, CarClass, TeamName tags or created and assigned manually
  • support for drivers moving between teams and classes at different races during championship
  • customizable points system for 50 places, plus bonuses for pole position, fastest lap, one lap led and max laps led
  • points presets for all major racing series included
  • driver statistics for championship
  • car statistics selectable by CarType, CarClass, TeamName, VehName tags
  • customizable minimum distance for classification, number of team cars that awarded points, number of worst driver results in championship that won`t be counted
  • support for manual race points override, in case of penalties, disqualifications, custom bonuses, etc.
  • export of championship tables to html
  • transfer your championships between r2la versions by importing r2la_settings file
  • if racing with AI, you have to ensure by yourself consistent driver names and performances at every race during championship
  • do not delete .xml logs that you assigned as results for races in championship, they are accessed every time you browse championship
  • Race can have long race name and race country. Press "Edit race" then "Edit more race settings" to set them. Long name is used for race select buttons if defined. Short race name will be used anywhere if long name is not defined, and only in tables if long name is defined. Country flag will be displayed in championship tables. You can add your flags if you need, their names are read only at the first start of clean r2la, put them in web2py\applications\r2la\static\images\flags folder before you start r2la for the first time. Flags are from gosquared.
  • You can add background image for championship page and/or for championship top panel. To do this, put .jpg files into web2py/applications/r2la/static/images/championships/ folder. File name must be championship name, following this rules:
    - if championship name contains spaces, in file name you should replace them with underscore _
    - for page background image file add _bg to file name
    - for top panel image file add _top to file name
    Example: MY_GT3_bg.jpg MY_GT3_top.jpg

Editing results

  • To edit log results, you first need to create an editable copy of this log.
  • Press "Clone to edit" button, that will create a copy of selected log file. Copy will have the same name, but with "E" added to the end. Copied file will be highlighted with the blue color in log selector.
  • Only cloned/copied file will be available for edit. Original file will remain intact.
  • Select cloned file and press "Edit" button.
  • You can Edit drivers result directly or Disqualify driver or add Time Penalty. Time Penalty option is only available for drivers that are on the same lap and have finished the race. You can move any driver to any position manually by pressing "Edit" button, if Time Penalty option is not enough for you.
  • For races with driver swaps you can change driver name to one from the list of swapped drivers for this car with drop-down selector helper. Its useful when you need to select the same driver name for all championship races with swaps.
  • If you change drivers name in race log, do not forget to change this name in Qualy log also and vice versa.
  • Trailing whitespaces in driver names are marked with exclamation-circle icons on editor pages.

Live Timing

For server to output data - you need to download rF2 Shared Memory Tools for Developers, extract rFactor2SharedMemoryMapPlugin64.dll into your rFactor 2\Bin64\Plugins directory, start rF2, go into Options/Plugins and turn ON rFactor2SharedMemoryMapPlugin64. For LiveTiming to work you need to start r2la on server machine by r2la_live_timing.bat file. For LiveTiming to work properly always start r2la_live_timing.bat before you start rF2 session.

Clients don`t need to do anything new, just go to server`s r2la Live page. LiveTiming also works if you use rF2 offline, just install Shared Memory plugin and start r2la by r2la_live_timing.bat.

For rFactor1 and Automobilista you need to use modified version of rFactorSharedMemoryMap plugin. Download it here. Put rFactorSharedMemoryMapDedi.dll into rFactor or Automobilista\Plugins directory. Remove rFactorSharedMemoryMap.dll if you had it there. rF1 mode limitation - human players will have AI status when standing in pits, no vehicle names, no tire compounds info.


  • You will need rFactor2SharedMemoryMapPlugin for rF2. Extract rFactor2SharedMemoryMapPlugin64.dll into your rFactor 2\Bin64\Plugins directory, start rF2, go into Options/Plugins and turn ON rFactor2SharedMemoryMapPlugin64.
  • For rFactor1 and Automobilista you will need rFactorSharedMemoryMap plugin 2.0 or modified version of it. Either one should work for telemetry.
  • r2la telemetry does not feature all data channels. If you need detailed rF2 telemetry analysis, use complete telemetry viewing systems, like DAMPlugin + "Motec i2".
  • To record telemetry data, start r2la by r2la_telemetry.bat. Then start rF2 and as soon as your car leaves the pit lane, data will be recorded. You don't need to start web browser to record telemetry. Telemetry data will be written to r2la database every time you return to pits.
  • You can view list of recorded telemetry laps by clicking "Live" -> "Telemetry" on top r2la nav panel. Click "Open" to open Telemetry Viewer for selected lap.
  • You can pan graphs by dragging them with LMB and zoom with mouse wheel. You can overlay other lap graphs on top of opened one or add another lap graphs to Telemetry Viewer page.
  • Recorded telemetry data will be visible at "Stints" tab in session xml report. Press "Show telemetry data" button there.
  • You can record telemetry for AI car (only for rF2). Set record_ai value to 1 in rF2 Log Analyzer ver. 2.058.5\web2py\applications\r2la\telemetry_settings.json. In-game add 1 AI car in options or on track. When AI car will leave the pit lane its data will be recorded. You have to wait for AI to return to pits for data to be recorded into database.
  • rF1 and Automobilista have some telemetry data channels at 0.
  • While recording r2la telemetry should not have effect on rF2 performance, I do not recommend using it when you are participating in important online events. Better use it for offline test sessions only.
  • Telemetry data is not transferred between r2la versions on updates.

Custom tire compound badge colors

You can change or add your own tire compound badge colors at the end of web2py\applications\r2la\static\css\app.css file. If tire compound name contains white-spaces, you should replace spaces with underscore "_". For example, to select Super Soft tire badge, css class selector must be ".compound-Super_Soft"

r2la DEDI Hotlap Competitions

If you host r2la DEDI, you can create a Hotlap Competitions for your friends/community. Users will be able to submit their times to your competitions by creating a Connection to your server in their local r2la apps. Connection consists of your r2la DEDI server IP address+port or server name, and a password if your r2la DEDI is in private mode.

Track records

Car identifiers

Track records are created for every TrackCourse and car identifier string, which consists of user defined combination of Cartegory (most often first value of the Category list), CarType, CarClass and TeamName. By default every new Category+CarType combination encountered will have CarType as identifier, exept for mods that have identifier combination already preselected by me (ASR Formula`s, F1RFT 2013, AMGT3, ISI`s cars).

For example, ASR Formula`s mods will have CarType+TeamName identifier, i.e. ASR Formula OWC 92+McLaren-Honda, so that cars with different physics had thier own records logged.

You can change car identifier string for any car at any time by clicking on a car name in records table and selecting Change identifier from drop-down menu.

Merging records from identical tracks

Some times physically identical track versions have different TrackCourse strings. For example Sepang track from F1RFT 2013 track pack is the same as ISI`s Sepang track.

You can merge track records for tracks like this. Press options button, then in opened form select tracks to merge.

Live Timing cross-domain ajax request

Added jsonp call at live/get_server_data_jsonp to get Live Timing server/driver data with cross-domain ajax request from your other server (may be used to create live servers/tracks/drivers widget). Data is updated once in 5 seconds, I do not recommend to request it more frequently. Example call:

    url: 'http://your-r2la-address:port/live/get_server_data_jsonp',
    type: 'GET',
    dataType: 'jsonp',
    crossDomain: true,
    data: {},
    success: function (data, textStatus, xhr) {
    error: function (xhr, textStatus, errorThrown) {
Returned data object structure is:
server_names_list: ['Server Name1', 'Server Name2', ...],
server_data: {
    "Server Name1": {
        session: session code (0=testday 1-4=practice 5-8=qual 9=warmup 10-13=race),
        track_name: "Track Name",
        vehicles: [
            {best_lap_time: lap time in seconds,
            driver_name: "Driver Name1",
            vehicle_class: "Vehicle Class1",
            vehicle_name: "Vehicle Name1"},
            { ... },
    "Server Name2": { ... },