Results 1 to 10 of 10

Thread: [RESOLVED] Dedicated Server Visibility Issues

  1. #1
    GT4 Pilot F1_Racer68's Avatar
    Join Date
    Aug 2012
    Location
    Canadian Tire Motorsports Park (Mosport)
    Posts
    2,329
    Platform
    PC

    [RESOLVED] Dedicated Server Visibility Issues

    We are having an issue where a select few members are unable to see our dedicated server in the in game browser, while most of the other members have no issue finding it at all.

    We have tried all of the usual items, such as eliminating any custom filters on those users, having them set cusomt filters, restart game, restart PC, restart router. None of thos items have helped.

    We have tried changing settings in theServer.cfg file to see if certain session attributes might cause it, but no luck there either.

    In one case, we have found that one member can only see the server if someoen else is already in the server. If the server is empty, he cannot see it. (Server is set to Allow Empty Join).

    The server is running on a Windows Server. All necessary ports are open on the Windows Firewall, and the physical server is in the DMZ.

    Server Config file is below:

    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 : "CanAm VRL [www.canamvrl.com]"
    
    
    // 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 : "***.***.***.***"
    
    
    // ports used to communicate with Steam and game, they must all be accessible on the public IP of the server.
    steamPort : ****
    hostPort : *****
    queryPort : *****
    
    
    // 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
    
    
    // (blacklist and whitelist is intentionally not included in this basic sample config as they can complicate things a bit.)
    
    
    
    
    ///////////////////////////
    // 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 : "***.***.***.***"
    
    
    // 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" : "0.0.0.0/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" : "0.0.0.0/32" },
            { "type" : "group", "group" : "admin" },
            { "type" : "reject-password" }
        ],
    
    
    }
    
    
    // User list. Map from user names to passwords, in plain text.
    httpApiUsers : {
        // "stepan" : "foo",
        // "michal" : "bar",
    "*****" : "************",
    "*****" : "************",
    }
    
    
    // User groups. Map from group names to lists of users in said groups.
    httpApiGroups : {
        // "private" : [ "stepan", "michal" ],
        // "admin" : [ "stepan" ],
        "private" : [ "*****", "*****" ],
        "admin" : [ "*****", "*****" ],
    }
    
    
    // Root directory where the static files for the web tool are located. Relative to current directory.
    staticWebFiles: "web_files"
    
    
    
    
    //////////////////////////
    // 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 browser (if allowEmptyJoin is true) and as the initial 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,
        //"MultiClassSlots" : 2,
    
    
        // 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" : 32,
        "MaxPlayers" : 32,
    
    
        // Just 3 race laps.
        "PracticeLength" : 60,
        "QualifyLength" : 30,
        "RaceLength" : 10,
    
    
        // 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" : -1882455048,
    
    
        // 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,
    
    
        // Full damage
        "DamageType" : 3,
    
    
        // Normal tire wear.
        "TireWearType" : 6,
    
    
        // Fuel usage on.
        "FuelUsageType" : 0,
    
    
        // Penalties on.
        "PenaltiesType" : 1,
        "PitWhiteLinePenalty" : 1,
        "DriveThroughPenalty" : 1,
        "AllowablePenaltyTime" : 0,
        "ManualPitStops" : 2,
        "ManualRollingStarts" : 0,
        "RaceRollingStart" : 0,
        "RaceFormationLap" : 0,
        "MinimumOnlineRank" : 0,
        "MinimumOnlineStrength" : 100,
    
    
        // Any camera view allowed.
        "AllowedViews" : 0,
    
    
        // Track Circuit of The Americas GP. See /api/list/tracks/ in HTTP API or globals "lists.tracks", "id_to_track" or "name_to_track" in Lua API.
        "TrackId" : 2050315946,
    
    
        // Vehicle class IndyCar. 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" :  61661019,
        //"MultiClassSlots" : 2,
        //"MultiClassSlot1" : -112887377,
        //"MultiClassSlot2" : -564539194,
        //"MultiClassSlot3" : 1740243009,
    
    
        // Vehicle Dallara​ ​IR-12​ ​Honda​ ​(Road Course) (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" : -1796028503,
        
     // Starting date and time.
        "PracticeDateYear" : 2016,
        "PracticeDateMonth" : 3,
        "PracticeDateDay" : 12,
        "PracticeDateHour" : 11,
        "PracticeDateProgression" : 1,
        "PracticeWeatherProgression" : 1,
    
    
        // 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.
        "PracticeWeatherSlots" : 1,
        "PracticeWeatherSlot1" : -934211870,
        "PracticeWeatherSlot2" : -934211870,
        "PracticeWeatherSlot3" : -934211870,
        "PracticeWeatherSlot4" : -934211870,    
    
    
        // Starting date and time.
        "QualifyDateYear" : 2016,
        "QualifyDateMonth" : 3,
        "QualifyDateDay" : 12,
        "QualifyDateHour" : 12,
        "QualifyDateProgression" : 1,
        "QualifyWeatherProgression" : 1,
    
    
        // 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.
        "QualifyWeatherSlots" : 1,
        "QualifyWeatherSlot1" : -934211870,
        "QualifyWeatherSlot2" : -934211870,
        "QualifyWeatherSlot3" : -934211870,
        "QualifyWeatherSlot4" : -934211870,
        
        // Starting date and time.
        "RaceDateYear" : 2016,
        "RaceDateMonth" : 3,
        "RaceDateDay" : 13,
        "RaceDateHour" : 13,
        "RaceDateProgression" : 1,
        "RaceWeatherProgression" : 1,
    
    
        // 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,
    }
    EDIT: I replaced all sensitive data with **** in the above version.

    Any solutions or insights others have is greatly appreicated. TRying to get this sorted before our next season starts (IndyCars starting Oct 6th, FYI).
    Last edited by F1_Racer68; 07-09-2018 at 15:06.
    CanAm Virtual Racing League - League President Twitter: @canamvrl @F1_Racer68
    System Specs
    CPU - AMD FX-8370 w/Wraith Cooler MoBo - GB-78LMT-USB3 (Rev 6.0) RAM - 24GB 1600 DDR3, Video - Zotac GTX1060 AMP! 6GB DDR5, OS - Win10 Pro 64bit, SSD - Corsair 240GB Force LE, Controller - Fanatec CSW v2.5, CSL Elite LC Pedals, DIY Button Box, G27 Shifter (USB) Monitor - Samsung UN28H4000AF 28" LED x3

  2. #2
    WMD Member Asturbo's Avatar
    Join Date
    Jun 2012
    Location
    Asturias / Spain
    Posts
    707
    Platform
    PC
    If you don't use LUA, try to disable it, but probably not problem of your DS because some players can see it.

    Have you tried changing the steam ping filter?. It workers for some players in my comunity. There is thread over there where was commented...
    Last edited by Asturbo; 07-09-2018 at 16:24.
    CPU: Intel i7-8700K | GPU: nVidia GTX 1080 | RAM: Gskill 2x8GB DDR4 3200 | MB: Asus ROG Strix Z370 | SSD: Samsung 951 PCI 250GB | Monitor: Asus VG248 144Hz | Wheel: Fanatec CSL | SO: Windows 10 Pro 64bits
    WMD1 & WMD2 Gold Member /// Steam Profile /// Unofficial Issue List /// Button Box Label Template /// DS Flags Calculator

  3. #3
    GT4 Pilot F1_Racer68's Avatar
    Join Date
    Aug 2012
    Location
    Canadian Tire Motorsports Park (Mosport)
    Posts
    2,329
    Platform
    PC
    Quote Originally Posted by Asturbo View Post
    If you don't use LUA, try to disable it, but probably no problem of your DS.

    Have you tried changing the steam ping filter?. There is thread over there where was commented.
    Yeah, the Steam PING filter is one fo the first thigns we tried. As for the LUA, we are using the stats file for our post race reports for the league events. But I will try to disable it for nwo and see if it makes a difference. Thanks.
    CanAm Virtual Racing League - League President Twitter: @canamvrl @F1_Racer68
    System Specs
    CPU - AMD FX-8370 w/Wraith Cooler MoBo - GB-78LMT-USB3 (Rev 6.0) RAM - 24GB 1600 DDR3, Video - Zotac GTX1060 AMP! 6GB DDR5, OS - Win10 Pro 64bit, SSD - Corsair 240GB Force LE, Controller - Fanatec CSW v2.5, CSL Elite LC Pedals, DIY Button Box, G27 Shifter (USB) Monitor - Samsung UN28H4000AF 28" LED x3

  4. #4
    GT4 Pilot F1_Racer68's Avatar
    Join Date
    Aug 2012
    Location
    Canadian Tire Motorsports Park (Mosport)
    Posts
    2,329
    Platform
    PC
    @asturbo disabling the LUA API did not have the desired result. Really at a loss on this one.

    It's always the same members that are affected, so I think it is more of an issue on the client side, just not sure what else to try anymore.
    CanAm Virtual Racing League - League President Twitter: @canamvrl @F1_Racer68
    System Specs
    CPU - AMD FX-8370 w/Wraith Cooler MoBo - GB-78LMT-USB3 (Rev 6.0) RAM - 24GB 1600 DDR3, Video - Zotac GTX1060 AMP! 6GB DDR5, OS - Win10 Pro 64bit, SSD - Corsair 240GB Force LE, Controller - Fanatec CSW v2.5, CSL Elite LC Pedals, DIY Button Box, G27 Shifter (USB) Monitor - Samsung UN28H4000AF 28" LED x3

  5. #5
    GT4 Pilot F1_Racer68's Avatar
    Join Date
    Aug 2012
    Location
    Canadian Tire Motorsports Park (Mosport)
    Posts
    2,329
    Platform
    PC
    RESOLVED!!!!

    I am happy to report that the issue has been RESOLVED!!! The solution however is counter-intuitive......

    The affected drivers had to drop their "In-Game server browser, Max pings / minute" setting to a LOWER value (default is Automatic (5000)). One driver was able to simply reduce it to 3000, while another had to go as low as 1500.

    I am assuming that this allowed the game to reduce the number of discovered servers, thereby allowing ours to finally show up on their list. That is the only semi logical explanation I can come up with as to why that particular change worked.
    CanAm Virtual Racing League - League President Twitter: @canamvrl @F1_Racer68
    System Specs
    CPU - AMD FX-8370 w/Wraith Cooler MoBo - GB-78LMT-USB3 (Rev 6.0) RAM - 24GB 1600 DDR3, Video - Zotac GTX1060 AMP! 6GB DDR5, OS - Win10 Pro 64bit, SSD - Corsair 240GB Force LE, Controller - Fanatec CSW v2.5, CSL Elite LC Pedals, DIY Button Box, G27 Shifter (USB) Monitor - Samsung UN28H4000AF 28" LED x3
    The following 3 users likes this Post: Asturbo, Maskmagog, Visceral_Syn


  6. #6
    WMD Member Asturbo's Avatar
    Join Date
    Jun 2012
    Location
    Asturias / Spain
    Posts
    707
    Platform
    PC
    Glad to hear.

    I've recomended this because some players in my comunity solved reducing the ping filter to a medium value. It's strange because teoricaly, a higer ping allows see more servers (included those with bad connection), but reducing the ping filter worked for us. I think that probably there is a limit for the number of servers shown in the online browser, and some are discarded. Decreasing the the ping value, the farthest are not shown and you have more options of seeing your own server in the browser.
    Last edited by Asturbo; 07-09-2018 at 20:05.
    CPU: Intel i7-8700K | GPU: nVidia GTX 1080 | RAM: Gskill 2x8GB DDR4 3200 | MB: Asus ROG Strix Z370 | SSD: Samsung 951 PCI 250GB | Monitor: Asus VG248 144Hz | Wheel: Fanatec CSL | SO: Windows 10 Pro 64bits
    WMD1 & WMD2 Gold Member /// Steam Profile /// Unofficial Issue List /// Button Box Label Template /// DS Flags Calculator
    The following 2 users likes this Post: F1_Racer68, Maskmagog


  7. #7
    GT5 Pilot Charger's Avatar
    Join Date
    May 2015
    Posts
    1,634
    Platform
    PC
    Yes this has worked for us in the past as well, usually dropping it to 3000 works, weird as it does seem it should be the opposite?

  8. #8
    Rookie
    Join Date
    Sep 2018
    Posts
    2
    Platform
    PC
    Can you tell me where I can change the settings for "In-Game server browser, Max pings / minute"? I can't seem to find it.

  9. #9
    GT4 Pilot
    Join Date
    Jul 2017
    Posts
    2,245
    Platform
    PC
    Quote Originally Posted by BOGDOG View Post
    Can you tell me where I can change the settings for "In-Game server browser, Max pings / minute"? I can't seem to find it.
    This is a Steam setting, go Steam/Settings, in "In_Game" page.

  10. #10
    Rookie
    Join Date
    Sep 2018
    Posts
    2
    Platform
    PC
    Thanks so much! I kept going through all the menu/settings in pcars.
    The following user likes this Post: cpcdem


Similar Threads

  1. Replies: 5
    Last Post: 31-08-2018, 14:35
  2. Replies: 21
    Last Post: 03-10-2017, 19:42
  3. Dedicated Server Issues
    By F1_Racer68 in forum Technical Help & Support (PC)
    Replies: 0
    Last Post: 02-10-2017, 15:42
  4. Dedicated Server Issues with Steam
    By Brado23 in forum Multiplayer
    Replies: 4
    Last Post: 22-09-2017, 07:13
  5. Replies: 8
    Last Post: 25-04-2017, 23:52

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •