Skip to content

How to create or update a car profile

Jeffrey Gilliam edited this page Apr 30, 2018 · 5 revisions

Although I have good intentions of keeping up to date with all the SIMs that I could be supporting one day, I know that day will come where I cannot keep up. That's where you, the community, will have to pitch in and help out me and all the other users. So, here are the steps to create or update a car's profile and make it available for others as well as yourself.

Base Profile or Existing Profile

The base profile is what SIMRacingApps will load first. Then the SIM's profile will be merged with the base, replacing the entries that match. This means to create a new profile for the SIM, you only have to have entries that are different from the base. The profiles can be found at the following links.

  1. BASE = https://github.com/SIMRacingApps/SIMRacingAppsServer/blob/master/src/com/SIMRacingApps/Car.json.
  2. iRacing = https://github.com/SIMRacingApps/SIMRacingAppsSIMPluginiRacing/tree/master/src/com/SIMRacingApps/SIMPlugins/iRacing/Cars

Create SIM specific folder

Each SIM will have it's own set of car profiles. Given you know the SIM's name, create the following folder structure:

Documents/SIMRacingApps/com/SIMRacingApps/SIMPlugins/{SIMName}/Cars

iRacing (as an example)

The folder structure for iRacing is

Documents/SIMRacingApps/com/SIMRacingApps/SIMPlugins/iRacing/Cars

Create Car's Profile

Copy either the base profile or an existing profile to "Cars" folder you just created. Name it according to how the SIM names the car. Leave the .json extension on the file. For example, vwbeetlegrc.json. To find out how the SIM names the car, look at the SIMRacingApps server log after loading that car into the SIM.

Modify the settings

All of the gauges are defined in this file. Here is an example of the WaterTemp.

{
    "Copyright":   "Copyright (C) 2015 - 2017 Jeffrey Gilliam",
    "License":     "Apache License 2.0",
    "Description": "An Unknown Car",
    "MfrLogo":     "com/SIMRacingApps/Cars/default.png",
    "Comment":     "The defaults are based on the Gen6 Chevrolet SS at Texas Oval. A basic 1.5 mile track",
    "Gauges": {
        "WaterTemp": {
            "default": {
                "Name":              "WATER",
                "TypeName":          "TEMP",
                "UOM":               "F",
                "imperial":          "F",
                "metric":            "C",
                "Minimum":           100.0,
                "Maximum":           300.0,
                "MajorIncrement":    20.0,
                "MinorIncrement":    10.0,
                "StateAscending":    true,
                "States": {
                    "CRITICAL": {"Start": 266.0, "End": 99999.0},
                    "WARNING":  {"Start": 240.0, "End": 266.0}
                }
            }
        }
    }
}
  1. Description: The description of the car if the SIM doesn't provide one.
  2. MfrLogo: A relative path to the manufacture's logo. Try to keep this in one place for all SIMs at com/SIMRacingApps/Cars.
  3. "Gauge": { "default": ... } - The default section under the gauge is for the track that these settings apply to. All gauges should have a "default" track and possibly other tracks as well. I've seen where the values for a car will change based on the track you are running the car on. This facilitates being able to define it to that level.
  4. Name: The name of the gauge. Shown on all guages
  5. TypeName: Addition information that could be show on a gauge.
  6. UOM: The unit of measure that these values are in.
  7. imperial: The unit of measure to show if SIM is not in metric.
  8. metric: The unit of measure to show if the SIM is in metric.
  9. Minimum: The minimum value the gauge should display.
  10. Maximum: The maximum value the gauge should display
  11. MajorIncrement: How often to show the major(longer) marks on the gauge.
  12. MinorIncrement: How often to show the minor(shorter) marks on the gauge.
  13. StateAscending: true if goes from WARNING state to CRITICAL state by increasing valuse. false if decreasing.
  14. States: A list of "Start" and "End" pairs of that gauges will use to show different colors or blinking. "Start" is inclusive and "End" is exclusive. Different gauges have different states that you must define. Sometimes, the SIM can provide these values and will overwrite yours.

JSON Validation

It is easy to get the syntax of JSON wrong. I use, https://jsonlint.com, and paste the contents of the file and select "Validate JSON". It will let you know where the problems are.

Testing

To test the profile the SIMRacingApps server must be restarted after each change. Load up the gauges and get in the car and test them. Try to force the gauges into each of their states, such as overheating.

Distribution

To distribute the profile to others, follow these steps:

  1. From File Explorer, navigate to your Documents/SIMRacingApps folder.
  2. Verify the only thing under the "com" folder are the files you want to distribute.
  3. Right click on the "com" folder and select "Send to -> Compressed (zipped) folder".
  4. Rename the com.zip file, that it creates, to the car's name with a ".sra" extension. For example: vwbeetlegrc.sra
  5. On the Facebook group in the files section, http://facebook.com/groups/SIMRacingApps/files, select Upload File and select the .sra file you just created.
  6. Give some instructions to on how to apply the profile, by loading it from the SIMRacingApps menu at the very bottom.

Thanks for you help

You can’t perform that action at this time.