AMS2 Dedicated Server Tool / SteamCMD Support

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

  1. Goffik

    Goffik Well-Known Member

    Joined:
    Apr 5, 2020
    Messages:
    472
    Likes Received:
    308
    Comparing your sms_rotate_config to mine, you have a comma after the flags line. Mine does not, and all the flags I have set work fine. Try removing the comma and see what happens.

     
    • Like Like x 1
  2. Jean-Yves Mercy

    Jean-Yves Mercy Active Member AMS2 Club Member

    Joined:
    Mar 5, 2018
    Messages:
    195
    Likes Received:
    64
    waow!, so many criticisms in such a small post.

    It is true that Reiza still has some bugs inherited from PCars2, and also for the dedicated server.

    But maybe you should publish your solutions for the Dedicated Server, besides making Reiza look Incompetent, you will be glorified.

    Unless you are just a young beginner in SIm-Racing, you say that you have just discovered Rfactor2. Maybe then you don't know the real actors of Sim-Racing?
     
    • Agree Agree x 2
    • Like Like x 1
    • Dislike Dislike x 1
  3. DaWorstPlaya

    DaWorstPlaya Active Member

    Joined:
    Aug 5, 2020
    Messages:
    356
    Likes Received:
    159
    Thanks for looking through it, I'll try that. Let me know if you find anything else out of the ordinary. Your help is very appreciated.
     
  4. Giovani Baltieri

    Giovani Baltieri New Member

    Joined:
    Jul 6, 2019
    Messages:
    11
    Likes Received:
    0
    I started at AV 2 1/2 years ago and played Assetto Corsa, I had a brief contact with AMS (1), Assetto Competizione and lately got to know RF2. I don't want to glorify myself, you win to do, do it well and don't let the enthusiasts of this little game disappoint. If you want me to sell my files, of course, I didn't study for Hobby. Take care.
     
  5. Tony Binelli

    Tony Binelli Active Member AMS2 Club Member

    Joined:
    Apr 26, 2016
    Messages:
    440
    Likes Received:
    143
    Wish someone would post a fully fuctioning server.cfg (minus name and password) with sms_rotate_config etc so we can try to get a known working config working for us:)
    then i can just tweak it to my preferences
     
    • Like Like x 1
  6. Micropitt

    Micropitt Mediocre driver doing mediocre laps AMS2 Club Member

    Joined:
    Jun 16, 2020
    Messages:
    728
    Likes Received:
    544
  7. Goffik

    Goffik Well-Known Member

    Joined:
    Apr 5, 2020
    Messages:
    472
    Likes Received:
    308
    I did, over on RD when I started the club. o_O I can upload it again though, for everyone else's benefit. The zip contains server.cfg, sms_rotate_config.json, and lists of all the currently available cars / classes / tracks in the sim. I know these work because they're the ones I use on the RD server.

    Download here
     
    • Like Like x 2
  8. roszman

    roszman Well-Known Member

    Joined:
    Jun 11, 2020
    Messages:
    338
    Likes Received:
    419
    Hi again ;)
    Does anyone knows what are the CPU and RAM requirmentes for running one game server with full/maximum grid?
     
  9. Goffik

    Goffik Well-Known Member

    Joined:
    Apr 5, 2020
    Messages:
    472
    Likes Received:
    308
    Probably about the same as the ones to run the game. I believe most of the heavy stuff like physics calculations etc are done client-side, so the server's main job is probably to monitor where everyone is and beam that info between clients. If the rig can run a full grid offline, then it'll probably be ok for online hosting too.
     
  10. Wolfgang Herold

    Wolfgang Herold I Like Liveries :) AMS2 Club Member

    Joined:
    Apr 3, 2016
    Messages:
    2,395
    Likes Received:
    1,439
    afair there is not so much needed. The server is more a relais for data than calculating something.
    Up/download rate is more important. For stable function i think SMS suggested 1 MBit per client.
     
  11. Ribeiros

    Ribeiros Active Member

    Joined:
    May 12, 2020
    Messages:
    112
    Likes Received:
    109
    can anyone help me out here? all my ports are already open.



    Code:
    "//" : "You can use dummy entries like this to write comments into the config. 'rem' and '#' are also supported as comment entries."
    // But in recent version of the server, standard C++ like one-liner comments are supported as well.
    
    //////////////////////////
    // Basic server options //
    //////////////////////////
    
    // Logging level of the server. Messages of this severity and more important will be logged. Can be any of debug/info/warning/error.
    logLevel : "info"
    
    // Number of gameplay events stored on the server. Oldest ones will be discarded once the game logs more.
    eventsLogSize : 10000
    
    // The server's name, this will appear in server browser (when implemented) and will be also the default name of sessions hosted on the server.
    name : "GearUP teste"
    
    // Authenticate users with Steam to check VAC ban when set to true.
    secure : true
    
    // Password required to create sessions on the server as well as to join the sessions, password set in Create options is ignored on DS.
    password : ""
    
    // Maximum size of sessions that can be created on this server.
    // Note that setting this above 16 will allow sessions unjoinable by 32-bit clients to be created on the server.
    // The game also currently does not support sessions larger than 32, even if the server can be configured for up to 64 players.
    maxPlayerCount : 32
    
    // IP address where the server's sockets should be bound. Leave empty for 'all interfaces'.
    bindIP : "192.168.0.171"
    
    // 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 : 27016
    
    // 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.
    // Use cmdline switch -sportsplay serverIp:hostPort on client to host and join games on sportsPlay server.
    sportsPlay: false
    
    ///////////////////////////
    // Server access control //
    ///////////////////////////
    
    
    
    
    ///////////////////////////
    // HttpApi configuration //
    ///////////////////////////
    
    // This provides http-based API and basic web-based controls using a built-in http server.
    // HttpApi is disabled by default, and if you enable it with everything else left to default it will listen only locally on 127.0.0.1:9000
    
    // Master enable/disable toggle.
    enableHttpApi : true
    
    // Similar to logLevel above but used only for libwebsockets output.
    // Note that all logging still goes through the main filter, so you won't be able to use more verbose logging here than the main level.
    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 : "192.168.0.171"
    
    // 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 (Basic access authentication - Wikipedia).
    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 : {
        "ribeiros" : "genesis46",
        "gearup" : "2020",
    }
    
    // User groups. Map from group names to lists of users in said groups.
    httpApiGroups : {
         "private" : ["ribeiros"],
         "admin" : [ "gearup", "ribeiros" ],
    }
    
    // Root directory where the static files for the web tool are located. Relative to current directory.
    staticWebFiles: "web_files"
    
    
    
    
    
    ////////////////////////////////
    // Game setup control options //
    ////////////////////////////////
    
    // Set to true to make this server show up in the browser even if it's empty.
    allowEmptyJoin : true
    
    // Set to true to enable API that allows the server to control the game's setup. The host will not be able to control the setup if this is set.
    // Set to true to enable API that allows the server to control the game's setup. The host will not be able to control the setup if this is set.
    // This must be set to "true" for the following attributes to work: ServerControlsTrack, ServerControlsVehicleClass, ServerControlsVehicle
    controlGameSetup : true
    
    // Initial attribute values, see /api/list/attributes/session for the full list.
    // These attributes will be used when joining an empty server via the borwser (if allowEmptyJoin is true) and as the intial attributes for the set_attributes and set_next_attributes APIs (if controlGameSetup is true)
    // The defaults set these values:
    sessionAttributes : {
        // The host player can control track selection if set to 0. Set to 1 to disable track selection in the game.
        "ServerControlsTrack" : 1,
    
        // The host player can change the vehicle class by going through the garage if set to 0. Set to 1 to disallow players changing the class.
        // Flag FORCE_SAME_VEHICLE_CLASS (1024) should be also set for this to make sense, otherwise players are able to choose cars from any class.
        "ServerControlsVehicleClass" : 1,
    
        // Players can change their vehicle if set to 0. Set to 1 to disallow players changing the vehicle.
        // Flag FORCE_IDENTICAL_VEHICLES (2) should be also set for this to make sense.
        "ServerControlsVehicle" : 1,
    
        // Grid size up to 32, all reserved to players, so no AI.
        // Note that 32-bit clients will not be able to join the game if this is larger than 16.
        "GridSize" : 30,
        "MaxPlayers" : 30,
    
        // Just 3 race laps.
        "PracticeLength" : 0,
        "QualifyLength" : 10,
        "RaceLength" : 20,
    
        // Race flags - bitfield consisting of many flags, the default is set like this:
        // ALLOW_CUSTOM_VEHICLE_SETUP (8) + ABS_ALLOWED (32) + SC_ALLOWED (64) + TCS_ALLOWED (128) + "
        // FORCE_SAME_VEHICLE_CLASS (512) + FILL_SESSION_WITH_AI (131072) + AUTO_START_ENGINE (524288) = 656106"
        // See /api/list/flags/session in HTTP API, or globals "lists.flags.session" or "SessionFlags" in Lua API for the full list.
        "Flags" : 656106,
    
        // AI opponent difficulty, from 0 to 100. Applies only on loading if GridSize is larger than MaxPlayers, and the FILL_SESSION_WITH_AI flag is enabled.
        "OpponentDifficulty" : 50,
    
        // Visual only damage
        "DamageType" : 1,
    
        // No tire wear.
        "TireWearType" : 8,
    
        // Fuel usage off.
        "FuelUsageType" : 2,
    
        // Penalties on.
        "PenaltiesType" : 1,
    
        // Any camera view allowed.
        "AllowedViews" : 0,
    
        // Track Brands Hatch Indy. See /api/list/tracks/ in HTTP API or globals "lists.tracks", "id_to_track" or "name_to_track" in Lua API.
        "TrackId" : 1988984740,
    
        // Vehicle class Road A. See /api/list/vehicle_classes/ in HTTP API or globals "lists.vehicle_classes", "id_to_vehicle_class" or "name_to_vehicle_class" in Lua API.
        "VehicleClassId" : 767810805,
    
        // Vehicle McLaren 720S (but not forced by default flags). See /api/list/vehicles/ in HTTP API or globals "lists.vehicles", "id_to_vehicle" or "name_to_vehicle" in Lua API.
        "VehicleModelId" : 1106819298,
    
        // Starting date and time.
        "RaceDateYear" : 2015,
        "RaceDateMonth" : 7,
        "RaceDateDay" : 6,
        "RaceDateHour" : 11,
    
        // Single weather slot set to "Weather_Clear1". See /api/list/enums/weather in HTTP API or globals "lists.enums.weather" or "Weather" in Lua API.
        "RaceWeatherSlots" : 1,
        "RaceWeatherSlot1" : -934211870,
        "RaceWeatherSlot2" : -934211870,
        "RaceWeatherSlot3" : -934211870,
        "RaceWeatherSlot4" : -934211870,
    }

    server 2.png server info.png server 3.png could someone give me a hand to sort my dedicated server? all my ports are already open on my router and windows firewall, but the server is not showing up in the game server 2.png server info.png server 3.png
     
    Last edited by a moderator: Sep 22, 2020
  12. Nicola Trivilino

    Nicola Trivilino New Member

    Joined:
    Apr 1, 2020
    Messages:
    1
    Likes Received:
    0
  13. Wolfgang Herold

    Wolfgang Herold I Like Liveries :) AMS2 Club Member

    Joined:
    Apr 3, 2016
    Messages:
    2,395
    Likes Received:
    1,439
    @Ribeiros . i cannot find a TrackID 1988984740
    where did you get this number?
    Same for vehicles and classes.
    I think you copied a pCARS configuration w/o changing the entries to correct AMS2 values

    EDIT. as i thought , this is pCARS2
    "VehicleModelId" : 1106819298, = "McLaren 720S" o_O
     
    Last edited: Sep 18, 2020
  14. Ribeiros

    Ribeiros Active Member

    Joined:
    May 12, 2020
    Messages:
    112
    Likes Received:
    109
    actually i used the server config from automobilista 2, just renamed the server and password, where can I Find track ids and car ids? this is kinda new for me
     
  15. Wolfgang Herold

    Wolfgang Herold I Like Liveries :) AMS2 Club Member

    Joined:
    Apr 3, 2016
    Messages:
    2,395
    Likes Received:
    1,439
    its told more than once in this thread
     
  16. Ribeiros

    Ribeiros Active Member

    Joined:
    May 12, 2020
    Messages:
    112
    Likes Received:
    109
    I was asking if someone could tell me, So ai need to read 17 pages to find something that someone could just say in a minute. thanks.
     
    • Like Like x 1
  17. viper4r

    viper4r Active Member AMS2 Club Member

    Joined:
    Mar 5, 2020
    Messages:
    148
    Likes Received:
    55
    Here is a spreadsheet I use for a tool:
    AMS2 - Tracknames
    In Column B you will find all Track IDs.

    The other way is using the DS HTTP API and the following URL:
    http://[IP address or hostname of DS]:9000/api/list/tracks
    Or /api/list/vehicles for all cars.

    You can find the list for cars here, too:
    pcars-ds-liveview
    Starting at line 2038 for AMS2
     
    Last edited: Sep 19, 2020
    • Like Like x 1
  18. Wolfgang Herold

    Wolfgang Herold I Like Liveries :) AMS2 Club Member

    Joined:
    Apr 3, 2016
    Messages:
    2,395
    Likes Received:
    1,439
    reading makes people clever.
    Instead of being a copy&paste monkey you should have read your own text you posted :p:)
    api.JPG
     
    • Funny Funny x 2
  19. viper4r

    viper4r Active Member AMS2 Club Member

    Joined:
    Mar 5, 2020
    Messages:
    148
    Likes Received:
    55
    • Agree Agree x 1
  20. Kevin Cox

    Kevin Cox Active Member AMS2 Club Member

    Joined:
    Mar 11, 2016
    Messages:
    472
    Likes Received:
    99
    Do the results coming out of the dedi now work with anything like simresults.net ??
     

Share This Page