PDA

View Full Version : Customizing Car Classes



The Iron Wolf
19-03-2017, 17:08
In order to improve support of moddable games, we've added a carClassData.json configuration file. File is usually located in the Crew Chief installation folder.

If you want get down to business of customizing Car Classes, you can skip straight to "carClassData.json file explained" section.

Why would I want to customize car classes?
The main reason to care about car classes in Crew Chief, is to enable good CC experience for modded vehicle classes, that CC does not support out of the box. Through Class definition, CC knows about wheel sizes, brake types etc. There's a lot of awesome 3rd party content, but CC team can't cover it all (although we will add class mappings as well). That's where this mechanism becomes helpful.

Single-class vs Mult-class event
CC uses Car Class to distinguish between multi-class and single class races. If race is a multi-class race, CC will compare your lap times with lap times of vehicles of the same class. The problem is, that sometimes mods are authored in a way, that car class name is different for vehicles in a same class. For example, there might be "A GT3" class name for vehicle of brand A, and "B GT3" for vehicle of brand B. If you would like Crew Chief to treat both classes as same class, you will need to map "A GT3" and "B GT3" class names to CC GT3 class. That way, such race becomes a single class race.

Check Crew Chief console window output when you start a new session. CC will print if event is single or multi-class. It also prints each opponent and associated car class. If mod car class is not mapped to CC built in class, CC creates new class on the fly (using vehicle class coming from the mod). If mod does not use same vehicle class string for all vehicle (and there's no appropriate mapping in carClassData.json), you might get multi class race, when all vehicles are actually in a same class.

What is customizable by using this mechanism?

Map vehicle to some pre-defined CC class. For example, if your vehicle class is "Super Mod GT3", you can map it to GT3 class.



You can customize pre-defined CC car classes. For example, if you are driving a vehicle with very large wheels, CC might announce that you're locking your wheels all the time (because wheel rotates way slower than we expect). Car class configuration mechanism allows you to specify wheel sizes.

Customizing Car Classes
There are two ways in which you can customize Crew Chief Car Classes:

by modifying the main carClassData.json file
overriding provided classes by creating your own definition file.

You can edit this file in the Crew Chief install folder, or create another file called carClassData.json in your Documents folder in a new subfolder called CrewChiefV4 (i.e. Documents/CrewChiefV4/carClassData.json). Use the carClassData.json from the installation folder as a template. The car classes defined in the Documents/CrewChiefV4 folder will override any with the same name in the app's install folder, and you can also add your own here.

The carClassData.json in the app's install folder will be overwritten each time the app is updated.

Adding new car class
See: https://forum.studio-397.com/index.php?threads/crew-chief-v4-5-with-rfactor-2-support.54421/page-17#post-903314

Adding new car class to the Crew Chief
As our team can't physically drive every single mod/series out there, we can't add them all. Here's how you can help:
- Start CC
- Pick a series to race
- Start a session
- Stop CC
- CTRL+A/CTRL+C in CC Console window.
- Send that text to us with brief description what series/class it is.

carClassData.json file explained
A car class will
inherit the defaults values for things if they're not specified.

The valid params are:


{
"carClassEnum": this is the built-in car class group (see complete list below). It must match on of these built in types.
"pCarsClassNames": this is a comma (,) separated array of pCars classnames. * or ? denote wildcards. The app searches for classes which have full matches before considering wildcards
"rf2ClassNames": as above, for rFactor2
"rf1ClassNames": as above, for rFactor1, AMS, GSC, FTruck, and other RF1 based games (the Reiza games)
"acClassNames": as above, for Assetto Corsa
"raceroomClassIds": this is an array of integers or R3E class IDs
"brakeType": can be "Carbon", "Ceramic", "Iron_Race" or "Iron_Road"
"maxColdTyreTemp": used to override cold tyre temperature (celsius) upper threshold. Specifies max temperature at which tyre is still considered cold. If not specified, comes from the built in defaultTyreType.
"maxWarmTyreTemp": used to override warm (ok) tyre temperature (celsius) upper threshold. Specifies max temperature at which tyre is still considered warm/ok. Above that value, tyres are overheating. If not specified, comes from the built in defaultTyreType.
"maxHotTyreTemp": used to override hot tyre temperature (celsius) upper threshold. Specifies max temperature at which tyre is still considered hot. Above that value, tyres are "cooking". If not specified, comes from the built in defaultTyreType.
"maxColdBrakeTemp": used to override cold brake temperature (celsius) upper threshold. Specifies max temperature at which brakes are still considered cold. If not specified, comes from the built in brakeType.
"maxWarmBrakeTemp": used to override warm (ok) brake temperature (celsius) upper threshold. Specifies max temperature at which brakes are still considered warm/ok. Above that value, brakes are overheating. If not specified, comes from the built in brakeType.
"maxHotBrakeTemp": used to override hot brake temperature (celsius) upper threshold. Specifies max temperature at which brake are still considered hot. Above that value, brakes are "cooking". If not specified, comes from the built in brakeType.

"defaultTyreType": can be "Road", "Bias_Ply", "Unknown_Race", and various others that the app doesn't really use (still to be worked on...)
"maxSafeWaterTemp": water temp above this (celsius) will trigger a warning
"maxSafeOilTemp": oil temp above this (celsius) will trigger a warning
"minTyreCircumference": used to override default tyre size settings, used when calculating wheel locking and spinning. Only karts should need to override this. Decrease this value if your class gets too many "wheel spinning" messages.
"maxTyreCircumference": used to override default tyre size settings, used when calculating wheel locking and spinning. Only karts should need to override this. Increase this value if your class gets too many "locking wheel" spinning messages.
"spotterVehicleLength": specifies vehicle length (meters) for spotter to use in calculations. Defaults to spotter_*_vehicle_length preference value (4.5 by default).
"spotterVehicleWidth": specifies vehicle width (meters) for spotter to use in calculations.
"acTyreTypeData":
{
"Trofeo M Slicks (M)" : name of the specific tyre you want to override the buildin values for.
{
"maxColdTyreTemp": used to override cold tyre temperature (celsius) upper threshold. Specifies max temperature at which tyre is still considered cold. If not specified, comes from the built in defaultTyreType Or from buildin Assetto Corsa tyres.
"maxWarmTyreTemp": used to override warm (ok) tyre temperature (celsius) upper threshold. Specifies max temperature at which tyre is still considered warm/ok. Above that value, tyres are overheating. If not specified, comes from the built in defaultTyreType. Or from buildin Assetto Corsa tyres.
"maxHotTyreTemp": used to override hot tyre temperature (celsius) upper threshold. Specifies max temperature at which tyre is still considered hot. Above that value, tyres are "cooking". If not specified, comes from the built in defaultTyreType. Or from buildin Assetto Corsa tyres.
},
}
"timesInHundredths": if true, lap times and gaps under 0.2 will be reported in hundredths, otherwise in tenths.
"enabledMessageTypes": list of message types allowed for this class in "Real Mode". Possible values are: TYRE_TEMPS, TYRE_WEAR, BRAKE_TEMPS, BRAKE_DAMAGE, FUEL, LOCKING_AND_SPINNING, ALL, NONE. The purpose here is to increase realism by not including modern era messages on old classe. For example, Karts have no communication at all, hence this value is NONE.
}


The default values are:


{
"brakeType": "Iron_Race"
"defaultTyreType": "Unknown_Race"
"maxSafeWaterTemp": 105
"maxSafeOilTemp": 125
"minTyreCircumference": 0.4 * pi (40cm diameter wheel)
"maxTyreCircumference": 1.2 * pi (120cm diameter wheel)
}


Crew Chief built-in car classes are:
GT1X, GT1, GTE, GT2, GTC, GTLM, GT3, GT4, GT5, Kart_1, Kart_2, KART_JUNIOR, KART_F1, LMP1, LMP2, LMP3, ROAD_B, ROAD_C1, ROAD_C2, ROAD_D, ROAD_SUPERCAR, GROUPC, GROUPA, GROUP4, GROUP5, GROUP6, GTO, VINTAGE_INDY_65, VINTAGE_F3_A, VINTAGE_F1_A, VINTAGE_F1_A1, VINTAGE_GT3, VINTAGE_GT, HISTORIC_TOURING_1, HISTORIC_TOURING_2, VINTAGE_F1_B, VINTAGE_F1_C, STOCK_CAR, F1, F2, F3, F4, FF, TC1, TC2, TC1_2014, AUDI_TT_CUP, AUDI_TT_VLN, CLIO_CUP, DTM, DTM_2013, V8_SUPERCAR, DTM_2014, DTM_2015, DTM_2016, TRANS_AM, HILL_CLIMB_ICONS, FORMULA_RENAULT, MEGANE_TROPHY, NSU_TT, KTM_RR, INDYCAR, HYPER_CAR, HYPER_CAR_RACE, STOCK_V8, BOXER_CUP, UNKNOWN_RACE

Car classes can skip an entry if they're using the default - e.g. most cars skip defaultTyreType so they use Unknown_Race - this is only overridden in road cars.

IMPORTANT....

This file in [install_dir]/ will be *overwritten without warning* on update. If you want to define your own car classes or modify the built in ones, create a new file [My Documents]/CrewChiefV4/carClassData.json. This only needs to contain additions and overrides - the app parses the default car classes defined in this file and found in install_dir, then classes in the My Documents version override and add to the default classes.

mr_belowski
19-03-2017, 17:20
Crew Chief will add and override any car classes defined in Documents/CrewChiefV4/, so if you want to add your own classes or override the defaults, create a file carClasses.json in that folder and add your customisations there

The Iron Wolf
19-03-2017, 17:27
Feel free to edit my posts in line, I think it will be easier to have all the info in first post :)

The Iron Wolf
31-03-2017, 21:51
Beginning with 4.6.4.0, we've added functionality to override
* tyre temps. Note, for Assetto Corsa per-tyre type overrides allowed, for the rest of a games temps apply to all tyre types.
* brake temps
* spotter vehicle dimensions

See first post for more details.

smbrm
15-05-2017, 17:02
I tried to update in notepad, a class, with revised brake temps and it told access was denied when I attempted to save the revised json.

Just wondering how to fix?
cheers

The Iron Wolf
15-05-2017, 17:18
Hello smbrm,
You are editing json in Program Files, right?

mr_belowski
15-05-2017, 17:25
You need to create a CrewChief folder in your Documents folder and copy which ever classes you want to modify in to a new carclasses.json in that folder, and edit it there. See trackLandmarks.json for more info (if memory serves me correctly)

smbrm
16-05-2017, 23:32
You need to create a CrewChief folder in your Documents folder and copy which ever classes you want to modify in to a new carclasses.json in that folder, and edit it there. See trackLandmarks.json for more info (if memory serves me correctly)

Thanks for the reply

I added this to a carClassData.jon located in (Windows 8.1) Documents/CrewChiefV4/

These lines replaced the original lines for this particular class entry. All other classes included in the documents file and remained as original.

{
"carClassEnum": "INDYCAR",
"raceroomClassIds": [ 5383 ],
"pCarsClassNames": [ "Indycar" ],
"brakeType": "Carbon",
"maxSafeWaterTemp": 105,
"maxSafeOilTemp": 140,
"maxColdBrakeTemp": 411,
"maxWarmBrakeTemp": 675,
"maxHotBrakeTemp": 1570
},

I continue to get warnings of brake overheating for the Dallara DW12. Data logging shows max temps are 1073 & 767. Hot brake reports are inconsistent with when hot brakes might actually occur.

UPdated to latest version of Crewchief 4.6.5.0. File as above in documents remains unchanged, as is and was not impacted by Crewchief update.

Is my file in the wrong place?

So just trying to find out if this is working correctly?

mr_belowski
17-05-2017, 07:52
it looks like you have it in the correct place, and it's got the correct name - by default Windows will hide the suffix of known file types, so if you created this as a text file make sure it's not actually called carClasses.json.txt (there's an option to show the full file name or show type of known file types somewhere in the File Explorer options).

When you start the app the console should include something like: "loaded 68 default car classes and 0 user car classes". If it's loading your car classes the second number will not be zero.

You only need to include the car class block for the class you're changing in you carClasses.json file - you can safely remove the others.

It sounds like I also need to incorporate your temperature range fixes into the default classes - I'll do this this the next release

The Iron Wolf
17-05-2017, 13:03
If I am understanding the situation correctly, this is for rFactor 2 and I see no rF2 mapping in a block you pasted. So, what you need to do is check Monitor in garage, and see which vehicle class name does DW12 has. Then, you need to add to above block you pasted:


{
"carClassEnum": "INDYCAR",
"raceroomClassIds": [ 5383 ],
"pCarsClassNames": [ "Indycar" ],
"rf2ClassNames": [ "DW12 CLASS NAME" ],
"brakeType": "Carbon",
"maxSafeWaterTemp": 105,
"maxSafeOilTemp": 140,
"maxColdBrakeTemp": 411,
"maxWarmBrakeTemp": 675,
"maxHotBrakeTemp": 1570
}

What this does, is it maps rF2 car class to a car class known and understood by CC. CC covers classes in controlled games, like R3E or pCars, but moddable games need mapping.

Then, if mapping is correct, when you start session you will see text like this in CC console window:
27 : No landmarks defined for this track
05:59:21.447 : Using unmapped driver last name murphy for raw driver name john murphy
05:59:21.449 : New driver john murphy is using car class KART_JUNIOR at position 3
05:59:21.451 : Using unmapped driver last name tamm for raw driver name maki tamm
05:59:21.453 : New driver maki tamm is using car class KART_JUNIOR at position 1
05:59:21.455 : Using unmapped driver last name johansson for raw driver name ari johansson
05:59:21.457 : New driver ari johansson is using car class KART_JUNIOR at position 2
05:59:21.460 : New session, trigger data:

In your case, car class should be INDYCAR. Once this is mapped, your temperatures should get picked up, unless we messed something up :D

mr_belowski
17-05-2017, 20:42
Ahhh... I think I see the issue here. There's no carClass mapping at all for the RF2 Indycar, so the app assumes it's an 'unknown race car' and will give it iron race brakes with much lower operating temps. Like my esteemed friend said above, the fix here is to add the correct rf2ClassNames line, which means the app will use 'carbon' brake temp thresholds which are much much higher

smbrm
18-05-2017, 01:07
Ok, I heard what you said and understand the correction.

The fact that the entry you are suggesting needs to be added was not there in the original program's carClassData.json: does that mean that because this is an update located in documents, that the --- "rf2ClassNames": [ "Indycar" ], ---- will have to re-added every time crewchief updates? It would seem appropriate that the base carClassData.json should have content aligning with the games and cars want to use crewchief with? If not, doesn't this all get confusing about which games and cars crewchief is setup for or not? Is this just an oversight?

Great add-on by the way!

The Iron Wolf
18-05-2017, 01:44
The carClassData.json in Documents will not be overwritten.

This is not an oversight. This is intentional way of how users can customize car classes for moddable games, and make it so that CC understands them. For example, I do not have DW12 on my rF2 install, and I do not know which class name to add. There are other mods that require user to do the same (spotter has ini file where you need to specify vehicle class).

But much bigger issue, is that some mods use different class name for vehicles in the same series. So, even though we try to help this situation by creating class on the fly, there will be problem with such mods (CC will think it is multi class race, when it isn't). See how DTM is mapped to rF2 in the same file (many different vehicle names are mapped to single class in CC).

I do agree it is confusing, just by the amount of explaining I need to do and we probably could simplify it a bit. But, if you will provide me with car class name for rF2 DW12, I will gladly add it to CC, just let me know the vehicle class name.

smbrm
18-05-2017, 02:57
The carClassData.json in Documents will not be overwritten.

This is not an oversight. This is intentional way of how users can customize car classes for moddable games, and make it so that CC understands them. For example, I do not have DW12 on my rF2 install, and I do not know which class name to add. There are other mods that require user to do the same (spotter has ini file where you need to specify vehicle class).

But much bigger issue, is that some mods use different class name for vehicles in the same series. So, even though we try to help this situation by creating class on the fly, there will be problem with such mods (CC will think it is multi class race, when it isn't). See how DTM is mapped to rF2 in the same file (many different vehicle names are mapped to single class in CC).

I do agree it is confusing, just by the amount of explaining I need to do and we probably could simplify it a bit. But, if you will provide me with car class name for rF2 DW12, I will gladly add it to CC, just let me know the vehicle class name.

Thanks for your help. Sometimes stuff gets missed, sometimes you can't just know everything. That comment was only supposed to be question, not a judgement. I can provide the class name, I am not sure whether I understand where this place called "check Monitor in garage" actually is?

If you are talking about "class packages", the only reference to that I see is two. This class package info is located in the upgrades when you go into tuning: " Indycar_2014_Chevrolet " and " Indycar_2104_Honda ". Does that suggest that two entries are required to cover both? And does that mean two lines one for each car class in a data block or two separate blocks one for each car class variant? I guess it appears that you just add them to the block as a string?

The Iron Wolf
18-05-2017, 03:05
It is all good, do not worry, this stuff is a bit confusing to me as well.

When you start a new session, and see Race button on the right hand side, and list of vehicles/drivers, what is car class name for DW12 cars? Is all same string, or different strings? Let me know if you're not sure still, I'll provide screenshot.

If mapping is working correctly, you will see "INDYCAR" as car class in Crew Chief console output.

smbrm
18-05-2017, 03:37
It is all good, do not worry, this stuff is a bit confusing to me as well.

When you start a new session, and see Race button on the right hand side, and list of vehicles/drivers, what is car class name for DW12 cars? Is all same string, or different strings? Let me know if you're not sure still, I'll provide screenshot.

If mapping is working correctly, you will see "INDYCAR" as car class in Crew Chief console output.


There is no list of vehicles and drivers when the window I think you are referring too comes when direct connecting to multiplayer servers. It just says "Attempting to direct connect"

I did see this in the centre window box in crewchief:

20:24:41.741 : Player is using car class IndyCar_2014_Chevrolet at position 1

So I am assuming I did it correctly?

The Iron Wolf
18-05-2017, 03:50
Ok, got it. Please, try this in your INDICAR class in Documents:
"rf2ClassNames": [ "IndyCar_2014_Chevrolet", "Indycar_2104_Honda"],

After you start session, you should see Indycar_2104_Chevrolet mapped to INDYCAR class.

smbrm
18-05-2017, 04:29
Ok, got it. Please, try this in your INDICAR class in Documents:
"rf2ClassNames": [ "IndyCar_2014_Chevrolet", "Indycar_2104_Honda"],

After you start session, you should see Indycar_2104_Chevrolet mapped to INDYCAR class.

When I use this block:

"carClassEnum": "INDYCAR",
"raceroomClassIds": [ 5383 ],
"pCarsClassNames": [ "Indycar" ],
"rf2ClassNames": [ "Indycar_2014_Chevrolet", "Indycar_2104_Honda" ],
"brakeType": "Carbon",
"maxSafeWaterTemp": 105,
"maxSafeOilTemp": 140,
"maxColdBrakeTemp": 411,
"maxWarmBrakeTemp": 675,
"maxHotBrakeTemp": 1570




I see this:


22:23:26.873 : No landmarks defined for this track
22:23:26.889 : New session, trigger data:
22:23:26.891 : EventIndex 1
22:23:26.892 : SessionType Practice
22:23:26.894 : SessionPhase Garage
22:23:26.895 : SessionIteration 0
22:23:26.897 : HasMandatoryPitStop False
22:23:26.898 : PitWindowStart 0
22:23:26.900 : PitWindowEnd 0
22:23:26.901 : NumCarsAtStartOfSession 1
22:23:26.903 : SessionNumberOfLaps 0
22:23:26.904 : SessionRunTime 9930
22:23:26.905 : SessionStartPosition 1
22:23:26.907 : SessionStartTime 2017-05-17 10:23:26 PM
22:23:26.908 : TrackName Indianapolis -- Oval
22:23:26.910 : Player is using car class IndyCar_2014_Chevrolet at position 1
22:23:26.912 : New session
22:23:26.914 : New session details...
22:23:26.915 : SessionType Practice
22:23:26.917 : EventIndex 1
22:23:26.918 : SessionIteration 0
22:23:26.920 : TrackName Indianapolis -- Oval
22:23:26.921 : Clearing game state...
22:23:26.943 : Using unmapped driver last name ??????? for raw driver name ??????????
22:23:26.973 : ********** starting spotter***********


If this is what being mapped looks like then it must be mapped? I don't see any other mapping reference?

The Iron Wolf
18-05-2017, 04:41
It looks from your post that you are doing everything right and that it should work correctly (but it does not), so it is possible something is broken. I'll install DW12 tomorrow and try to see what's going on, if you can, point me to content link please.

If you want to try something before that, you could backup and modify the file in CC install directory, and see if mapping works that way (by "works" I mean you should see vehicle class INDYCAR in CC output). To modify that file, you could copy it to your desktop, edit, and copy back to program files (windows will ask you for confirmation).

Thanks for patience here.

The Iron Wolf
18-05-2017, 06:06
Ok, I know the problem:
Car classes are case sensitive, (I knew this is wrong, but my lazy ass never got to it). Also, despite how awesome CC is, guy can't detect that typo 2104 means 2014 :)

Correct string:
"rf2ClassNames": [ "IndyCar_2014_Chevrolet", "IndyCar_2014_Honda" ],

Make sure in Documents, your override file is in folder CrewChiefV4.

Here's how output should look like:
23:05:30.409 : New driver eddy waylon is using car class INDYCAR at position 2
23:05:30.411 : New driver hunter shark is using car class INDYCAR at position 1
23:05:30.412 : New driver takai shou is using car class INDYCAR at position 3

smbrm
18-05-2017, 14:16
Ok, I know the problem:
Car classes are case sensitive, (I knew this is wrong, but my lazy ass never got to it). Also, despite how awesome CC is, guy can't detect that typo 2104 means 2014 :)

Correct string:
"rf2ClassNames": [ "IndyCar_2014_Chevrolet", "IndyCar_2014_Honda" ],





Make sure in Documents, your override file is in folder CrewChiefV4.

Here's how output should look like:
23:05:30.409 : New driver eddy waylon is using car class INDYCAR at position 2
23:05:30.411 : New driver hunter shark is using car class INDYCAR at position 1
23:05:30.412 : New driver takai shou is using car class INDYCAR at position 3

Ok, changed the block to this:


{
"carClassEnum": "INDYCAR",
"raceroomClassIds": [ 5383 ],
"pCarsClassNames": [ "Indycar" ],
"rf2ClassNames": [ "IndyCar_2014_Chevrolet", "IndyCar_2014_Honda" ],
"brakeType": "Carbon",
"maxSafeWaterTemp": 105,
"maxSafeOilTemp": 140,
"maxColdBrakeTemp": 411,
"maxWarmBrakeTemp": 675,
"maxHotBrakeTemp": 1570
},

And now I see this:

08:05:26.676 : Purged 1 sounds, there are now 1170 active SoundPlayer objects
08:05:49.051 : Initialized rFactor 2 Shared Memory
08:05:49.058 : rFactor 2 Shared Memory version: 1.1.0.1
08:06:20.321 : No landmarks defined for this track
08:06:20.339 : New session, trigger data:
08:06:20.342 : EventIndex 1
08:06:20.344 : SessionType Practice
08:06:20.346 : SessionPhase Garage
08:06:20.347 : SessionIteration 0
08:06:20.349 : HasMandatoryPitStop False
08:06:20.350 : PitWindowStart 0
08:06:20.352 : PitWindowEnd 0
08:06:20.353 : NumCarsAtStartOfSession 1
08:06:20.354 : SessionNumberOfLaps 0
08:06:20.356 : SessionRunTime 9930
08:06:20.357 : SessionStartPosition 1
08:06:20.359 : SessionStartTime 2017-05-18 8:06:20 AM
08:06:20.360 : TrackName Indianapolis -- Oval
08:06:20.362 : Player is using car class INDYCAR at position 1
08:06:20.364 : New session
08:06:20.366 : New session details...
08:06:20.367 : SessionType Practice
08:06:20.368 : EventIndex 1
08:06:20.370 : SessionIteration 0
08:06:20.371 : TrackName Indianapolis -- Oval
08:06:20.372 : Clearing game state...
08:06:20.391 : Using unmapped driver last name ????????? for raw driver name ?????????
08:06:20.419 : ********** starting spotter***********

May I assume that:

08:06:20.362 : Player is using car class INDYCAR at position 1

is what we are looking for similar to what you describe, or should the output line be more specific?

This line:

08:06:20.391 : Using unmapped driver last name ????????? for raw driver name ?????????

was using my nickname for ?????? and not my real name. Is there a way to influence what name is identified by crewchief in this line?

The devil is always in the details?

The Iron Wolf
18-05-2017, 14:33
Ok, so we're making progress, looks like you mapped ISI dallara to Crew Chief indycar successfully :) Does Dw12 only has Chevy and Honda?

Also, did you replace your nickname with ???? in above text?

mr_belowski
18-05-2017, 14:35
this looks correct - the INDYCAR line means that the app has correctly identified the game's car class as an Indycar.

I don't understand the second question. Does the debug actually print "??????" or have you redacted your name? Bear in mind that this is what the app will use when it's telling *other players* about you. You'll never hear this.

[edit] curse your ninja skillz


[edit2]

I would remove these lines:
"maxColdBrakeTemp": 411,
"maxWarmBrakeTemp": 675,
"maxHotBrakeTemp": 1570

and let the app use its standard "Carbon" brake temp thresholds (which are a lot higher than what you have here). The issue you were having wasn't incorrect temp thresholds for Indycars, it was because the app didn't know you were driving an Indycar

smbrm
18-05-2017, 15:52
Ok, so we're making progress, looks like you mapped ISI dallara to Crew Chief indycar successfully :) Does Dw12 only has Chevy and Honda?

Also, did you replace your nickname with ???? in above text?

yes, just redacted for this reply text, nickname shows in crewchief window.

smbrm
18-05-2017, 15:55
this looks correct - the INDYCAR line means that the app has correctly identified the game's car class as an Indycar.

I don't understand the second question. Does the debug actually print "??????" or have you redacted your name? Bear in mind that this is what the app will use when it's telling *other players* about you. You'll never hear this.

[edit] curse your ninja skillz


[edit2]

I would remove these lines:
"maxColdBrakeTemp": 411,
"maxWarmBrakeTemp": 675,
"maxHotBrakeTemp": 1570

and let the app use its standard "Carbon" brake temp thresholds (which are a lot higher than what you have here). The issue you were having wasn't incorrect temp thresholds for Indycars, it was because the app didn't know you were driving an Indycar

1) redacted the nickname, so the question here is sometimes I am shown as nickname and sometimes real name. Seems to depend on the server. I believe I am set to use real name, but I only set it one time. But as I say different servers show: nickname sometimes, real name other times?

2) those are the actual mod values specific to the car, which would be related to actual mod brake performance dynamics, which would make more sense if you have them? Yes because I would believe mod physics will be dynamically responding to these numbers, not generic numbers for brake condition?

mr_belowski
18-05-2017, 16:39
1: this should only change if your in-game name has changed or the driver name mappings have been updated and doesn't depend on the server.

2: Not sure I follow - a max 'warm' temp for carbon brakes is a lot higher than 675 Celsius - this is right at the bottom end of their operating temperature

smbrm
18-05-2017, 17:26
1: this should only change if your in-game name has changed or the driver name mappings have been updated and doesn't depend on the server.

2: Not sure I follow - a max 'warm' temp for carbon brakes is a lot higher than 675 Celsius - this is right at the bottom end of their operating temperature



1: Well, as far as I know I have only ever assigned Rf2 to use real name. Why it uses it sometimes is a bit of a mystery that I haven't felt compelled to answer yet.

2: Rf2 defines brakes this way:

cold temperature where brake torque is half of optimal: 411
min temp for optimal brake torque:675
overheated temperature where brake torque is half of optimal:1570

I did not have an explanation for the three values that crewchief defines, so assumed these would apply and used them in an attempt to get more appropriate temperature communication from the crewchief?

"maxColdBrakeTemp": 411,
"maxWarmBrakeTemp": 675,
"maxHotBrakeTemp": 1570

How you define the parmeters is important to understanding what the communication is telling you. What ever temps you use have to be consistent with the game, and the car mod definition; somehow. Perhaps 675 is too low for the crewchief definition, however, does Rfactor 2 provide a value or a method for determining a value consistent with the crewchief definition? So if max warm temp should be 1570, then what is max hot temp? Either way, one might be guessing?

mr_belowski
18-05-2017, 17:31
With these values a brake temp greater than 675 will trigger an overheating warning, which I don't think is what you want.

smbrm
18-05-2017, 19:27
With these values a brake temp greater than 675 will trigger an overheating warning, which I don't think is what you want.

Ok, I understand that. With the values place in carClassicData file then it is important to understand what the warning is connected too. I used the numbers I did to fill in the blanks with something I could find since no other values are discussed in the carClassData file, nothing on ceramic or carbon. At the time I was hunting for ways to get the crewchief response to be more reasonable without having any idea why it wasn't. I assume that the below the first value is what triggers cold, and as you elude the second value suggests overheating, while the third triggers what? - cooking? ? What are the iron, carbon and ceramic default values?

BTW, for for forum page reset seems short?

The Iron Wolf
18-05-2017, 19:38
Rushing to ninja Jim:
maxColdIronRoadBrakeTemp = 80;
maxWarmIronRoadBrakeTemp = 500;
maxHotIronRoadBrakeTemp = 750;

maxColdIronRaceBrakeTemp = 150;
maxWarmIronRaceBrakeTemp = 700;
maxHotIronRaceBrakeTemp = 900;

maxColdCeramicBrakeTemp = 150;
maxWarmCeramicBrakeTemp = 950;
maxHotCeramicBrakeTemp = 1200;

maxColdCarbonBrakeTemp = 400;
maxWarmCarbonBrakeTemp = 1200;
maxHotCarbonBrakeTemp = 1500;

mr_belowski
18-05-2017, 19:39
These are the built-in thresholds, which are based on the brake material. They're not exact but do a reasonable job:

maxColdIronRoadBrakeTemp = 80
maxWarmIronRoadBrakeTemp = 500
maxHotIronRoadBrakeTemp = 750


maxColdIronRaceBrakeTemp = 150
maxWarmIronRaceBrakeTemp = 700
maxHotIronRaceBrakeTemp = 900


maxColdCeramicBrakeTemp = 150
maxWarmCeramicBrakeTemp = 950
maxHotCeramicBrakeTemp = 1200


maxColdCarbonBrakeTemp = 400
maxWarmCarbonBrakeTemp = 1200
maxHotCarbonBrakeTemp = 1500

Anything between maxCold and maxWarm is "OK", between maxWarm and maxHot is "hot", higher than maxHot is "cooking".


I don't understand what you mean by "for for forum page reset seems short?"

[edit] ffs Vytautas, stop ninja'ing me :)

The Iron Wolf
18-05-2017, 20:43
whaaa haaa haaa :) I am about to push change to comments on this, but git is killing me

smbrm
18-05-2017, 21:10
Ok, I will work with those. All should work fine now, I will report back in a few after some testing to see if things remain working? Thanks for the help and clarification.

Forum logs me out needs page refresh to continue after a relatively short time?

The Iron Wolf
27-08-2017, 18:22
Added instructions on how to add your favorite series to the Crew Chief mapping:

Adding new car class to the Crew Chief
As our team can't physically drive every single mod/series out there, we can't add them all. Here's how you can help:
- Start CC
- Pick a series to race
- Start a session
- Stop CC
- CTRL+A/CTRL+C in CC Console window.
- Send that text to us with brief description what series/class it is.

We will map those series to one of the internal classes or add new one, so after an update, series that improperly detected as multi-class will be treated as single class (or, correct multi-class)

Butithought
31-08-2017, 14:01
good

Goanna
20-09-2017, 14:55
S397's GT-R GT500 2013, I'm assuming the line below is what you want, if not yell and I'll paste all the data (didn't want to waste unnecessary space.)

00:46:20.426 : Single-Class event:"GT-R GT500 2013" (unmapped)

The Iron Wolf
20-09-2017, 15:29
S397's GT-R GT500 2013, I'm assuming the line below is what you want, if not yell and I'll paste all the data (didn't want to waste unnecessary space.)

00:46:20.426 : Single-Class event:"GT-R GT500 2013" (unmapped)
thanks man, I'll map it to GT1, or is it closer to GT3?

Goanna
20-09-2017, 15:37
Yep :o.....honestly I dunno, maybe someone with more knowledge about the different GT classes can chime in

The Iron Wolf
20-09-2017, 15:49
I'll go with GT2, it's mover powerful than GT3, but probably not as powerful as GT1 which are basically prototypes as far as I know, not very familiar with those, they're too tricky to drive :)

Edit: I'll make it a new class - GT500, as this is not really any of above.

mr_belowski
20-09-2017, 18:38
gt500 is BoP'ed with modern DTMs in some cases but I'd go with GT2 (or GTE - do we have GTE?)

The Iron Wolf
20-09-2017, 18:43
gt500 is BoP'ed with modern DTMs in some cases but I'd go with GT2 (or GTE - do we have GTE?)

You are correct, but I've eventually added GT500 class based on DTM, I felt those Japanese GT300/GT500 classes deserve their separate type :)

Goanna
19-11-2017, 13:35
Follow up stuff on the GT500, would the brake temp data and the like be useful? I recently downloaded CarStat 2.2 - Turbo (https://forum.studio-397.com/index.php?threads/carstat-2-2-turbo.58106/#post-921601) from Studio 397 website and data is available (not on all cars though). If so do you want me to do screen dumps like below for the various types of data or tabulate the data and send you a zip file?

https://farm5.staticflickr.com/4534/37633504485_5a2cbb3eb8_o.jpg

Some interesting stuff on fuel mixtures
Fuel mix 1:1
https://farm5.staticflickr.com/4579/38464564916_7abbb7ec52_o.jpg

Fuel Mix 5:5
https://farm5.staticflickr.com/4531/37804844044_3707952633_o.jpg

The Iron Wolf
19-11-2017, 16:44
Hello Goanna,

That's a very good direction. I am actually working right now on building a database of this stuff and using it in CC. I am extracting and parsing rF2 static files. Manual entry of this info will be a bit problematic, because in rF2 rear/front brakes are different, and there are many compounds + upgrades, and again, front and rear compounds are different.

When this tooling will be done, users will be able to run a tool on their favorite mod and send us files for inclusion with CC. I am only doing unencrypted stuff, but encrypted mod owners would be also able to add to DB if they want to.

This feature is a bit more work than I expected, especially due to upgrades, but it is coming! :)

Vytautas

MaXyM
20-11-2017, 12:23
Hi guys,
I noticed GT3 class has no brakeType set. Therefore uses default data
Is it ok?

Goanna
20-11-2017, 12:45
Now there's a name I haven't seen popping up for a while, G'day MaXyM, I asked if brake type could be shown when a member on Studio 397 released Carstats 2 (see my link 3 posts up) and he said that that info wasn't available from the game. Given that his tool basically read the hdv file then that data is not available, but Vytautas would be able to clarify if that data is exposed to CC or not.

Off topic are you still developing SLS?

Cheers
Goanna

mr_belowski
20-11-2017, 12:45
I think so - don't GT3 spec cars use iron discs?

MaXyM
20-11-2017, 12:54
I've checked google, and you are right. Before to this I though it must be ceramic. I was wrong.

The Iron Wolf
20-11-2017, 14:30
Given that his tool basically read the hdv file then that data is not available, but Vytautas would be able to clarify if that data is exposed to CC or not.

the .hdv stuff database that is being built will include only unencrypted stuff. I believe s397 gt3 cars are encrypted, so at least for now they won't have detailed parameters from hdv/tbc/tgm/ini files. This database is actually a temporary solution, let's hope eventually S397 will expose all of that data via internals, and things will become simpler.

FredBasset
27-09-2018, 19:49
I'm trying to set up a car specific setting for the iRacing Skip Barber, to provide a higher oil temperature warning

This is what I have in the json file

{
"CarClasses": [{
{
"carClassEnum": "SKIP_BARBER",
"iracingCarIds": [1],
"maxSafeOilTemp": 138,
},
]
}

And I see this error in the console, what am I doing wrong folks

Error parsing E:\documents\CrewChiefV4\carClassData.json: Invalid property identifier character: {. Path 'CarClasses[0]', line 3, position 2.

Any help appreciated.

Thanks
Gary

mr_belowski
27-09-2018, 19:58
Your JSON is incorrectly formatted. You have a extra { character and a trailing comma that needs to be removed from the oil temp element. Try pasting into jsonlint.com for format checking

FredBasset
27-09-2018, 20:58
Your JSON is incorrectly formatted. You have a extra { character and a trailing comma that needs to be removed from the oil temp element. Try pasting into jsonlint.com for format checking

Oh that was sloppy, apologies. Now seems to be working, thank you.

Fred

kashif
27-03-2019, 00:01
So... for rFactor 2.. there was an Endurance pack released by S397 that seem to have different specs than that of the URD mods that are already put in CC.. Is there any chance of updating the optimal temps for the new packs? Same with the GT3 pack? I copied and pasted the information like the first post said, to add car temps... but where do I send it to?

The Iron Wolf
27-03-2019, 14:21
So... for rFactor 2.. there was an Endurance pack released by S397 that seem to have different specs than that of the URD mods that are already put in CC.. Is there any chance of updating the optimal temps for the new packs? Same with the GT3 pack? I copied and pasted the information like the first post said, to add car temps... but where do I send it to?
What you could do is customize temperature ranges to your personal liking. Easiest way to achieve that is by copying:

"Program Files (x86)\Britton IT Ltd\CrewChiefV4\carClassData.json"
to your Documents folder:
"Documents\CrewChiefV4\carClassData.json"

And customize it there. Everything you need to do is explained in the .json itself and first post of this thread. Good luck!

James_e_Vining
06-08-2019, 15:29
OK so I am way confused here. I have it all figured out for iRacing except the
"carClassEnum":
I do not know what to use for the iRacing Monster energy Series Cars, Xfinity series or the Gander Outdoor Truck Series.
When I was looking at the data when I was running a practice MENCS Toyota Camry this is what I seen
21:50:11.416 : Player is using car class 50 (car ID 56)

21:50:11.493 : New driver is using car class 50 (car ID 110)
21:50:11.507 : Single-Class event:"50" (unmapped)

So I am figuring the Car Class is the Monster Energy Nascar Cup Series 50
and the (car ID 56) is the Toyota Camry as I drive that now the (car ID 110) is either a Ford Mustang or the Chevy Camaro SS
I can figure that out easy by looking at the next practice and finding what car matches what car ID

I am trying to fix the Water Temp and Oil Temp warnings as the new limits are much higher I do not see the gauge blink red on the oil until 260-270° F and water is lower but not close enough to worry about when Jim start saying temp to high need to slow down

From what I have been told by other drivers this new ability to run at a much higher temp is something fairly recent.

So I tried this and checked it in the json validator and it says it is fine but in CC I am not sure it is loading properly.

{
"carClassEnum": "50 ",
"iracingCarIds": [56],
"maxSafeWaterTemp": 116,
"maxSafeOilTemp": 130,
"timesInHundredths": true,
"enabledMessageTypes": "ALL",
"allMembersAreRWD": true
}

James_e_Vining
06-08-2019, 17:59
OK so I did the instructions for adding new car class to CC and Attached is the data.
Now from what I can tell the following Car Ids go to the following Cars.

Player is using car class 50 (car ID 56) Monster Energy Toyota Camry

New driver is using car class 50 (car ID 103) Monster Energy camaro zl1 2018

New driver is using car class 50 (car ID 110) Monster Energy Ford Mustang 2019

This is the Monster Energy Nascar Cup Series (A class both Fixed and Open Setups)

I have to double check if they use same Class and Car Ids for the C License Class NIS, if so will let you know ASAP I would of had info but just thought about that.
next i will also get the Class B Xfinity Data as well as the Class C Gander Outdoor Series and the RTP series data.

**NIS uses exact same Class and (car ID's) **

James_e_Vining
06-08-2019, 18:10
Here is the data from a B Class Xfinity Session Attached
And I run the Xfinity Toyota Camry here so I assume it is this car ID
Player is using car class 57 (car ID 69)

I hope I am doing this correct and helping you guys I love this App has totally changed my success, much faster on track , much faster in pits etc.

James_e_Vining
06-08-2019, 18:27
And Finally (For Now) this is the Gander Outdoor and RTP (Road To Pro) truck series info

Player is using car class 71 (car ID 62) Gander Outdoor Toyota Tundra 2015
New driver is using car class 71 (car ID 111) Gander Outdoor Chevy Silverado 2019

Hope this helps also

Sparten
15-08-2019, 05:54
i'm going to need some additional info for the car classes you posted.
maxSafeWaterTemp
maxSafeOilTemp
Or are the values from the first post valid for all the cars ?
"maxSafeWaterTemp": 116,
"maxSafeOilTemp": 130,

James_e_Vining
15-08-2019, 19:42
i'm going to need some additional info for the car classes you posted.
maxSafeWaterTemp
maxSafeOilTemp
Or are the values from the first post valid for all the cars ?
"maxSafeWaterTemp": 116,
"maxSafeOilTemp": 130,

Ok I will get those for each class ( as they do very some, the first post I actually messed up and the Max safe temps are higher then what I had used)

I Will get this info to you ASAP.

James_e_Vining
15-08-2019, 20:13
so I was running some testing/ Practice Monday and tuesday and it looks to me that the gauge blinks red warning you that you are max safe level for oil and water at this area on the gauge
Car class 50 (Monster energy Nascar Cup Series)

126.667° C / 260° F Max Water
135° C / 275° F Max Oil

(But I am double verifying to be sure)

James_e_Vining
15-08-2019, 21:33
a VRS setup builder /coach just told me the MENCS is
130°C /266°F water
140°C/284°F oil

But I will have to physically (in Sim) run the other 2 car classes and record the temp when gauge warns.
I will get on that in say 30 minutes as I have to deal with a Doctor issue first.


yep look good

James_e_Vining
16-08-2019, 02:47
And Finally (For Now) this is the Gander Outdoor and RTP (Road To Pro) truck series info

Player is using car class 71 (car ID 62) Gander Outdoor Toyota Tundra 2015
New driver is using car class 71 (car ID 111) Gander Outdoor Chevy Silverado 2019

Hope this helps also

"maxSafeWaterTemp": 126.667° C/260° F,
"maxSafeOilTemp": 132.223°C/270° F
you could probably go 126 and 132 I just wanted to be exact in case you needed exact.

James_e_Vining
16-08-2019, 02:56
Ok I have a league practice then I will verify the xfinity exact temps for you.

James_e_Vining
16-08-2019, 05:44
So xfinity is just a bit different on oil temps
car class 57
"maxSafeWaterTemp": 126.667° C/260° F,
"maxSafeOilTemp": 137.778° C/280° F

Feel free to let me know if you need more or if there is a specific Car class you want me to map or gather data for ( If I own it id be happy to help.

Electron
30-05-2020, 09:02
Hi all, I’ve been using CC for years and just stumbled across this car class feature.

I play PCars (mainly due to 56 cars at Le Mans), I have played PCars 2 and experienced CC calling out blue flags and info on different classes.

I use the custom grid tool to replicate endurance grids (LMP1, LMP2 & GT3). Now by default CC treats all cars as the same class due to how CGT groups all selected cars into a new custom group.
My question is can I modify the carClassData.json file to tell CC which cars are in which class?

Any pointers and I will keep reading and tweaking to see if I can find a solution.

mr_belowski
30-05-2020, 09:37
I wasn't aware of this tool, so I've just mapped the car class names to different car classes, which is why it's not working for you when they're all collected into a single class.

pCars2 does provide a 'car name' field as well but I don't use this. I'll have a quick look at the car class mapping code to see if i can include an optional pCarsCarNames field. If this is present the app would use this to map the car class instead of the car class name but it would mean that you'd have to collect up each individual car name you're using and put them in the right bit of the JSON

[edit]

i just prototyped the change and it appears to work, so when the next release is published you'll be able to use the car name to override the car classes like this:

{
"carClassEnum": "GTC",
"pCarsCarNames": ["KTM X-Bow GT4"],
},
{
"carClassEnum": "GT4",
"pCarsClassNames": ["GT4"],
},

In this example the app will see that the car name "KTM X-Bow GT4" is in the GTC class so it'll use this for that car, rather than the car class mapping which would have put it in the GT4 class. The car class name need to be an exact match. I tweaked the log message to help a little here so it'll tell you the car name even if it's not using it to map the class, like this:

Mapped car class from ID:"GT4" to:"GT4", ignoring carName: "KTM X-Bow GT4"

Electron
31-05-2020, 15:46
That's great news that it should be possible then! A slight newbie question regarding the car names. Custom grid tool provides names with an underscore format (i.e "aston_martin_vantage_gt3", is this the same format I would need in the JSON file?

If I understand correctly with the new update my entries in the JSON file should look like this for each class;
{
"carClassEnum": "LMP1",
"pCarsCarNames": ["audi_r18_etron", "toyota_ts040_14", "lmp_rwd_p30", "lmp_pm06a"],
"raceroomClassIds": [1714],
"pCarsClassNames": ["LMP1"],
"rf2ClassNames": ["LMP1"],
"acClassNames": ["ks_porsche_919_hybrid_2015", "ks_porsche_919_hybrid_2016", "ks_audi_r18_etron_quattro", "ks_toyota_ts040"],
"iracingCarIds": [98, 100],
"brakeType": "Carbon",
"maxSafeWaterTemp": 105,
"maxSafeOilTemp": 140,
"timesInHundredths": true,
"enabledMessageTypes": "ALL"
},

The red text being the only line I have to add.

mr_belowski
31-05-2020, 16:54
Yes, that's correct (assuming the car names are exactly what the game is sending)

R00b_Driver
06-06-2020, 21:11
GAME: rF2
Mod: Global Endurance Cup (Steam workshop Id 2110884303)

Hello!

I'm using a Mod for rFactor2 (Steam ID above, I can't post links!), which has defined a new set of classes based on the WEC Championship, those being 'LMGTE Am' and 'LMGTE Pro'.

The Crew Chief 'carClassData.json' only has '*GTE*' configured, so both 'LMGTE Am' and 'LMGTE Pro' are considered the same class.

I've tried both adding a new class, via adding an extra class in the My Documents Folder, and by actually editing the 'carClassData.json' file itself, but it appears that Crew Chief can't read these classes defined in the mod...

I believe the mod has configured the extra classes using the 'ClassOverride' value, is this something that Crew Chief can read?
Is there anything I can do to get it to recognise the different classes?

Apologies if this has been asked before!

TIA !

The Iron Wolf
06-06-2020, 21:38
GAME: rF2
Mod: Global Endurance Cup (Steam workshop Id 2110884303)

Hello!

I'm using a Mod for rFactor2 (Steam ID above, I can't post links!), which has defined a new set of classes based on the WEC Championship, those being 'LMGTE Am' and 'LMGTE Pro'.

The Crew Chief 'carClassData.json' only has '*GTE*' configured, so both 'LMGTE Am' and 'LMGTE Pro' are considered the same class.

I've tried both adding a new class, via adding an extra class in the My Documents Folder, and by actually editing the 'carClassData.json' file itself, but it appears that Crew Chief can't read these classes defined in the mod...

I believe the mod has configured the extra classes using the 'ClassOverride' value, is this something that Crew Chief can read?
Is there anything I can do to get it to recognise the different classes?

Apologies if this has been asked before!

TIA !

Try this putting this as "Documents\CrewChiefV4\carClassData.json":
{
"CarClasses": [
{
"carClassEnum": "LMGTE_Am",
"rf2ClassNames": [ "LMGTE Am" ],
"timesInHundredths": true,
"enabledMessageTypes": "ALL",
"allMembersAreRWD": true
},
{
"carClassEnum": "LMGTE_Pro",
"rf2ClassNames": [ "LMGTE Pro" ],
"timesInHundredths": true,
"enabledMessageTypes": "ALL",
"allMembersAreRWD": true
}
]
}

If it does not help, could you start a session with all classes you care about and send me the CC console output? Also, feel free to ping me on CC or rF2 Discord.

R00b_Driver
06-06-2020, 22:59
Try this putting this as "Documents\CrewChiefV4\carClassData.json":
{
"CarClasses": [
{
"carClassEnum": "LMGTE_Am",
"rf2ClassNames": [ "LMGTE Am" ],
"timesInHundredths": true,
"enabledMessageTypes": "ALL",
"allMembersAreRWD": true
},
{
"carClassEnum": "LMGTE_Pro",
"rf2ClassNames": [ "LMGTE Pro" ],
"timesInHundredths": true,
"enabledMessageTypes": "ALL",
"allMembersAreRWD": true
}
]
}

If it does not help, could you start a session with all classes you care about and send me the CC console output? Also, feel free to ping me on CC or rF2 Discord.

You, Sir, are a fucking legend!!
Thank you very much!!!

:D:D:D:D

Electron
17-11-2020, 19:36
I'm still trying to get CC to recognize multi-class races with Project Cars (Pcars 1), with no luck yet.
As mentioned in my previous post I have been using Custom Grid Tool to create my own LMP1, LMP2 & GT3 field.
So tonight I thought I would try without CGT and just try to get CC to recognize multiclass with the default game.
I run into the exact same issue, which is CC recognizes my class, but then identifies the session as a single class race, causing all other cars to become "UNKNOWN_RACE". Which I can not figure out how to address.

Is there any way to force CC to use multi class?

I have included a snippet from the console if it's any help.


20:27:09.394 : Player is using car class LMP2
20:27:09.407 : Single-Class event:"LMP2" (built-in)
20:27:09.412 : New session, trigger...
20:27:09.412 : lastSessionType = Unavailable currentGameState.SessionData.SessionType = Qualify
20:27:09.412 : Time in this new session = 898.913
20:27:09.413 : Enabled message types:
20:27:09.413 : TYRE_TEMPS
20:27:09.413 : TYRE_WEAR
20:27:09.413 : BRAKE_TEMPS
20:27:09.413 : BRAKE_DAMAGE
20:27:09.413 : FUEL
20:27:09.413 : LOCKING_AND_SPINNING
20:27:09.413 : Spotter enabled: True
20:27:09.413 : Realistic mode: True
20:27:09.413 : Oval logic enabled: False
20:27:09.413 : Using American terms: False
20:27:09.413 : Using metric: True
20:27:09.413 : Player is using car class LMP2
20:27:09.416 : New driver sam anderson is using car class LMP2
20:27:09.418 : New driver denis mylnikov is using car class LMP2
20:27:09.418 : New driver sean smith is using car class LMP2
20:27:09.418 : New driver foris feslikidis is using car class LMP2
20:27:09.418 : New driver alexander santos is using car class LMP2
20:27:09.418 : New driver philipp laux is using car class LMP2
20:27:09.418 : New driver pedro nery is using car class LMP2
20:27:09.418 : New driver roberto betori is using car class LMP2
20:27:09.418 : New driver thomas hirschausen is using car class LMP2
20:27:09.418 : New driver martin franek is using car class LMP2
20:27:09.418 : New driver michal rehácek is using car class LMP2
20:27:09.418 : New driver nelson pacheco is using car class LMP2
20:27:09.419 : New driver bernhard schupfner is using car class LMP2
20:27:09.419 : New driver blair miles is using car class UNKNOWN_RACE
20:27:09.421 : New driver eric lichtle is using car class UNKNOWN_RACE
20:27:09.421 : New driver evgeniy ishutin is using car class UNKNOWN_RACE
20:27:09.421 : New driver scott battye is using car class UNKNOWN_RACE
20:27:09.421 : New driver alexey samoshin is using car class UNKNOWN_RACE
20:27:09.421 : New driver franck landrin is using car class UNKNOWN_RACE
20:27:09.421 : New driver patrick gries is using car class UNKNOWN_RACE
20:27:09.421 : New driver christian daxer is using car class UNKNOWN_RACE
20:27:09.421 : New driver yannick willame is using car class UNKNOWN_RACE
20:27:09.421 : New driver rick lopatic is using car class UNKNOWN_RACE
20:27:09.421 : New driver tiago vasconcelos is using car class UNKNOWN_RACE
20:27:09.421 : New driver marton szamos is using car class LMP2
20:27:09.421 : New driver olli arkko is using car class LMP2
20:27:09.421 : New driver filgueira michael is using car class LMP2
20:27:09.421 : New driver philipp raith is using car class LMP2
20:27:09.422 : New driver irany alves is using car class LMP2
20:27:09.422 : New driver andy wise is using car class UNKNOWN_RACE
20:27:09.422 : New driver michael donohoe is using car class UNKNOWN_RACE
20:27:09.422 : New driver eduardo aurelio kissilevitch is using car class UNKNOWN_RACE
20:27:09.422 : New driver hendrik lamp is using car class UNKNOWN_RACE
20:27:09.422 : New driver erik luxhoj is using car class UNKNOWN_RACE
20:27:09.422 : New driver sebastian schlager is using car class UNKNOWN_RACE
20:27:09.422 : New driver oliver sabra is using car class UNKNOWN_RACE
20:27:09.425 : New driver stefano pecchio is using car class UNKNOWN_RACE
20:27:09.425 : New driver jose montano is using car class UNKNOWN_RACE
20:27:09.425 : New driver daniel speelman is using car class UNKNOWN_RACE
20:27:09.425 : New driver sven brackmann is using car class UNKNOWN_RACE
20:27:09.425 : New driver aleksandar nurevski is using car class UNKNOWN_RACE
20:27:09.425 : New driver martin thielen is using car class UNKNOWN_RACE
20:27:09.425 : New driver christopher hauser is using car class UNKNOWN_RACE
20:27:09.425 : New driver juuso heinonen is using car class UNKNOWN_RACE
20:27:09.425 : New driver jorn lemon is using car class UNKNOWN_RACE
20:27:09.425 : New driver nathan cullitan is using car class UNKNOWN_RACE
20:27:09.425 : New driver lorna mckenzie is using car class UNKNOWN_RACE
20:27:09.425 : New driver manuel bohlken is using car class UNKNOWN_RACE
20:27:09.425 : New driver steffen scheibe is using car class UNKNOWN_RACE
20:27:09.425 : New driver wojciech madej is using car class UNKNOWN_RACE
20:27:09.426 : New driver daniel zamora is using car class UNKNOWN_RACE
20:27:09.426 : New driver adam szyk is using car class UNKNOWN_RACE
20:27:09.426 : New driver raphael dehay is using car class UNKNOWN_RACE
20:27:09.427 : New driver aleksander turnsek is using car class UNKNOWN_RACE
20:27:09.427 : New driver matej klocek is using car class UNKNOWN_RACE

mr_belowski
17-11-2020, 20:10
Ah, pcars1, I'd missed that. Pcars 1 data only includes the player car class. The UDP data also has a single Boolean flag for each opponent indicating whether their car is the same class as the player or not.

So while I appreciate the frustration and disappointment, this is the best the app can do with pcars1. The car class.data for pcars2 is complete

Electron
18-11-2020, 19:09
No worries, I understand Pcars1 is dated at this point. Thanks for responding and clearing it up.

Thanks for creating an app that does so much for so many games. :D

Chalky
23-05-2021, 15:17
I'm not sure if you want updated JSON for car classes here, to include in the next update for others. But I've modified my file for the rFactor2 GTPC mod.
Added C1 \ GTP to the in built GroupC
Added new C2 class
Added B to the in built GroupB

{
"carClassEnum": "GROUPC",
"raceroomClassIds": [ 4121 ],
"pCarsClassNames": [ "Group C1", "Group C" ],
"rf2ClassNames": [ "Sauber C11", "Porsche 962C", "Mazda 787B", "C1", "GTP" ],
"acClassNames": [ "mazda_787b", "ks_mazda_787b", "ks_mercedes_c9", "ks_porsche_962c_*" ],
"brakeType": "Ceramic",
"timesInHundredths": true,
"enabledMessageTypes": "TYRE_TEMPS, BRAKE_TEMPS, FUEL, LOCKING_AND_SPINNING",
"allMembersAreRWD": true
},
{
"carClassEnum": "GROUPC2",
"rf2ClassNames": [ "C2"],
"brakeType": "Ceramic",
"timesInHundredths": true,
"enabledMessageTypes": "TYRE_TEMPS, BRAKE_TEMPS, FUEL, LOCKING_AND_SPINNING",
"allMembersAreRWD": true
},
{
"carClassEnum": "GROUPB",
"pCarsClassNames": [ "Group B" ],
"rf2ClassNames": [ "B"],
"brakeType": "Iron_Race",
"timesInHundredths": true,
"enabledMessageTypes": "TYRE_TEMPS, BRAKE_TEMPS, FUEL, LOCKING_AND_SPINNING",
"allMembersAreRWD": true
},

Scoops
18-09-2021, 19:16
The S397 GT3 (assume same for the GTE cars) have differing lengths upto 50cm difference.

My questions are

A is this 50cm significant for the spotter?
B If so how do I add different car length and width in a class?

Thanks

Rooster09
04-06-2022, 13:15
I posted the below message a few days ago, in both General and PC issues forums, but no replies yet, can you help?
Hi, Hoping you can help with the carclass.json file mods. CrewChief calls out temperature warnings at much too low temps for Nascar races in iRacing, so I modified the carclass.json file (in Documents\Crewchiekv4 folder) to fix that, but it is not working. I have attached the modified file for viewing, I simply copied the original file and added the new car classes to the beginning of the new file.
I hope some of you folks can tell me what I am doing wrong for this issue.

Thanks, Rooster09