Nordschleife Trackday Server CFG

Discussion in 'Automobilista 2 - Help & Support' started by Matzemilian, Mar 2, 2026 at 9:56 AM.

  1. Matzemilian

    Matzemilian New Member

    Joined:
    Feb 15, 2026
    Messages:
    3
    Likes Received:
    0
    Hi there.

    Came over from AC EVO a few weeks/months ago and love AMS2.
    I'm trying to build up a track day/hot lap server at Zap-Hosting for hours; found out it's not as easy as it is in AC: Evo!
    Maybe most of you guys are tired of helping the newbies, but I wouldn't ask for help if I found a solution by myself. I googled, searched this forum, and even asked ChatGPT for help.
    There are ways for people that are skilled in server coding, but I'm totally not; I just want a simple thing and can't get it to work.

    A hot lap/track day-similar server with GT multiclasses (GT1 to GT4, DLC's included) at a static track (Nords 2025, Tourist-Layout doesnt seem to work this way) that runs 24/7 with easy rules and perfect conditions at standard. Nothing rotating. Just an easy time.

    But i can't get the multiclasses to work, i guess the whole config is totally messed up, first login its restricted to Stockcar, re-login shows 3 more classes. Its Nords but showing another tracks and so on....

    Yes, I'm able to handle the WebGUI and adjust the session as I want, so i can fix the session.
    (If this WebGUI could wrote its current settings down, this would be so easy! Copy-paste, done!)

    But the next day, Interlagos, StockCar V8.

    I configured servercfg and sms_rotate_config, calculated the flags code with Asturbo's, and tried to copy-paste some settings I found in this forum and maybe totally messed up the configs in different ways now.

    I guess this is a work of seconds for some of you guys; I would be very thankfull if anyone could turn the right screws.

    Servername ist GT Trackday Hotlap, running Nordschleife 2025 ( sometimes)


    //////////////////////////
    // LuaApi configuration //
    //////////////////////////

    // 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

    // 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" : 0,

    // 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" : 16,
    "MaxPlayers" : 16,

    // Just 3 race laps.
    "PracticeLength" : 1440,
    "QualifyLength" : 1440,
    "RaceLength" : 0,

    // 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" : 134743288,

    // 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" : 0,

    // Visual only damage
    "DamageType" : 1,

    // No tire wear.
    "TireWearType" : 6,

    // Fuel usage off.
    "FuelUsageType" : 2,

    // Penalties on.
    "PenaltiesType" : 1,

    // Any camera view allowed.
    "AllowedViews" : 0,

    "PitStopMode" : 1,
    "ManualPitStops" : 1,

    // Track Nordschleife Tourist 2025. See /api/list/tracks/ in HTTP API or globals "lists.tracks", "id_to_track" or "name_to_track" in Lua API.
    "TrackId" : -1789057785,

    // for multiclass
    "MultiClassSlots" : 9,
    "MultiClassSlot1" : 492525831,
    "MultiClassSlot2" : -457187122,
    "MultiClassSlot3" : -1870819346
    "MultiClassSlot4" : -2091428258
    "MultiClassSlot5" : 132145678
    "MultiClassSlot6" : 189234567
    "MultiClassSlot7" : -12345678
    "MultiClassSlot8" : -150987654
    "MultiClassSlot9" : 987654321


    // Starting date and time.
    "RaceDateYear" : 2025,
    "RaceDateMonth" : 7,
    "RaceDateDay" : 1,
    "RaceDateHour" : 13,

    // 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,

    }

    [​IMG]


    Thats the sms_rotate_config.json:

    // Config version.
    version : 7

    // Default configuration.
    config : {

    // Rotation index persistent across restart
    "persist_index" : true,

    // Default setup (applies to every event unless overridden)
    "default" : {
    // Trackday: very long sessions, no race
    "PracticeLength" : 1440,
    "QualifyLength" : 1440,
    "RaceLength" : 0,

    // Trackday Flags (NO AI fill)
    "Flags" : 134743288 "ALLOW_CUSTOM_VEHICLE_SETUP,ABS_ALLOWED,SC_ALLOWED,TCS_ALLOWED,FORCE_REALISTIC_DRIVING_AIDS,AUTO_START_ENGINE,PIT_SPEED_LIMITER",

    "DamageType" : "FULL",
    "TireWearType" : "STANDARD",
    "FuelUsageType" : "STANDARD",
    "PenaltiesType" : "FULL",
    "AllowedViews" : "Any",

    // Constant sunny weather
    "RaceDateHour" : 15,
    "RaceWeatherSlots" : 1,
    "RaceWeatherSlot1" : "Clear",

    // Enforce manual pitstops (same as your server.cfg intention)
    "PitStopMode" : 1,
    "ManualPitStops" : 1
    },

    // Rotation list
    // NOTE: AMS2 rotate config can enforce only ONE VehicleClassId per event.
    // We keep the same Nordschleife Tourist 2025 track in every entry, and rotate classes.
    // With 24h Practice + 24h Quali this effectively behaves like "always on" until a session ends.
    "rotation" : [
    {
    // Nordschleife Tourist 2025 (ID with minus sign)
    "TrackId" : -1789057785,

    "MultiClassSlots" : 9,
    "MultiClassSlot1" : 492525831,
    "MultiClassSlot2" : -457187122,
    "MultiClassSlot3" : -1870819346
    "MultiClassSlot4" : -2091428258
    "MultiClassSlot5" : 132145678
    "MultiClassSlot6" : 189234567
    "MultiClassSlot7" : -12345678
    "MultiClassSlot8" : -150987654
    "MultiClassSlot9" : 987654321
    }
    ]
    }
     
  2. Dave Stephenson

    Dave Stephenson Administrator Staff Member AMS2 Club Member

    Joined:
    Feb 13, 2016
    Messages:
    1,012
    Likes Received:
    1,587
    You still need to set a VehicleClass for the first class you want to use. The MultiClassSlots are for additional classes. Wihtout it you're n a little grey area with undefined behaviour.

    Ther main config you posted has rotate disabled so the rotate config won't take effect but that's fine if your main config contains all the settings you wanted, just noting it in case that wasn't intentional.

    In rotate config itself, everything in the rotation section overrides the main settings from the top section so any item you wish to change in a specific event must also be defined in the main section
     
    • Like Like x 1

Share This Page