I am trying to setup a Stock Car server for testing. I have enabled StockCarRules.dll in the CustomPluginVariables.JSON. I have also enabled Knockout qualifying. The knockout qual has been a source of frustration as well, but that is an issue for another post. I am having trouble getting the Safety car to come out when there is a spin. Currently I am using all AI opponents (15 or so) on the server. When I did have another person on the server I was able to get the safety car to come out upon a spin. After that one time it never happened again. In the servers Multiplayer.JSON I can not find any setting for enabling the safety car to come out. I have also gone into the Server's "player" .JSON. In there I located a line under "Race Conditions". It is "MULTI Safety Car Thresh" I have had it set to 0.1, 0.5, and 1. My understanding was that the lower the number the more often the full course yellow would be called. With all the settings no Safety car is coming out upon a spin or crash. I have done google searches with little to no actual information other than "How do I turn off the Full course yellow?" I am trying to go the other way. I know it works as I have run Stockcar content on other servers with fairly well dialed in full course yellows. What am I doing wrong? HELP!!!!
When you create a vmod, you have the option to choose a customised .rfm. This rfm file contains the safety car rules you are looking for. Something like spin sensitivity for the safety car to come out. In the player.json you'll have some option that refers to "use .rfm settings". So it will use the rfm rules. For example with the parcferme setting.
So the rules governing the safety car and such are created when I make the Vmod? That seems like it maybe a tedious way to set this option up. Make the adjustments to the settings and then make the vmod. Test online and then adjust from there? I cant imagine ISI made it this complicated so I'll assume I must have understood it wrong.
, ISI has made some .rfm presets for you. // Game/Season Info: Mod Name = National Stock Car Racing 2015 Track Filter = NSCRS SRGrandPrix OWChallenge Vehicle Filter = OR: StockCar_2015 SafetyCar = CorvettePC.veh MultiplayerTempVehicle=GAMEDATA\VEHICLES\MultiplayerVehicleSC.SCN Matchmaker = match.rfactor.net Matchmaker TCP Port = 39001 Matchmaker UDP Port = 39002 Loading Bar Color = 16750848 Max Opponents = 42 // maximum opponents in practice/quick race/grand prix/championship Min Championship Opponents = 5 // minimum opponents in championship only // Seasons: Season = NSCS2015 { FullSeasonName = National Stock Car Series 2015 Vehicle Filter = NSCRS StockCar SceneOrder { Jacksonville500 Joesville_Speedway // Lone_Star_400 Orchard_Lake_Oval // CIS_Oval_600 Jacksonville500 Essington_Long Joesville_Speedway // Lone_Star_400 //// CIS_Oval_500 } } // The base # is a simple multiplier that has a clear effect on the draft. // The exponent numbers, though, control the curve of the effect vs. distance. // Higher numbers make the effect drop off at a shorter distance. // NOTE: all these variables can now be overridden within HDV files, for // vehicle-specific drafting (in addition to new HDV parameters to affect the // response to drafting in terms of balance and downforce loss). Drafting { BaseDropoff=0.17 // higher number -> more drafting effect (default=0.185) LeadingExponent=1.95 // higher number -> lower effect on leader (default=2.0) FollowingExponent=2.0 // higher number -> lower effect on followers (default=2.0) VehicleWidth=1.9 // helps determine base width of wake (default=1.9) SideEffect=1.0 // negative effects of side-by-side drafting (default=0.35) SideLeadingExponent=2.0 // added to regular LeadingExponent to affect the side wake (default=2.0) SideFollowingExponent=25.0 // added to regular FollowingExponent to affect the side wake (default=5.0) } // Default scoring entries can be overridden by season entries, which in turn can be // overridden by track GDB entries. In general we would recommend as few overrides in // the track GDB as possible because they will affect every series that races there. // Note that you do not copy "DefaultScoring{}" in the track GDB, just the variables. DefaultScoring { // NOTE: most or possibly all of these values can be overridden in a specific Season or in a specific track GDB file. // SESSION TIMES AND DURATIONS TestDayDay = Thursday TestDayStart = 8:30 Practice1Day = Friday Practice1Start = 10:00 Practice1Duration = 60 Practice2Day = Friday Practice2Start = 13:00 Practice2Duration = 60 Practice3Day = Saturday Practice3Start = 9:00 Practice3Duration = 45 Practice4Day = Saturday Practice4Start = 10:15 Practice4Duration = 45 QualifyDay = Saturday QualifyStart = 14:00 QualifyDuration = 60 QualifyLaps = 4 WarmupDay = Sunday WarmupStart = 9:00 WarmupDuration = 30 RaceDay = Sunday RaceStart = 12:00 RaceLaps = 90 RaceTime = 240 // RULES // Pit speed limits in kilometers per hour for race and normal (all other sessions); default=80.0 kph (= 49.7 mph). RacePitKPH = 80.467 //45mph+5 NormalPitKPH = 80.467 FormationSpeedKPH = 96.5604 // Safety car threshold multipliers, in other words an adjustment for the sensitivity of the game to calling // full-course cautions. These can be different for road vs. oval courses. Lower numbers result in more // full-course cautions; default=1.0, possible values are 0.01 (very sensitive) and up. Values more than // 5.0 will probably result in no full-course cautions being called by the game (note that there are now // multiplayer admin commands to call cautions). SafetyCarRoadMult=0.6 SafetyCarOvalMult=0.2 // Whether full-course cautions may be called for a spin more than 90 degrees where the driver keeps going. // These can be different for road vs. oval courses. Higher values will result in more full-course cautions // due to these temporary spins; default=0.0, possible values are 0.0-2.0. SpinRoadSeverity=0.15 SpinOvalSeverity=0.3 // Just a general tolerance for very momentary speeding (this value has no particular units); default=4.0, // possible values are 0.0 (not recommended) and up. PitSpeedingAllowance = 0.4 // Whether leading car one lap down can re-gain his lap during a full-course caution. This value can not // only be overridden per-season or per-track, but also in the player file; default=0, // possible values are 0=off, 1=used at ovals only, 2=used at road courses only, 3=used everywhere. LuckyDog = 3 // How many laps must be left for lucky dog to take effect; default = 10, possible values are 0 (meaning it // is always applicable) and up. LuckyDogLapsLeft = 0 // Minimum laps during a full-course yellow; default = 2, possible values are 1 (?) and up ... remember that it // might be useful to override this one in some track GDBs. MinimumYellowLaps = 3 // Additional random yellow laps; default = 1, possible values are 0 and up. RandomYellowLaps = 1 // Whether pits are closed during the first part of the full-course yellow; default=0, possible values 0 or 1. ClosePits = 1 // How many laps the pits remain closed during the first part of the full-course yellow; default=1, possible // values are 1 and up (probably needs to be less than MinimumYellowLaps, though) ... again, it might be useful // to override this one in some track GDBs. PitsClosedLaps = 1 // This is the threshold for the number of yellow flag laps to determine whether the lead-lappers get to // pit before everyone else. Only valid if ClosePits is enabled; default=2, possible values are 0 (never // let leaders pit first) and up. LeadYellowLaps = 3 // Penalty given for getting served on a closed pitlane (meaning that the vehicle entered AFTER the pit was // closed); default=2, possible values are -1=no penalty 0=stop/go 1=drivethru 2=longest line 3=DQ. ClosedPitPenalty = 2 // Penalties for two severities of pit speeding in the race session under green or yellow flags; defaults are // stop/go for a major violation, drivethru for a minor violation. // Possible values are -1=no penalty 0=stop/go 1=drivethru 2=longest line 3=DQ. PitSpeedingRaceGreenMajorPenalty=1 PitSpeedingRaceGreenMajorPenaltyValue=10 // only relevant for stop/go PitSpeedingRaceYellowMajorPenalty=2 PitSpeedingRaceYellowMajorPenaltyValue=10 // only relevant for stop/go PitSpeedingRaceGreenMinorPenalty=1 PitSpeedingRaceGreenMinorPenaltyValue=10 // only relevant for stop/go PitSpeedingRaceYellowMinorPenalty=2 PitSpeedingRaceYellowMinorPenaltyValue=10 // only relevant for stop/go // Speeding penalties in qualification and practice/warmup PitSpeedingQualifyGreenMajorPenalty=0 PitSpeedingQualifyGreenMajorPenaltyValue=10 // only relevant for stop/go PitSpeedingQualifyYellowMajorPenalty=0 PitSpeedingQualifyYellowMajorPenaltyValue=10 // only relevant for stop/go PitSpeedingQualifyGreenMinorPenalty=1 PitSpeedingQualifyGreenMinorPenaltyValue=10 // only relevant for stop/go PitSpeedingQualifyYellowMinorPenalty=1 PitSpeedingQualifyYellowMinorPenaltyValue=10 // only relevant for stop/go PitSpeedingPracticeGreenMajorPenalty=0 PitSpeedingPracticeGreenMajorPenaltyValue=10 // only relevant for stop/go PitSpeedingPracticeYellowMajorPenalty=0 PitSpeedingPracticeYellowMajorPenaltyValue=10 // only relevant for stop/go PitSpeedingPracticeGreenMinorPenalty=1 PitSpeedingPracticeGreenMinorPenaltyValue=10 // only relevant for stop/go PitSpeedingPracticeYellowMinorPenalty=1 PitSpeedingPracticeYellowMinorPenaltyValue=10 // only relevant for stop/go // Pit enter/exit closed penalties (does NOT apply to pits closing for cautions) PitExitClosedRacePenalty=3 PitExitClosedRacePenaltyValue=10 // only relevant for stop/go PitExitClosedQualifyPenalty=0 PitExitClosedQualifyPenaltyValue=10 // only relevant for stop/go PitExitClosedPracticePenalty=0 PitExitClosedPracticePenaltyValue=10 // only relevant for stop/go PitEnterClosedRacePenalty=3 PitEnterClosedRacePenaltyValue=10 // only relevant for stop/go PitEnterClosedQualifyPenalty=0 PitEnterClosedQualifyPenaltyValue=10 // only relevant for stop/go PitEnterClosedPracticePenalty=0 PitEnterClosedPracticePenaltyValue=10 // only relevant for stop/go // Whether local yellows are shown, which can be different for road vs. oval courses; default=1, possible values 0 or 1. LocalYellowsRoad = 1 LocalYellowsOval = 0 // Private qualifying, which means that everyone is qualifying simultaneously but alone on track. You can // actually still view other cars, but you can only see one participant at a time. This value can be overridden // with a player file entry; default=0, possible values 0 or 1. PrivateQualifying = 0 // Whether penalties add to each other, essentially meaning they can all be served at once; default=0, possible // values 0 or 1. AdditivePenalties = 1 // Number of laps to serve the penalty before being disqualified; default=3, possible values 1 and up. LapsToServePenalty = 4 // Whether passing is allowed on starts and restarts before the start/finish line; default=0, possible values // are 1=passing on right is legal, 2=passing on left is legal, and 3=passing anywhere is legal. PassingBeforeLineOval=1 PassingBeforeLineRoad=0 // Whether order of vehicles is frozen when the full-course yellow is first shown. If necessary, server will // correct the order as people cross the start/finish line; default=0, possible values 0 or 1. FreezeOrder = 1 // Behavior if full-course yellow is active at the end of a race; default=0, possible values are: // 0=race finishes normally // 1=finish will be delayed one time only and will allow one lap after the green flag // 2=finish will be delayed one time only and will allow two laps after the green flag // 3=finish can be delayed multiple times, with only one lap allowed after the green flag // 4=finish can be delayed multiple times, with two laps needed after the green flag // 5=finish can be delayed three times, with only one lap allowed after the green flag // 6=finish can be delayed three times, with two laps needed after the green flag // Note that a full-course yellow called on the very last lap will NOT currently delay the // finish. Also note that this feature does not work for timed races. FinishUnderCaution = 6 // Whether caution laps are counted towards the total number of laps; default=1, possible values 0 or 1. CountCautionLaps = 1 // Whether restarts are double-file and how many laps left are required to do so; default=0, possible values // are 0=off, 1+=laps left required to convert to double file. DoubleFileRestarts=10 // Control over what changes can be made between qualifying and race. This value can be overridden through // the player file; default=0, possible values are 0=no restrictions, 1=restrictions apply, 2=restrictions // apply as long as it doesn't rain in qualifying or afterwards (and no that doesn't mean rain is implemented // yet, sorry). ParcFerme = 0 // Whether fuel level remains the same (only if parc ferme is applicable). In general, this value specifies // what fraction of the qualifying session is reached before fuel usage becomes "free"; default=0.0, possible // values are 0.0-1.0, where 0.0 indicates fuel level is always free, 0.5 would mean fuel level at the halfway // point of qualifying will be used to start the race, and 1.0 means fuel level at the end of qualifying will // be used to start the race (and no refueling allowed during qualifying). ParcFermeFuel = 0.0 // How many of the top qualifiers have to keep their used tires on for the race (only if parc ferme is applicable); // default=0, possible values are 0 and up (300 recommended if everybody has to keep their used tires). ParcFermeTires = 0 // Whether setup used during qualifying must be used during the race (only if parc ferme is applicable), except // for the RFM/season/GDB or PLR file "FreeSettings"; default=1, possible values 0 or 1. ParcFermeSetup = 0 // Settings that are free to be changed regardless of fixed or parc ferme setup. This can be overridden by the // player file. You must add the values of each setting that drivers are free to change: // 1 = steering lock // 2 = brake pressure // 4 = starting fuel // 8 = fuel strategy // 16 = tire compound // 32 = brake bias // 64 = front wing // 128 = engine settings (rev limit, boost, and engine braking) // For example, the default free settings are: steering lock (1) + brake pressure (2) + fuel strategy (8) = 11. // Possible values are -1 (use default value) up to 255 (which equals 1+2+4+8+16+32+64+128). FreeSettings = -1 // How blue flags are used. This value can be overridden through the player file; default=3, possible values // are: 0=no blue flags, 1=show but never penalize for not moving over, 2=show and penalize if necessary for // vehicles withing 0.3 seconds, 3=0.5 seconds, 4=0.7 seconds, 5=0.9 seconds, 6=1.1 seconds. BlueFlags = 1 // Method to end timed races. Previous releases of rFactor (versions 1.070 and before) gave the checkered flag to // any vehicle that crossed the start/finish line after time ran out. The new default behavior is to wait until // the leader crosses the start/finish line before waving the checkered flag. However, in the case that the // leader has crashed out but is multiple laps ahead of the second-place vehicle, there needs to be a fail-safe // case. This value defines how many laps non-leaders can complete after time runs out before being given the // checkered flag; default=2 (which means that, in most normal circumstances, the checkered flag will be given // when the leader crosses the s/f line), possible values are 1 (which would be the original rFactor behavior) or // any positive integer. TimedRaceNonLeaderLaps = 2 } // Money and experience accumulation (mostly multipliers for hard-coded values // which have various factors taken into account like number of competitors) StartingMoney = 500 // you might need a little spendin' cash StartingExperience = 0 // start with no experience StartingVehicle = NSC06_01 // randomly chooses one free vehicle from this list DriveAnyUnlocked = 0 // 0 = must own to drive, 1 = must be unlocked to drive, 2 = drive anything BaseCreditMult = 1.0 // base which is multiplied by all the other multipliers LapMoneyMult = 1.0 // laps completed (based roughly on expected lap times) LapExpMult = 1.0 FineMoneyMult = 1.0 // fines FineExpMult = 0.0 PoleSingleMoneyMult = 1.0 // pole positions in single player PoleSingleExpMult = 1.0 PoleCareerMoneyMult = 1.0 // pole positions in career mode PoleCareerExpMult = 1.0 PoleMultiMoneyMult = 1.0 // pole positions in multiplayer PoleMultiExpMult = 1.0 WinSingleMoneyMult = 1.0 // wins in single player WinSingleExpMult = 1.0 WinCareerMoneyMult = 1.0 // wins in career mode WinCareerExpMult = 1.0 WinMultiMoneyMult = 1.0 // wins in multiplayer WinMultiExpMult = 1.0 PointsSingleMoneyMult = 1.0 // points in single player PointsSingleExpMult = 1.0 PointsCareerMoneyMult = 1.0 // points in career mode PointsCareerExpMult = 1.0 PointsMultiMoneyMult = 1.0 // points in multiplayer PointsMultiExpMult = 1.0 // Alternate commentary directory if desired (filename comes from config.ini) //CommentarySeries = GameData\Commentary\NSCRS_Spotter // Season scoring info SeasonScoringInfo { Place1 = 43 Place2 = 42 Place3 = 41 Place4 = 40 Place5 = 39 Place6 = 38 Place7 = 37 Place8 = 36 Place9 = 35 Place10 = 34 Place11 = 33 Place12 = 32 Place13 = 31 Place14 = 30 Place15 = 29 Place16 = 28 Place17 = 27 Place18 = 26 Place19 = 25 Place20 = 24 Place21 = 23 Place22 = 22 Place23 = 21 Place24 = 20 Place25 = 19 Place26 = 18 Place27 = 17 Place28 = 16 Place29 = 15 Place30 = 14 Place31 = 13 Place32 = 12 Place33 = 11 Place34 = 10 Place35 = 9 Place36 = 8 Place37 = 7 Place38 = 6 Place39 = 5 Place40 = 4 Place41 = 3 Place42 = 2 Place43 = 1 } SceneOrder { } // Pitstop locations in order from front to back, with the number of vehicles sharing each pit. // If the order needs to be reversed on an individual track, set "ReversePitOrder=1" in the track-specific GDB file. // These are now "pit group" names, not necessarily team names. // In the VEH file, the pit group defaults to the team name but can be overridden by defining "PitGroup=<name>". PitOrderByQualifying = true // whether to set the pit order in the race by qualifying results PitGroupOrder { // format is: PitGroup = <# of vehicles sharing pit>, <groupname> PitGroup = 1, Group1 PitGroup = 1, Group2 PitGroup = 1, Group3 PitGroup = 1, Group4 PitGroup = 1, Group5 PitGroup = 1, Group6 PitGroup = 1, Group7 PitGroup = 1, Group8 PitGroup = 1, Group9 PitGroup = 1, Group10 PitGroup = 1, Group11 PitGroup = 1, Group12 PitGroup = 1, Group13 PitGroup = 1, Group14 PitGroup = 1, Group15 PitGroup = 1, Group16 PitGroup = 1, Group17 PitGroup = 1, Group18 PitGroup = 1, Group19 PitGroup = 1, Group20 PitGroup = 1, Group21 PitGroup = 1, Group22 PitGroup = 1, Group23 PitGroup = 1, Group24 PitGroup = 1, Group25 PitGroup = 1, Group26 PitGroup = 1, Group27 PitGroup = 1, Group28 PitGroup = 1, Group29 PitGroup = 1, Group30 PitGroup = 1, Group31 PitGroup = 1, Group32 PitGroup = 1, Group33 PitGroup = 1, Group34 PitGroup = 1, Group35 PitGroup = 1, Group36 PitGroup = 1, Group37 PitGroup = 1, Group38 PitGroup = 1, Group39 PitGroup = 1, Group40 PitGroup = 1, Group41 PitGroup = 1, Group42 PitGroup = 1, Group43 }
Ah... I am a visual Learner.... Thanks a ton for the picture. That made things a bunch clearer. Maybe ISI could work on some documentation.... I'll add it to my wish list for christmas. LOL Again thanks.
Don't forget to change vmod version number if you make new vmod with the same .rfm file. I think most admins use this tool to create vmods. It much easier to create a new vlod and takes care of the version number automaticly. http://isiforums.net/f/showthread.php/19702-GetMod-Manager
I have that tool. I have not fully delved into it other than to use it for setting up Getmod. I expect I'll simply package another rfmod. THe server mod I am using is only for testing purposes anyways. I want to make sure I have the server setup correctly for the next Cup series from the league.
Sorry I just caught this, there's a quirk when selecting one of the included rFms in MAS2 - Make sure to use the dropdown and not the "B" button (browse) You'll see that if you use browse it will still show "default.rfm" even if you've selected a different rFm. Select from the dropdown - example: Note: If on the other hand you have your own custom rFm you edited/saved somewhere and want to select that, the "B" button (browse) works fine. (it's only the included selections of rFms that are affected by this quirk)