1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

AMS2 Dedicated Server Tool / SteamCMD Support

Discussion in 'Automobilista 2 - General Discussion' started by Dave Stephenson, May 29, 2020.

  1. Kevin Cox

    Kevin Cox Active Member AMS2 Club Member

    Joined:
    Mar 11, 2016
    Messages:
    444
    Likes Received:
    80
    Thanks for the example config files. One question though. When setting the server up for the first time I can get it to only allow you to choose one class. For example the "Ginetta G55". However when the race is over and everyone leaves the server resets automatically and then allows you to choose any car you want. How do I stop this from happening. I want it to just keep the "Ginetta G55".

    Another issue is Simresults.net I've uploaded a result file and it thinks it's from Project Cars? See link below. It only shows the race as one lap when the race was 5 mins long and we completed more than one lap.

    Result 200921-6jB - BrandsHatch_GP - Phoenixracingclub.net - Project Cars - Simresults
     
  2. Wolfgang Herold

    Wolfgang Herold I Like Liveries :) AMS2 Club Member

    Joined:
    Apr 3, 2016
    Messages:
    2,267
    Likes Received:
    1,352
  3. Kevin Cox

    Kevin Cox Active Member AMS2 Club Member

    Joined:
    Mar 11, 2016
    Messages:
    444
    Likes Received:
    80
    I already had. My files match those exactly so why does it show as Project Cars and only shows one lap in race??

    This is the reason why not many leagues are using AMS2 as running a dedicated server isn't easy. :(
     
  4. Dave Stephenson

    Dave Stephenson Administrator Staff Member AMS2 Club Member

    Joined:
    Feb 13, 2016
    Messages:
    857
    Likes Received:
    1,063
    upload_2020-9-22_9-34-19.png upload_2020-9-22_9-35-1.png
    Double check that you have tools selected in the dropdown above the library list.
    Which file did you use as a base?
    The URL to list them is right there in the comment above the value in the config file. If you have default httpapi setup head to localhost:9000/<insert url string here>
    Ensure you have set the server to have controlGameSetup : true and have SeverControlsVehicleClass/ServerControlsVehicle enabled as appropriate.

    Sorry I thought I had posted here about this but I posted in the AMS1 dedi thread :oops:
    I did take a look at it after the last release and made some headway but still having some issues setting up the build environment for it. I won't have chance now until after release again but will pick it back up then.
     
  5. Goffik

    Goffik Well-Known Member

    Joined:
    Apr 5, 2020
    Messages:
    472
    Likes Received:
    308
    I'm not sure. If you're using my exact config files then this shouldn't happen, because the server I run doesn't do that. Check the values Dave mentioned above, and/or use my server.cfg as-is to see if it still happens.

    For me the results only show qualifying sessions and nothing else. I did read about a tweak that was needed in PCars on the DS to get it to properly show race results, but I didn't bookmark it. If I find it again I'll post it here.
     
  6. Kevin Cox

    Kevin Cox Active Member AMS2 Club Member

    Joined:
    Mar 11, 2016
    Messages:
    444
    Likes Received:
    80
    @Goffik I did use your files to create server. However please see below config files

    Code:
    //////////////////////////////////////////
    // Basic Server Options - DO NOT CHANGE //
    //////////////////////////////////////////
    
    // Logging level of the server. Messages of this severity and more important will be logged.  Can be debug/info/warning/error.
    logLevel : "info"
    
    // Number of gameplay events stored on the server. Oldest will be discarded once limit is reached.
    eventsLogSize : 10000
    
    // The server's name, which will appear in the server browser.
    name : "Phoenixracingclub.net"
    
    // Authenticate users with Steam to check VAC ban when set to true.
    secure : true
    
    // Password required to join the server.
    password : ""
    
    // Maximum size of sessions that can be created on this server. 32 is current max despite 64 being theoretically possible.
    maxPlayerCount : 64
    
    // IP address where the server's sockets should be bound. Leave empty for 'all interfaces'.
    bindIP : ""
    
    // ports used to communicate with Steam and game, they must all be accessible on the public IP of the server.
    steamPort : 8766
    hostPort : 27015
    queryPort : 28016
    
    // Delay between server ticks in milliseconds, when not hosting and when hosting a game, respectively.
    // Lower values will make the server more responsible and decrease latency by a bit at the expense of higher CPU usage.
    sleepWaiting : 50
    sleepActive : 10
    
    // Sports Play will use system sockets instead of Steam networking API. Recommended for offline LAN-only events.
    sportsPlay: false
    
    
    ///////////////////////////////////////////
    // HttpApi Configuration - DO NOT CHANGE //
    ///////////////////////////////////////////
    
    // Enable/disable HTTP API.
    enableHttpApi : true
    
    // Similar to logLevel above but used only for libwebsockets output.
    httpApiLogLevel : "warning"
    
    // Interface name or IP where to bind the local http server providing the API and web-based controls.
    // This is the textual name of the interface as assigned by your OS, or IP address of the interface.
    // The default value is "127.0.0.1", change it to an empty string to bind the listen socket to all available interfaces.
    httpApiInterface : "127.0.0.1"
    
    // Port where the local http server listens.
    httpApiPort : 9000
    
    // Map with extra HTTP headers to add to HTTP API responses.
    // The keys are the conditions for adding the headers, the values are the headers to add.
    // There are no conditions supported yet, so just use "*" for a generic wildard for now, that will match everything in the future too.
    httpApiExtraHeaders : {
        "*" : "Access-Control-Allow-Origin: *"
    }
    
    // Http API access level overrides.
    // Each HTTP API endpoint defines its default access level, usually one of "public", "private" or "admin".
    // This map can override these levels to anything else. The keys are wildcard endpoint paths, and the values are the
    // access levels to use. The first path that matches will be used, processing them in the order as written here.
    // The wildcard patterns are case-sensitive and can contain:
    // - '*': matches 0 or more characters
    // - '%': matches 0 or more characters except for forward slash
    // - '?': matches 1 character
    httpApiAccessLevels : {
        // The default is empty, using defaults as defined by the endpoints themselves.
    
        // But you could for example use this to change all access levels to public (not recommended!)
        // "*" : "public"
    
        // Or this to hide the status from public
        // "" : "private"
        // "status" : "private"
    
        // And similar to hide the help and lists from public
        // "api/help" : "private"
        // "api/list*" : "private"
    
        // As you can see from the example above, the paths should be written with no initial or trailing slashes.
    }
    
    // Filtering rules for the access levels.
    // The default access levels are "public", "private" and "admin", but the httpAccessLevels above can define any additional levels.
    // This map then tells the server who has access to which level. It's a map from level names to filtering rules.
    //
    // Filtering rules are then specified as a list of structures, processed in the order as written in the config.
    // Each rule structure contains a type" and then type-specific fields. The supported types are:
    // - "accept": Accept this request, no additional checks.
    // - "reject": Reject this request, no additional checks.
    // - "reject-password": Reject this request and let the client know that a password is required, no additional checks.
    // - "ip-accept": Accept this request if it matches the "ip" mask in CIDR notation (for example, "192.168.1.0/24")
    // - "ip-reject": Reject this request if it matches the "ip" mask in CIDR notation (for example, "192.168.1.0/24")
    // - "user": Accept this request if it authenticates as given "user".
    // - "group" : Accept this request if it authenticates as given "group".
    //
    // User/group authentication is done using the standard HTTP basic access authentication (https://en.wikipedia.org/wiki/Basic_access_authentication).
    httpApiAccessFilters : {
    
        // Public rules. The default is to accept everything.
        "public" : [
            { "type" : "accept" }
        ],
    
        // Private rules. The default is to accept queries from localhost, queries authenticated as users in the "private" group
        // and to reject anything else.
        "private" : [
            { "type" : "ip-accept", "ip" : "127.0.0.1/32" },
            { "type" : "group", "group" : "private" },
            { "type" : "reject-password" }
        ],
    
        // Admin rules. The default is to accept queries from localhost, queries authenticated as users in the "admin" group
        // and to reject anything else.
        "admin" : [
            { "type" : "ip-accept", "ip" : "127.0.0.1/32" },
            { "type" : "group", "group" : "admin" },
            { "type" : "reject-password" }
        ],
    
    }
    
    // User list. Map from user names to passwords, in plain text.
    httpApiUsers : {
        //"dave" : "letmein",
        //"renato" : "letmeintoo"
    }
    
    // User groups. Map from group names to lists of users in said groups.
    httpApiGroups : {
        //"private" : [ "dave", "renato" ],
        //"admin" : [ "dave" ],
    }
    
    // Root directory where the static files for the web tool are located. Relative to current directory.
    staticWebFiles: "web_files"
    
    
    //////////////////////////////////////////
    // LuaApi Configuration - DO NOT CHANGE //
    //////////////////////////////////////////
    
    // Lua API allows the server to be extended by in-server scripting in Lua.
    // The server is running Lua version 5.3, currently with no sandboxing applied to the add-ons. All standard Lua library functions are available.
    
    // WARNING: The LuaApi is not final and the following breaking changes are planned soon:
    // - Rename Lua addon metadata files from *.txt to *.json
    // - Remove default config from the metadata and put it into separate file *_default_config.json
    // - Separate config and persistent data, so that data saved by addons will not pollute the config files, and the config files will retain all comments from the default files.
    
    // Master enable/disable toggle.
    enableLuaApi : true
    
    // Root directory from which the Lua addons are loaded. Relative to current directory if it's not absolute.
    luaAddonRoot: "lua"
    
    // Root directory where the addon configs will be stored if written out by addons. Default configs are defined in the addon base text files.
    luaConfigRoot: "lua_config"
    
    // Root directory where the addon output will be written, once supported. For now the io functions can write anywhere, but this will be limited to this directory in the future.
    luaOutputRoot: "lua_output"
    
    // Names of all Lua addons to load. The addons will be loaded in the specified order. Each addon can list other addons as its dependencies, which attempt to load those first.
    // The server will load addons from directory specified in "luaAddonRoot", loading of each addon will start by loading its config from ADDON_NAME/ADDON_NAME.txt
    luaApiAddons : [
    
        // Core server bootup scripts and helper functions. This will be always loaded first even if not specified here because it's an implicit dependency of all addons.
        "sms_base",
    
        // Automatic race setup rotation.
        "sms_rotate",
    
        // Sends greetings messages to joining members, optionally with race setup info, optionally also whenever returning back to lobby post-race.
        "sms_motd",
    
        // Tracks various stats on the server - server, session and player stats.
        "sms_stats",
    ]
    
    // Names of all lua libraries that are allowed to be used by any addons.
    luaAllowedLibraries : [
    
        "lib_rotate"
    ]
    
    ////////////////////////////////
    // Game Setup Control Options //
    ////////////////////////////////
    
    // Set to true to make this server show up in the browser even if it's empty.
    allowEmptyJoin : true
    
    // Server controls settings (true) or host controls settings (false).
    controlGameSetup : true
    
    // Initial session settings, see /api/list/attributes/session for the full list.
    sessionAttributes : {
        // Whether the server controls track selection. (0/1)
        "ServerControlsTrack" : 1,
    
        // Whether the server controls the vehicle class selection. (0/1)
        // Flag FORCE_SAME_VEHICLE_CLASS (1024) should be also set for this to make sense.
        "ServerControlsVehicleClass" : 1,
    
        // Whether the server controls car individual vehicle selection. (0/1)
        // Flag FORCE_IDENTICAL_VEHICLES (2) should be also set for this to make sense.
        "ServerControlsVehicle" : 1,
      
        // Race flags - bitfield consisting of many flags. Add flag values to get overall number required here.
        // See /api/list/flags/session in HTTP API for the full list. (-1610087912)
        "Flags" : -1609039336,
    
        // Grid size & number of slots reserved for players. Remaining will be populated with AI. 32 is the max setting.
        "GridSize" : 30,
        "MaxPlayers" : 30,
      
        // TRACK. See /api/list/tracks/ in HTTP API.
        "TrackId" : 731129913,
    
        // VEHICLE CLASS. See /api/list/vehicle_classes/ in HTTP API.
        "VehicleClassId" : 382290110,
    
        // Practice length in minutes, in-game time, and time multiplier.
        "PracticeLength" : 30,
        "PracticeDateHour" : 10
        "PracticeDateProgression" : 1
      
        // Qualifying length in minutes, in-game time, and time multiplier.
        "QualifyLength" : 15,
        "QualifyDateHour" : 12
        "QualifyDateProgression" : 1
      
        // Race length in LAPS, in-game time, and time muliplier.
        "RaceLength" : 20,
        "RaceDateHour" : 14
        "RaceDateProgression" : 1
    
        // AI opponent difficulty from 0 to 120. Only valid is AI are enabled.
        "OpponentDifficulty" : 90,
    
        // Damage setting. Club default is visual damage only.
        "DamageType" : 0,
    
        // Tyre wear setting. Club default is 1x wear rate.
        "TireWearType" : 6,
    
        // Fuel usage setting. Club default is 1x usage rate.
        "FuelUsageType" : 0,
    
        // Penalties. (0/1)
        "PenaltiesType" : 1,
      
        // Pit line penalty. (0/1)
        "PitWhiteLinePenalty" : 1
      
        // Drive-through penalties. (0/1)
        "DriveThroughPenalty" : 1
      
        // How much penalty time (in seconds) is required to trigger a drive-though penalty.
        "AllowablePenaltyTime" : 5
      
        // Race mandatory pit stop.
        "RaceMandatoryPitStops" : 0
      
        // Manual pit stops. (0/1)
        "ManualPitStops" : 1
      
        // Race rolling starts.
        "RaceRollingStart" : 0
      
        // Manual rolling starts.
        "ManualRollingStarts" : 1
      
        // Race formation lap. Only valid if using a rolling start.
        "RaceFormationLap" : 0
    
        // Race weather slots. See /api/list/enums/weather in HTTP API.
        "RaceWeatherSlots" : 1,
        "RaceWeatherSlot1" : 296956818,
        "RaceWeatherSlot2" : 296956818,
        "RaceWeatherSlot3" : 296956818,
        "RaceWeatherSlot4" : 296956818,
    }
    
    Code:
    // Config version.
    version : 7
    
    // Default configuration.
    config : {
    
        // Is the current rotation index persistent? If true, the rotation will continue after server restart.
        // If false, the rotation will always start from the first setup.
        // You can delete the sms_rotate_data.json file from lua_config to reset the persistant index.
        "persist_index" : true,
    
        // PLEASE DO NOT MODIFY. Default server settings for RD club racing. Use the rotation settings below to override if needed.
        "default" : {
        // Default server options.
        "Flags" : "ALLOW_CUSTOM_VEHICLE_SETUP,FORCE_REALISTIC_DRIVING_AIDS,AUTO_START_ENGINE,TIMED_RACE,WAIT_FOR_RACE_READY_INPUT,PIT_SPEED_LIMITER,DISABLE_DRIVING_LINE,COOLDOWNLAP"
        "DamageType" : "OFF",
        "TireWearType" : "STANDARD",
        "FuelUsageType" : "STANDARD",
        "PenaltiesType" : "FULL",
        "PitWhiteLinePenalty" : 1,
        "DriveThroughPenalty" : 1,
        "AllowablePenaltyTime" : 5,
        "RaceMandatoryPitStops" : 0,
        "ManualPitStops" : 1,
        "RaceRollingStart" : 0,
        "ManualRollingStarts" : 1,
        "RaceFormationLap" : 0,
        "OpponentDifficulty" : 90,
        "GridSize" : 30,
        "MaxPlayers" : 30,
    
        // Default Practice length in minutes, in-game start time, and time multiplier.
        "PracticeLength" : 60,
        "PracticeDateHour" : 10,
        "PracticeDateProgression" : 1,
       
        // Default Qualifying length in minutes, in-game start time, and time multiplier.
        "QualifyLength" : 15,
        "QualifyDateHour" : 12,
        "QualifyDateProgression" : 1,
       
        // Default Race length in minutes, in-game start time, and time muliplier.
        "RaceLength" : 30,
        "RaceDateHour" : 14,
        "RaceDateProgression" : 1,
    
        // Default event weather.
        "PracticeWeatherProgression" : 1,
        "PracticeWeatherSlots" : 1,
        "PracticeWeatherSlot1" : "LightCloud",
        "QualifyWeatherProgression" : 1,
        "QualifyWeatherSlots" : 1,
        "QualifyWeatherSlot1" : "LightCloud",
        "RaceDateProgression" : 1,
        "RaceWeatherSlots" : 1,
        "RaceWeatherSlot1" : "LightCloud",
        },
    
        // Rotation settings. Sessions will use the above default settings unless specified below, in which case they will override the
        // defaults. Settings can ONLY be overridden, they CANNOT be added or removed. The only exceptions to this rule are the track
        // and vehicle class attributes.
        // For single race events use RACE ONE and comment out RACE TWO settings. For two race events, enable RACE TWO. Leave the
        // practice session at 0 to disable, and qualifying to 5 mins to act as a short break or superpole.
        "rotation" : [
        {
        // RACE ONE
        // Track and vehicle class.
        "TrackId" : "BrandsHatch_GP",
        "VehicleClassId" : "G55Supercup",
        //"VehicleModelId" : "MCR S2000",
    
        // Session length / time overrides.
        "PracticeLength" : 0,
        "PracticeDateHour" : 10,
        "QualifyLength" : 10,
        "QualifyDateHour" : 12,
        "RaceLength" : 5,
        "RaceDateHour" : 14,
    
        // Optional mandatory pit stop, rolling start, and formation lap. Formation lap works for rolling start only.
        //"RaceMandatoryPitStops" : 0,
        //"RaceRollingStart" : 0,
        //"RaceFormationLap" : 0,
    
        // Race weather overrides.
        //"RaceWeatherSlots" : 1,
        //"RaceWeatherSlot1" : "LightCloud",
        //"RaceWeatherSlot2" : "LightCloud",
        //"RaceWeatherSlot3" : "LightCloud",
        //"RaceWeatherSlot4" : "LightCloud",
        },
        {
        // RACE TWO
        // Track and vehicle class. Should be identical to the first session above.
        // "TrackId" : "Cascavel2",
        // "VehicleClassId" : "Montana",
        //"VehicleModelId" : "MCR S2000",
    
        // Session length / time overrides. For multi-race events leave practice length at 0 and qualifying at 5.
        // "PracticeLength" : 0,
        // "PracticeDateHour" : 10,
        // "QualifyLength" : 5,
        // "QualifyDateHour" : 15,
        // "RaceLength" : 20,
        // "RaceDateHour" : 16,
    
        // Optional mandatory pit stop, rolling start, and formation lap. Formation lap works for rolling start only.
        //"RaceMandatoryPitStops" : 0,
        //"RaceRollingStart" : 0,
        //"RaceFormationLap" : 0,
    
        // Race weather overrides.
        //"RaceWeatherSlots" : 1,
        //"RaceWeatherSlot1" : "LightCloud",
        //"RaceWeatherSlot2" : "LightCloud",
        //"RaceWeatherSlot3" : "LightCloud",
        //"RaceWeatherSlot4" : "LightCloud",
        }
        ]
    }
    
     
  7. Wolfgang Herold

    Wolfgang Herold I Like Liveries :) AMS2 Club Member

    Joined:
    Apr 3, 2016
    Messages:
    2,267
    Likes Received:
    1,352
  8. Kevin Cox

    Kevin Cox Active Member AMS2 Club Member

    Joined:
    Mar 11, 2016
    Messages:
    444
    Likes Received:
    80

    Attached Files:

  9. Goffik

    Goffik Well-Known Member

    Joined:
    Apr 5, 2020
    Messages:
    472
    Likes Received:
    308
    Comment out the curly brackets { } at the top and bottom of the following section, and see if that works:

    Code:
        {
        // RACE TWO
        // Track and vehicle class. Should be identical to the first session above.
        // "TrackId" : "Cascavel2",
        // "VehicleClassId" : "Montana",
        //"VehicleModelId" : "MCR S2000",
    
        // Session length / time overrides. For multi-race events leave practice length at 0 and qualifying at 5.
        // "PracticeLength" : 0,
        // "PracticeDateHour" : 10,
        // "QualifyLength" : 5,
        // "QualifyDateHour" : 15,
        // "RaceLength" : 20,
        // "RaceDateHour" : 16,
    
        // Optional mandatory pit stop, rolling start, and formation lap. Formation lap works for rolling start only.
        //"RaceMandatoryPitStops" : 0,
        //"RaceRollingStart" : 0,
        //"RaceFormationLap" : 0,
    
        // Race weather overrides.
        //"RaceWeatherSlots" : 1,
        //"RaceWeatherSlot1" : "LightCloud",
        //"RaceWeatherSlot2" : "LightCloud",
        //"RaceWeatherSlot3" : "LightCloud",
        //"RaceWeatherSlot4" : "LightCloud",
        }
    
     
  10. Kevin Cox

    Kevin Cox Active Member AMS2 Club Member

    Joined:
    Mar 11, 2016
    Messages:
    444
    Likes Received:
    80
    Yes that done the trick but I did have to remove the "," from the curly bracket from the end curly bracket for RACE ONE

    Sad news though is my results file is still showing as Project Cars 1 and only completing one lap. :(
     
  11. Wolfgang Herold

    Wolfgang Herold I Like Liveries :) AMS2 Club Member

    Joined:
    Apr 3, 2016
    Messages:
    2,267
    Likes Received:
    1,352
    i don't know how the simresults guy recognizes the game pCARS <-> pCARS2 <-> AMS2.
    The 2 starting lines look the same in my files like yours.
    Maybe there is no difference and just the track/car IDs are there to recognise the right sim.
    So Brands and Ginetta are really a bad example. Try a AMS2 unique track or car and check again.

    Try my sms_stats files. Maybe there is a bug in yours.
    Have to be copied to \Automobilista 2 - Dedicated Server\lua\sms_stats\ folder
     

    Attached Files:

  12. Goffik

    Goffik Well-Known Member

    Joined:
    Apr 5, 2020
    Messages:
    472
    Likes Received:
    308
    I have no idea what would cause that. Just tried a results file from the RD server and it showed up as AMS 2 on simresults. The issue I'm having is that it only shows qualy results, but it turns out the solution is actually linked to on the simresults website itself. Direct link to solution, in case anyone else is having this problem. (Please note that this tweak is untested by me at the moment. I'll see if it works after next week's race.)
     
  13. Kevin Cox

    Kevin Cox Active Member AMS2 Club Member

    Joined:
    Mar 11, 2016
    Messages:
    444
    Likes Received:
    80
    @Wolfgang Herold & @Goffik
    Thank you guys so much for your help. It has been much appreciated.

    I am going to give it a rest for now sorting out an AMS 2 server. I've spent too many hours on it now and the next issue is sometimes the server shows in the lobby and sometimes it doesn't even with no changes to any files.

    I've spent years running dedi servers for various sim racing titles over the years and this has to be one of the most difficult I've had experience with. Life is too short so I think I'll just concentrate on running ACC, AMS 1, RF2 etc.
     
  14. Dave Stephenson

    Dave Stephenson Administrator Staff Member AMS2 Club Member

    Joined:
    Feb 13, 2016
    Messages:
    857
    Likes Received:
    1,063
    by testing content IDs
     
  15. Wolfgang Herold

    Wolfgang Herold I Like Liveries :) AMS2 Club Member

    Joined:
    Apr 3, 2016
    Messages:
    2,267
    Likes Received:
    1,352
    OK. Thats what i assumed in the 2nd line.
    Would be easier to acknowledge if Reiza could add an identifier or just change the entry of the first two comment lines.

    e.g.
    // Persistent data for addon 'sms_stats', addon version 2.0AMS2
    // Automatically maintained by the addon, do not edit!
     
    • Like Like x 1
  16. Goffik

    Goffik Well-Known Member

    Joined:
    Apr 5, 2020
    Messages:
    472
    Likes Received:
    308
    Pretty sure this an AMS 2 issue, and not anything you're doing wrong. It happens every so often with the RD server too, so I have to restart it to get it to show up.

    I second that mate, it's not very user-friendly at the moment! :confused:
     
    • Agree Agree x 1
  17. Dann Murillo

    Dann Murillo tinyurl.com/osrdiscord AMS2 Club Member

    Joined:
    Mar 9, 2016
    Messages:
    675
    Likes Received:
    405
    Does the cooldown lap actually work in multiplayer races? I have tried and every time my multiplayer races end, the sim takes control as soon as I cross the line. I see the COOLDOWN LAP message for like a half second but the sim seems to override the setting.

    I have it set in the flags
    "Flags" : "ALLOW_CUSTOM_VEHICLE_SETUP,ABS_ALLOWED,SC_ALLOWED,TCS_ALLOWED,PIT_SPEED_LIMITER,WAIT_FOR_RACE_READY_INPUT,COOLDOWNLAP"

    And I can see it in the UI:
    [​IMG]
     
  18. Dave Stephenson

    Dave Stephenson Administrator Staff Member AMS2 Club Member

    Joined:
    Feb 13, 2016
    Messages:
    857
    Likes Received:
    1,063
    @Dann Murillo Manual cooldown lap is always active in multiplayer. It was done to resolve some issues some time ago but the UI is lagging a bit there.

    With regard to the quick flash then control being taken over, if the camera changes to trackside when you lose control then it is not ai control per se. In Multi the 'Cooldown lap' is more 'Cooldown phase' and lasts until the session over countdown reaches zero or all human vehicles finish the race iirc. At that point the session is ended, results calculated, and game advanced to the post session leaderboard.
     
    • Like Like x 1
  19. Goffik

    Goffik Well-Known Member

    Joined:
    Apr 5, 2020
    Messages:
    472
    Likes Received:
    308
    Manual cooldown laps definitely work online because we use them.
     
    • Like Like x 1
  20. Dann Murillo

    Dann Murillo tinyurl.com/osrdiscord AMS2 Club Member

    Joined:
    Mar 9, 2016
    Messages:
    675
    Likes Received:
    405
    Thank you so much for the feedback and information guys. @Dave Stephenson specifically thanks for taking the time to explain it as I know you have a lot going on. I am sure this will help others as well.

    Turns out I was testing the theory running solo in a multiplayer race, thus when I crossed the line the sim would take over as I was the last car running. So now it makes perfect sense. Hoping some day we can get back to how RF1/AMS or even iracing lets us have complete control until we choose to exit.

    :hurrayreiza:
     
    • Like Like x 2

Share This Page