PDA

View Full Version : Dedicated Server HowTo (Work in Progress)



Pages : 1 [2] 3

RomKnight
05-10-2015, 10:31
How can we get the lua parameters?

I mean, before we could user http (http://127.0.0.1:9000/something_here) but how to do it with lua?

Stepan Vondrak
05-10-2015, 12:51
How can we get the lua parameters?

I mean, before we could user http (http://127.0.0.1:9000/something_here) but how to do it with lua?

I will publish full documentation hopefully later today, working on it!

CRLCactus
06-10-2015, 02:22
I'll have a look again, I was not able to reproduce this problem when I tried last time. The game generates the AI vehicles, not the server, so it might be a bug there. I'll might have to hack how the server sets the flags if the game can't cope with this combination.

Btw you should use the sms_rotate Lua addon to tweak the setup, even if you do not want to rotate setups it's much more convenient because it lets you set tracks/cars/flags/etc by their name instead of fiddling with these numbers.

This works for me, mine is set
maxplayercount : 17
"gridsize" : 17
"maxplayers" : 12
this gives me 5 AI in Dedicated Server, "Cactus Racing", check out the server you will see
the thing i am looking for is how to set the AI Strength, have not found that yet
Steve, Cactus

M. -VIPER- Morgan
06-10-2015, 05:14
I'll have a look again, I was not able to reproduce this problem when I tried last time. The game generates the AI vehicles, not the server, so it might be a bug there. I'll might have to hack how the server sets the flags if the game can't cope with this combination.

Btw you should use the sms_rotate Lua addon to tweak the setup, even if you do not want to rotate setups it's much more convenient because it lets you set tracks/cars/flags/etc by their name instead of fiddling with these numbers.

Hi Stepan,

thanks for your info. I will test it with Lua.
One thing I noticed now as I see the settings of CRLCactus, which is maybe relevant for the problem.
There are the following default settings in the server.cfg:



maxPlayerCount : 64
"GridSize" : 32,
"MaxPlayers" : 32,
"Flags" : 656616, //FILL_SESSION_WITH_AI enabled


GridSize and MaxPlayer are both on 32, which means there are no slots for AI available. But in combination with the FILL_SESSION_WITH_AI Flag it maybe produces the crash.
I did not see this before, sorry. But these two settings are not availabe in the Game UI anymore. I don't know why, but I did not think to check this in the server.cfg.

I will test it with a lower MaxPlayers value and will give you feedback, if it solves the problem.

Stepan Vondrak
06-10-2015, 12:54
I have attached all currently available server documentation to the first post at http://forum.projectcarsgame.com/showthread.php?26520-Dedicated-Server-API . GameGuide.pdf and UserGuide.pdf (and ServerTypes.pdf to some extend) are useful for anyone running their servers, ScriptingGuide.pdf is mostly for potential Lua addon coders.

Casimir Bonnet
06-10-2015, 14:58
Thanks Spepan for you work on the DS.
I just wonder, with the new specs, as I did not understand well everything, could we use sqlite to store some data we could gather from the DS? I seen that IO would be not allowed but does this affect any implementation using external DB ?

Here is what I'm thinking about : http://www.reflexis.nl/docs/flow/sqlite.html#introduction

M. -VIPER- Morgan
07-10-2015, 05:49
Hi Stepan,

thanks for your info. I will test it with Lua.
One thing I noticed now as I see the settings of CRLCactus, which is maybe relevant for the problem.
There are the following default settings in the server.cfg:



maxPlayerCount : 64
"GridSize" : 32,
"MaxPlayers" : 32,
"Flags" : 656616, //FILL_SESSION_WITH_AI enabled


GridSize and MaxPlayer are both on 32, which means there are no slots for AI available. But in combination with the FILL_SESSION_WITH_AI Flag it maybe produces the crash.
I did not see this before, sorry. But these two settings are not availabe in the Game UI anymore. I don't know why, but I did not think to check this in the server.cfg.

I will test it with a lower MaxPlayers value and will give you feedback, if it solves the problem.

I tested yesterday again with a MaxPlayer value below the GridSize value and it works fine, no crash.
In conclusion the crash only happens with the default settings, where MaxPlayer and GridSize are 32 and the FILL_SESSION_WITH_AI Flag is set.

Stepan Vondrak
07-10-2015, 09:12
Thanks Spepan for you work on the DS.
I just wonder, with the new specs, as I did not understand well everything, could we use sqlite to store some data we could gather from the DS? I seen that IO would be not allowed but does this affect any implementation using external DB ?

Here is what I'm thinking about : http://www.reflexis.nl/docs/flow/sqlite.html#introduction

For now the dedicated server does not restrict any Lua standard functionality, but as I documented I plan to restrict some of it for more safety, I don't want people writing malicious Lua addons (intentionally or by mistake) that could access too much of the OS. Of course ideally you should run the DS as a restricted user who can't do no harm to your OS.

So right now you are free to build a library such as sqlite on your own, and add the necessary "require" statement to your Lua addon.

In the future, this will most likely become restricted, but I'll try to keep the functionality in, in a more safe way, something like:

The server config will have a new option, telling it which addons are allowed to load which libraries.
"Require" will check that config option, and fail if the library is not explicitly allowed in the server config.

That way it will no longer be possible to loading whatever the addon wants to without the server admin explicitly allowing the libraries.
I'll probably also standardize the paths from where the libraries are loaded, and disallow any overrides by, to prevent loading of external libraries from unexpected paths.

In short, feel free to try this now, the functionality might become a bit more restricted in the future but it should work.
Alternatively you can try to use the persistent storage already offered by the server. It's really just a simple JSON file, one per addon, you have to call SavePersistentData to persist the table, and that's it. So it's not a real database, but good enough in most cases, and the JSON can then be read by almost anything.

M. -VIPER- Morgan
08-10-2015, 07:51
Question: Which AI strength is used on DS, if player connecting to an empty server, where additional AI is enabled? And how can I change it, there is no setting available?
Is it the setting of the first connecting player? If I use LUA rotation, how can I change it for the next session?

Stepan Vondrak
08-10-2015, 08:31
Question: Which AI strength is used on DS, if player connecting to an empty server, where additional AI is enabled? And how can I change it, there is no setting available?
Is it the setting of the first connecting player? If I use LUA rotation, how can I change it for the next session?

It's not exposed to the DS yet.

The AI strength option is a bit weird because it's available only in Create, but not in Lobby. I'll try to find out how it works exactly and if it's going to be a problem to have it controllable from DS even in lobby. If all goes well it will be in patch 6 (patch 5 has been already finalized).

KAMPFBIBER81
12-10-2015, 12:11
I hope it's ok if I ask my question here, does anyone know why I can't find the pCARS Dedi under Tools in Steam? Do I need to register pCARS in Steam to get the DS? Thanks in advance.

satco1066
12-10-2015, 13:10
I hope it's ok if I ask my question here, does anyone know why I can't find the pCARS Dedi under Tools in Steam? Do I need to register pCARS in Steam to get the DS? Thanks in advance.

even if you find it there, you should direct start it from the folder.
you'll find it in .....steam\steamapps\common\Project CARS Dedicated Server

KAMPFBIBER81
12-10-2015, 13:19
Thanks satco.

Yeah, but first the steam client need to download the dedicated server. I can't download the DS via steam, I can't even select the dedi.

220158

erickgoldner
12-10-2015, 13:32
Thanks satco.

Yeah, but first the steam client need to download the dedicated server. I can't download the DS via steam, I can't even select the dedi.

220158

Weird, mine is listed between Primal Carnage and RACE ON - Demo:Dedicated Server.

satco1066
12-10-2015, 20:54
Thanks satco.

Yeah, but first the steam client need to download the dedicated server. I can't download the DS via steam, I can't even select the dedi.

220158

Must be a steam problem.
Did you try to reinstall steam.
Or install steam on a second PC and then check if you can download that.

To use the DS, all you need is the folder on a PC where you want to use DS. No Steam install needed.

What i have seen. You are WMD Member. Maybe some old Beta code is your problem.

KAMPFBIBER81
13-10-2015, 06:53
I've reinstalled steam yesterday, still the same problem. It's our league's account, so no games are assigned to it, I've just use it to run AC and hopefully also pCARS dedi. I will try with another user and with the same user on a different computer. But anyway, the pcars dedi should still be assigned to that user anyway.

EDIT: I've used my steam account to log on to steam on our server and the pCARS dedi was on the list. When I've switched back to our league user, the dedi is missing again. Somehow there is now pCARS dedi assigned to the steam user FLANC_CH. Don't know if it's important, but that user was offline for a few month.

EDIT2: Problem solved. I've downloaded the pCARS dedi with my steam account, switched back to our league account and the dedi is also assigned to our league user.

Thx for the help guys.

Stepan Vondrak
13-10-2015, 10:20
That's odd, I asked Valve to set it up as "free for all", it should be visible to any account on the store. It can even be downloaded using anonymous login in SteamCMD, so no account at all. Nobody else reported this kind of visibility problem until now.

RomKnight
13-10-2015, 11:21
I'm not sure this is the thread to ask but, are there any plans to include driver swap in pCARS?

Snoopy
17-10-2015, 11:09
Hi,

on a virtual machine i run multiple dedicated Servers.
Sometimes, while upgrading (when a new Serverversion is announced by Stepan), i see some Dedis getting updated (Update manually by myself).
Some not.

I cannot see which Version the dedicated Servers have.

When i go back to the Server after a while and try to upgrade all again, the Server, who wasn't upgraded, gets his Updates, like the others before...

Is there a possibility to see which Version each dedicated Server has?

erickgoldner
17-10-2015, 15:29
Dunno if this is what you mean, but on last update, Stepan added the Server Version when the Dedicated is executed:

[2015-10-17 12:28:58] INFO: Starting up the Dedicated Server Library.
[2015-10-17 12:28:58] INFO: Server configuration loaded:
- server build version: 71
- protocol version: 130 (1.0.1.30)

Snoopy
18-10-2015, 10:11
Hi,

thank you, will have a look on it in future.

CiccioFritz
19-10-2015, 08:48
Maybe it's a well-known problem at the moment, but i can't run a Lua-Rotation DS based with real weather. To be honest, rotation doesn't work if a change track. If i use same track but with cars rotation (for example), real weater works. I miss some kind of config, or it's a bug?

Pete Beardsley
21-10-2015, 15:48
Hello everyone, sorry to wade straight in with a question. I have spent most of my free time over the last two days searching Google among other places and eventually to this forum trying to find help but I am getting nowhere. I have gone through this thread and the Dedicated Server API thread and while a couple of people seem to have experienced similar issues to my own, I have yet to find a solution.
My problem is this. KI recently rented a server for Project CARS from Elite Game Servers. My server is visible in http://cars-stats-steam.wmdportal.com/index.php/servers and showing as available but is not visible in the in-game lobby browser. Also if I try to create a session in game I get a "no suitable dedicated server has been found" message if I specify my servers name.
Any ideas welcomed as this is driving me nuts! xD
I have tried various settings in the config file, the latest of which is below.
Thanks for looking!

"//" : "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 : "My Server Name"

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

// IP address where the server's sockets should be bound. Leave empty for 'all interfaces'.
bindIP : "public IP of server"

// ports used to communicate with Steam and game, they must all be accessible on the public IP of the server.
steamPort : 27017
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 : 250
sleepActive : 10


// (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 : false

// 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.
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: *"
}


//////////////////////////
// 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.
// Still work in progress so disabled by default.
//"sms_stats",
]


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

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

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

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

// Just 3 race laps.
"Practice1Length" : 0,
"Practice2Length" : 0,
"QualifyLength" : 0,
"WarmupLength" : 0,
"Race1Length" : 3,

// 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 (1024) + FILL_SESSION_WITH_AI (131072) + AUTO_START_ENGINE (524288) = 656616"
// See /api/list/flags/session in HTTP API, or globals "lists.flags.session" or "SessionFlags" in Lua API for the full list.
"Flags" : 656616,

// 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 Renault Megane (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" : 1694837381,

// Starting date and time.
"DateYear" : 2015,
"DateMonth" : 7,
"DateDay" : 6,
"DateHour" : 11,
"DateMinute" : 0,

// Standard speed for date and weather progression.
"DateProgression" : 1,
"ForecastProgression" : 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.
"WeatherSlots" : 1,
"WeatherSlot1" : -934211870,
"WeatherSlot2" : -934211870,
"WeatherSlot3" : -934211870,
"WeatherSlot4" : -934211870,
}

Stepan Vondrak
21-10-2015, 15:50
Maybe it's a well-known problem at the moment, but i can't run a Lua-Rotation DS based with real weather. To be honest, rotation doesn't work if a change track. If i use same track but with cars rotation (for example), real weater works. I miss some kind of config, or it's a bug?

I'd need more info than that to be able to answer. Does not work in what way, what is your exact configuration of the addon?

satco1066
21-10-2015, 20:53
Hello everyone, sorry to wade straight in with a question. I have spent most of my free time over the last two days searching Google among other places and eventually to this forum trying to find help but I am getting nowhere. I have gone through this thread and the Dedicated Server API thread and while a couple of people seem to have experienced similar issues to my own, I have yet to find a solution.
My problem is this. KI recently rented a server for Project CARS from Elite Game Servers. My server is visible in http://cars-stats-steam.wmdportal.com/index.php/servers and showing as available but is not visible in the in-game lobby browser. Also if I try to create a session in game I get a "no suitable dedicated server has been found" message if I specify my servers name.
Any ideas welcomed as this is driving me nuts! xD
I have tried various settings in the config file, the latest of which is below.
Thanks for looking!

"//" : "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 : "My Server Name"

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

// IP address where the server's sockets should be bound. Leave empty for 'all interfaces'.
bindIP : "public IP of server"

// ports used to communicate with Steam and game, they must all be accessible on the public IP of the server.
steamPort : 27017
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 : 250
sleepActive : 10


// (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 : false

// 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.
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: *"
}


//////////////////////////
// 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.
// Still work in progress so disabled by default.
//"sms_stats",
]


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

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

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

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

// Just 3 race laps.
"Practice1Length" : 0,
"Practice2Length" : 0,
"QualifyLength" : 0,
"WarmupLength" : 0,
"Race1Length" : 3,

// 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 (1024) + FILL_SESSION_WITH_AI (131072) + AUTO_START_ENGINE (524288) = 656616"
// See /api/list/flags/session in HTTP API, or globals "lists.flags.session" or "SessionFlags" in Lua API for the full list.
"Flags" : 656616,

// 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 Renault Megane (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" : 1694837381,

// Starting date and time.
"DateYear" : 2015,
"DateMonth" : 7,
"DateDay" : 6,
"DateHour" : 11,
"DateMinute" : 0,

// Standard speed for date and weather progression.
"DateProgression" : 1,
"ForecastProgression" : 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.
"WeatherSlots" : 1,
"WeatherSlot1" : -934211870,
"WeatherSlot2" : -934211870,
"WeatherSlot3" : -934211870,
"WeatherSlot4" : -934211870,
}

i would use

steamPort : 8766

httpApiInterface : "your public IP" // 127.0.0.1(local host) is not reachable from outside

And all ports must be reachable from outside ! TCP i think, not UDP

Pete Beardsley
21-10-2015, 22:19
Thanks for your input satco1066. :cool:
I've just tried the changes you suggest and still nothing I'm afraid.
I had previously tried 8766 for the steamport and I thought as the httpApiinterface was disabled the IP address wouldn't matter.
Thanks again buddy.

CiccioFritz
22-10-2015, 10:32
I'd need more info than that to be able to answer. Does not work in what way, what is your exact configuration of the addon?

Hi Vondrak,

this is my sms_rotate_config.json:

// Config version.
version : 2

// Default configuration.
config : {
"persist_index" : false
"default" : {
"TrackId" : "Dubai Autodrome GP", #i try whit or whitout this voice
"VehicleClassId" : "Road B", #i try whit or whitout this voice
"Practice1Length" : 10,
"Practice2Length" : 10,
"QualifyLength" : 15,
"WarmupLength" : 5,
"Race1Length" : 10,
"Flags" : "ALLOW_CUSTOM_VEHICLE_SETUP,FORCE_MANUAL,FORCE_SAME_VEHICLE_CLASS,MECHANICAL_FAILURES,AUTO_START_ENGINE",
"DamageType" : "FULL",
"TireWearType" : "STANDARD",
"FuelUsageType" : "STANDARD",
"PenaltiesType" : "FULL",
"AllowedViews" : "CockpitHelmet",
"DateYear" : 2015,
"DateMonth" : 10,
"DateDay" : 22,
"DateHour" : 15,
"DateMinute" : 0,
"DateProgression" : 1,
"ForecastProgression" : 1,
"WeatherSlots" : 0,
"WeatherSlot1" : "Random",
"WeatherSlot2" : "Random",
"WeatherSlot3" : "Random",
"WeatherSlot4" : "Random",
}
"rotation" : [
{ "TrackId" : "Dubai Autodrome GP" },
{ "TrackId" : "Brno" },
{ "TrackId" : "Imola" },
{ "TrackId" : "Hockenheim GP" },
]
}

This is the simplest config i could try (i tried in the past also specify all the variables in rotate, but nothing changed). With this config, Real Weather never works, always "Clear Weather"

Thanks for your support!

satco1066
22-10-2015, 10:51
Thanks for your input satco1066. :cool:
I've just tried the changes you suggest and still nothing I'm afraid.
I had previously tried 8766 for the steamport and I thought as the httpApiinterface was disabled the IP address wouldn't matter.
Thanks again buddy.

I meant, if you enable the http interface, your'e able to check some parameters with that API.
and if you have no access, you know that firewall settings or port forwarding is not working.

You should see the DS also in the steam server browser, although it's not working correct.
But if you manually enter the correct data in steam server browser you should see the DS.
If not, there is a problem with firewall and/or ports.

Pete Beardsley
22-10-2015, 18:03
I meant, if you enable the http interface, your'e able to check some parameters with that API.
and if you have no access, you know that firewall settings or port forwarding is not working.

You should see the DS also in the steam server browser, although it's not working correct.
But if you manually enter the correct data in steam server browser you should see the DS.
If not, there is a problem with firewall and/or ports.

Ah! I see.
Yes I can see it from the HTTP interface though for some reason the "Joinable" field is showing "no" which is a little concerning. Can't see it from Steam though, in fact, I can't see any PCars servers from Steam.

bcredeur97
23-10-2015, 02:34
about how well will a raspberry pi perform with the dedicated server(will it even run on ARM?!) ? I have a pi literally sitting on my desk with no use..

worth the trouble?

satco1066
23-10-2015, 08:52
Ah! I see.
Yes I can see it from the HTTP interface though for some reason the "Joinable" field is showing "no" which is a little concerning. Can't see it from Steam though, in fact, I can't see any PCars servers from Steam.

Pcars is not implemented in steam server browser, but if you enter manually, you should see yours.

Pete Beardsley
24-10-2015, 19:25
Pcars is not implemented in steam server browser, but if you enter manually, you should see yours.

Thanks again satco. I have a support ticket open with the hosting company and they seem to suspect that it may be a server side issue.
Just for reference, how do I enter manually? This is something else I am not yet familiar with.

norbs
25-10-2015, 02:32
Is it possible to limit the server to 2 cars from different classes?

erickgoldner
25-10-2015, 12:27
Is it possible to limit the server to 2 cars from different classes?

No... At least not yet.
You can only set All cars, Same Class or Same Car (Identical).

Pete Beardsley
25-10-2015, 22:04
Thanks again satco. I have a support ticket open with the hosting company and they seem to suspect that it may be a server side issue.
Just for reference, how do I enter manually? This is something else I am not yet familiar with.

If anyone is interested, this has now been fixed. I'm not 100% sure what the root cause was, but, the hosted server was running at 1.0.1.29 and was updated to 1.0.1.30 and this resolved the issue. Apparently the out of date version wasn't allowing it to update from Steam. Not sure why this was an issue as there are other servers out there running 1.0.1.29 and older but it all works now so I am happy.

Thanks for the input and support satco1066, much appreciated. B-)

Stepan Vondrak
26-10-2015, 11:19
I have a question for anyone running the DS on Linux servers. Have you updated recently? I just updated the DS on my our testing server, and Steam downloaded new version of steamclient.so (we do not ship this with the game, Steam or SteamCMD downloads it on their own). And for whatever reason, the DS now crashes at startup with this updated library. I wonder if it's my local issue or if Valve broke something with this update.

apophis
26-10-2015, 11:39
I have a question for anyone running the DS on Linux servers. Have you updated recently? I just updated the DS on my our testing server, and Steam downloaded new version of steamclient.so (we do not ship this with the game, Steam or SteamCMD downloads it on their own). And for whatever reason, the DS now crashes at startup with this updated library. I wonder if it's my local issue or if Valve broke something with this update.

Same here. Wanted to check and post this later, but now I know it's not my fault ;).



steam@homer:~/pcars_ds$ ./DedicatedServerCmd
[2015-10-26 13:38:49] INFO: Starting up the Dedicated Server Library.
[2015-10-26 13:38:49] INFO: Server configuration loaded:
- server build version: 71
- protocol version: 130 (1.0.1.30)
- server name: apos_tgc_ds
- max session size: 64
- details: secure, bind IP x.x.x.x, Steam port 8766, host port 27015, query port 27016, password protected yes
- whitelist size: 0
- blacklist size: 0
- lua api: disabled
- http api: enabled listening at 127.0.0.1:9000, 0 extra header(s) defined
- allow empty join: disabled
- game setup control: disabled

[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Illegal instruction
steam@homer:~/pcars_ds$ echo $?
132

Stepan Vondrak
26-10-2015, 11:52
Yeah it looks like I'll have to disable the "install Dedicated Server Redistributables" Steamworks option and instead ship the DS with carefully chosen libraries, once I found what exactly works. This might take a while and some experimenting, so please do not update to latest while I work on this.

If you already updated, this might work as a temporary fix:

Login to your Linux server
Find where you have SteamCMD installed (~/steamcmd on my server)
Navigate to linux32 subdirectory under SteamCMD, and find steamclient.so
Copy it over steamclient.so in DS installation directory

In short on my server this means copy ~/steamcmd/linux32/steamclient.so (17715kB large right now) over to ~steamcmd/pcars/steamclient.so (the non-working one is 18225kB large)

Stepan Vondrak
26-10-2015, 13:55
This should now be hopefully fixed. I just turned off the Steamworks option to update the steamclient libraries automatically, and added last known working version on Linux/Win32 directly to the server depot.

The new build also adds HTTP API access levels / filtering, please make sure to read the updated documentation and review the config changes if you use the HTTP API.

MikeyTT
28-10-2015, 16:06
Nevermind - Sorted now...

F1_Racer68
28-10-2015, 16:40
Yes you can. I frequently run full weekend events with only myself in the lobby and on track when testing room configurations for our league events.

M. -VIPER- Morgan
29-10-2015, 08:35
It's not exposed to the DS yet.

The AI strength option is a bit weird because it's available only in Create, but not in Lobby. I'll try to find out how it works exactly and if it's going to be a problem to have it controllable from DS even in lobby. If all goes well it will be in patch 6 (patch 5 has been already finalized).

Any news on this Stepan? Is there a chance having it in the next patch?

MrBlacky
31-10-2015, 16:16
We have the problem, that our server sometimes are not shown in the server list.

Yesterday we set up two new dedis with a complete new server.cfg. Allowemptyjoin was set to truth. API worked quite well and showed us, that the server is running and online.
But we couldn't find it in the server list and a manual start via searchds wasn't possible either.

At the same time, the other two server (that are running all the time) went on and off in the server list as well.

What is this? It's really annoying.

Sheeeeeep
31-10-2015, 19:23
Hello guys, i´m new and my english is not the best. I hope u can help!

The question: Is there no chance, that a server stay online after the latest player left?
Background: I rented a server for our League. It´s a hard lack of understanding for me, that I have to tech everyone how to start the server. I´m sure, if the server would be stay online, it will be more used.
I also can see public-server in the list. No one is on this, but its still online. How it works? I used google for so many hours - I´m frustrated. ^.^

I already talked with my hosting-support, but they can´t help me. :(

cogent
31-10-2015, 21:09
Hello guys, i´m new and my english is not the best. I hope u can help!

The question: Is there no chance, that a server stay online after the latest player left?
Background: I rented a server for our League. It´s a hard lack of understanding for me, that I have to tech everyone how to start the server. I´m sure, if the server would be stay online, it will be more used.
I also can see public-server in the list. No one is on this, but its still online. How it works? I used google for so many hours - I´m frustrated. ^.^

I already talked with my hosting-support, but they can´t help me. :(

If "stay online" means "stay in running state with loaded track" then the answer is no.
But the Server can be available in empty state (if allow empty join is set to true in server.cfg) so that others can join and use it.
This is related to the way this DS works. It needs at least one connection (this will then be the admin), but if everyone has gone it goes Idle.

RomKnight
04-11-2015, 23:00
44 laps around spa just now, when the host left the host migration failed and I was disconnected. Not sure if anyone stayed but I don't think so.

t0daY
05-11-2015, 21:16
Hello again,

we run just minutes ago a session on Brands Hatch GP with 26 people. The last couple days were fine with no big problems and now quite everything went wrong. Cars were warping, lagging, literally everything happened at the same time...

Here are our server specs (its rented and standing in a data center):

- CPU: Intel®Xeon® E5-26xxV3 (min. 2,3 GHz each core / 8 dedicated cores)
- RAM: 24 GB DDR4
- HDD: 1000GB SATA
- RAID: RAID10
- NETWORK: 1 GBit/s (Speedtest: Download=564.28 Mbit/s // Upload=250.41 Mbit/s)

Our cpu usage during the session was very very strange. I checked the network it was fine no bigger issues. Steam had also some issues and an update but I dont know exactly what caused the massive chaos.

221487

221488


Now my big question... Am I doing something horribly wrong or where is the mistake? I do not know what to say, kinda speechless :D

Anyone a slightly idea?

Greetz,
t0daY

t0daY
12-11-2015, 06:37
No one? :( :( :(

M. -VIPER- Morgan
12-11-2015, 08:11
No one? :( :( :(

Something to Linux in general. If you use the command "top", I think you cannot be sure that 100% are really 100%.
I have a Linux system at home with a dual core CPU, where I often have 150% and more. Maybe it shows the load of one core. If this is true you have 200% max on a dual core.
I think it depends on the hardware and your linux distibution what "top" shows.

If you have the "top" view you can push the key "1" to get more info per core.


Further you can generate CPU load with the following command and check it with top:
for i in 1 2 3 4; do while : ; do : ; done & done

It utilizes 4 cores.
You get something like this:
[1] 4764
[2] 4765
[3] 4766
[4] 4767

With "kill 4764" for example, you can kill the processes.

t0daY
12-11-2015, 10:40
Something to Linux in general. If you use the command "top", I think you cannot be sure that 100% are really 100%.
I have a Linux system at home with a dual core CPU, where I often have 150% and more. Maybe it shows the load of one core. If this is true you have 200% max on a dual core.
I think it depends on the hardware and your linux distibution what "top" shows.

If you have the "top" view you can push the key "1" to get more info per core.


Further you can generate CPU load with the following command and check it with top:
for i in 1 2 3 4; do while : ; do : ; done & done

It utilizes 4 cores.
You get something like this:
[1] 4764
[2] 4765
[3] 4766
[4] 4767

With "kill 4764" for example, you can kill the processes.

I know but it does not change the fact that the DS using only 1 Core. In my case the usage is over 100% which is not normal... also if u take a closer look to the "load average"... almost 1,00 (0,99) which is defintly not right and causes delay with the processing... there has to be a reason why the DS causes so much GPU load + very high average load...

Stepan Vondrak
16-11-2015, 07:55
100% CPU usage is definitely wrong. I have never seen that happen on our server.

Did you try to tweak the config, maybe lowering sleepActive value? Are you running with Lua enabled? Or maybe using HTTP API and spamming the server with queries? The normal server loop should be quite trivial, it more or less just reads network packets from Steam, and resends the game data back to other players. Without Lua or HTTP API doing anything, that's should be more or less all the server does during gameplay. I'll try to catch something suspicious here, but I doubt I'll be able to get 26 players onto my testing server.

Is anyone else here running such large sessions, with similar problems? Or is it ok for other people?

t0daY
16-11-2015, 08:25
100% CPU usage is definitely wrong. I have never seen that happen on our server.

Did you try to tweak the config, maybe lowering sleepActive value? Are you running with Lua enabled? Or maybe using HTTP API and spamming the server with queries? The normal server loop should be quite trivial, it more or less just reads network packets from Steam, and resends the game data back to other players. Without Lua or HTTP API doing anything, that's should be more or less all the server does during gameplay. I'll try to catch something suspicious here, but I doubt I'll be able to get 26 players onto my testing server.

Is anyone else here running such large sessions, with similar problems? Or is it ok for other people?

Lua is disabled. HTTP API is enabled for checking the pings and the logs. We tried it yesterday again and it seemed to work for the qualifying but when the race started half of the field crashed.

But our serverspecs should be fine for the DS software or? If you need people for your testserver RSR is happy to fill your server if needed :)

Thanks for your response! :)

Stepan Vondrak
16-11-2015, 08:39
Yes the specs are completely fine, the DS should never run at 100% CPU usage.

t0daY
16-11-2015, 09:08
Yes the specs are completely fine, the DS should never run at 100% CPU usage.

I am atm at work but shall I upload later my server.cfg file? Maybe I did something totally wrong?

Stepan Vondrak
16-11-2015, 09:31
Yes please PM it to me when you are back home, or try with the default sample config first.

M. -VIPER- Morgan
16-11-2015, 10:11
It's not exposed to the DS yet.

The AI strength option is a bit weird because it's available only in Create, but not in Lobby. I'll try to find out how it works exactly and if it's going to be a problem to have it controllable from DS even in lobby. If all goes well it will be in patch 6 (patch 5 has been already finalized).

Hi Stepan,
there was no change in Patch 6.0 for it, any news when it will coming?

t0daY
17-11-2015, 11:35
Yes please PM it to me when you are back home, or try with the default sample config first.

You received my pm? Did you do any progress so far? We tested yesterday again with lua disabled and http api disabled. The CPU was this time quite calm but we had a load average from 0,30 - 0,40 (our normal load average without running the DS is 0,03-0,05). We were "only" 10 people.

I have the feeling something causes an issue with our load average. Everytime I start the DS we got very high load average. Cause the DS is single threaded we should not go over 0,70 load average cause otherwise the DS will crash (people warping all the time, laggs, ...). We were sometimes at 1,50 or higher... At least I could find out now where the problem lays :)^^

AlexOki
17-11-2015, 12:18
Hey Manu
Stupid question is the server not getting DDOS attacks by any chance? I have a friend who have pretty much the same spec server as yours and they have the same issue with another game, maybe an update as well could cause the problem who knows!? Question here is it was fine then suddenly it changed over 2 evenings and we do not know what happened in that time. I doubt this is game related but more to be the server software that has changed. Oh sorry missed your call for testing last night. See you this evening for induction again.

t0daY
17-11-2015, 12:56
Hey Manu
Stupid question is the server not getting DDOS attacks by any chance? I have a friend who have pretty much the same spec server as yours and they have the same issue with another game, maybe an update as well could cause the problem who knows!? Question here is it was fine then suddenly it changed over 2 evenings and we do not know what happened in that time. I doubt this is game related but more to be the server software that has changed. Oh sorry missed your call for testing last night. See you this evening for induction again.

Unlikely we get ddos attacks. Server runs all the time smooth without problems and as soon as I start the DS and people joining we get our issues. It has to do sth with the DS but I dont know if its a config problem or whatever^^

Stepan Vondrak
17-11-2015, 13:10
You received my pm? Did you do any progress so far? We tested yesterday again with lua disabled and http api disabled. The CPU was this time quite calm but we had a load average from 0,30 - 0,40 (our normal load average without running the DS is 0,03-0,05). We were "only" 10 people.

I have the feeling something causes an issue with our load average. Everytime I start the DS we got very high load average. Cause the DS is single threaded we should not go over 0,70 load average cause otherwise the DS will crash (people warping all the time, laggs, ...). We were sometimes at 1,50 or higher... At least I could find out now where the problem lays :)^^

Yes, the config looks completely fine.

If you say "every time I start the DS", is the usage so high even with no people playing on the server? Or only once 20+ people join into a lobby? Does it change at all between the lobby and a race? How is the usage when less than 10 people are on?

t0daY
17-11-2015, 13:28
Yes, the config looks completely fine.

If you say "every time I start the DS", is the usage so high even with no people playing on the server? Or only once 20+ people join into a lobby? Does it change at all between the lobby and a race? How is the usage when less than 10 people are on?

Less than 10 people we had yesterday... there it was between 0,20 - 0,30. We tested it only in a long 2h warmup session. Tonight we got another session where we can test further things.

apophis
17-11-2015, 13:31
Less than 10 people we had yesterday... there it was between 0,20 - 0,30. We tested it only in a long 2h warmup session. Tonight we got another session where we can test further things.

Hey. I think he asks, how big the usage/load is, if nobody is connected to the server directly after start of the ds.

t0daY
17-11-2015, 14:03
DS is running, our teamspeak is running and apache2 server for our websites. Everything is normal in this state

222218


**edit**

DS running with 17 people. No lags/warping so far but as you can see its going from nothing to almost 1,00 load average :(
Sometimes it goes down to 0,40-0,50 and sometimes it goes up to nearly 0,90... I cannot explain it...

Does the GHz of the CPUs playing a role? Or does it rlly not matter which CPU is in it? (Our CPU got a clocking about 2,2 GHz)

222232

222233

Snoopy
18-11-2015, 20:15
Hi,

do we have a mismatch atm?

All DS (Linux) are actual (updated all last time 18.11.2015 21:30) and on every DS Tracks are missing.
No Lua active, just basic DS Config, server is not fixed, Host can modify it.

But only a few Tracks are seen, for example all Hockenheim Tracks are missing completely.

[Edit]
Users report also many disconnects when using dedicated Servers.
Many disconnects like that:
222302

Snoopy
19-11-2015, 07:24
Hi,

maybe it will help, since Update 6 i had 2 Updates for Steam Client Linux-side.

Stepan Vondrak
19-11-2015, 07:51
Some tracks missing from the track selection is correct, that's a fix applied in patch 6.0. Previously the game would let people choose track with grid sizes smaller than the session's size. Many tracks do not have enough grid spots for 32 players, which is probably your default. This can naturally lead to many problems and various crashes. One of them was the nonsense AI number sometimes appearing when you enabled AI on tracks smaller than the session's size. Because the track's grid size was smaller than the session's size, the game computed the amount of AIs needed to fill the grid as negative, leading to that nonsense.

After patch 6.0, the game will no longer let you select incompatible tracks.

In the future, most likely patch 6.2, updated DS will be also released and it will no longer all incompatible TrackId to be selected, directly in server.cfg or in the sms_rotate addon.

For now I strongly recommend changing the DS config to smaller session size from the default of 32, if you want to be able to choose from more tracks.

I have not seen the crash you report yet (it's not a disconnect, something very wrong is happening). We'll try to find out what's going on.

t0daY
19-11-2015, 08:08
Hi,

do we have a mismatch atm?

All DS (Linux) are actual (updated all last time 18.11.2015 21:30) and on every DS Tracks are missing.
No Lua active, just basic DS Config, server is not fixed, Host can modify it.

But only a few Tracks are seen, for example all Hockenheim Tracks are missing completely.

[Edit]
Users report also many disconnects when using dedicated Servers.
Many disconnects like that:
222302


Hi,

maybe it will help, since Update 6 i had 2 Updates for Steam Client Linux-side.

We had this issue aswell last Sunday. We were 25 people with the gt4 cars at sakitto gp. After the race start turn 4 or 5 half of the field had suddenly blackscreen and lost their ffb. Shortly later they had unhandled exception like you described. I can confirm this issue (:

satco1066
19-11-2015, 09:37
Some tracks missing from the track selection is correct, that's a fix applied in patch 6.0. Previously the game would let people choose track with grid sizes smaller than the session's size. Many tracks do not have enough grid spots for 32 players, which is probably your default. This can naturally lead to many problems and various crashes. One of them was the nonsense AI number sometimes appearing when you enabled AI on tracks smaller than the session's size. Because the track's grid size was smaller than the session's size, the game computed the amount of AIs needed to fill the grid as negative, leading to that nonsense.

After patch 6.0, the game will no longer let you select incompatible tracks.

In the future, most likely patch 6.2, updated DS will be also released and it will no longer all incompatible TrackId to be selected, directly in server.cfg or in the sms_rotate addon.

For now I strongly recommend changing the DS config to smaller session size from the default of 32, if you want to be able to choose from more tracks.

I have not seen the crash you report yet (it's not a disconnect, something very wrong is happening). We'll try to find out what's going on.

In the ServerTypes.pdf there is the track list.
Can you extend this list with the amount of pits per track?
Would be usefull, to have this Information in one document.

Cheers

Stepan Vondrak
19-11-2015, 09:52
In the ServerTypes.pdf there is the track list.
Can you extend this list with the amount of pits per track?
Would be usefull, to have this Information in one document.

Cheers

Yep I started updating it with this info an hour ago actually :) The updated doc will be released with patch 6.2, which will open the new DLC content and add few more things.

For now you can view the grid sizes via HTTP API at /api/list/tracks/ and it's also already available in Lua structures.
Edit: Actually that's probably not visible in the published DS yet, it was supposed to be in 6.1 but some features got delayed into 6.2

Snoopy
19-11-2015, 10:14
Hi,

i only see this:
"id" : 328972919,
"name" : "Cadwell Club Circuit"
The TrackID and TrackName.

CiccioFritz
19-11-2015, 10:16
For now you can view the grid sizes via HTTP API at /api/list/tracks/ and it's also already available in Lua structures.

Sorry, but i use HTTP API i see only the names, not the grdi number. Where exactly can i see numbers?

Stepan Vondrak
19-11-2015, 10:17
Yep sorry about that, see my ninjaedit. HTTP API and Lua structures will also be updated in 6.2

M. -VIPER- Morgan
19-11-2015, 10:47
Yep I started updating it with this info an hour ago actually :) The updated doc will be released with patch 6.2, which will open the new DLC content and add few more things.

For now you can view the grid sizes via HTTP API at /api/list/tracks/ and it's also already available in Lua structures.
Edit: Actually that's probably not visible in the published DS yet, it was supposed to be in 6.1 but some features got delayed into 6.2

What is about the additional AI strength setting? Will we see it in the next patch?

Stepan Vondrak
19-11-2015, 12:13
What is about the additional AI strength setting? Will we see it in the next patch?

Most likely in Patch 7 as it will need game code changes too. 6.2 will contain only DLC unlocks and hotfixes.

optimalspieler
19-11-2015, 15:37
All ports are TCP^

Just to be sure: Is this information correct regarding TCP? I've just started a dedicated server using the default config on Ubuntu and netcat says that all ports are closed on TCP.

$ nc -vz -w5 localhost 27015-27016
nc: connect to localhost port 27015 (tcp) failed: Connection refused
nc: connect to localhost port 27016 (tcp) failed: Connection refused

satco1066
19-11-2015, 15:45
Just to be sure: Is this information correct regarding TCP? I've just started a dedicated server using the default config on Ubuntu and netcat says that all ports are closed on TCP.

$ nc -vz -w5 localhost 27015-27016
nc: connect to localhost port 27015 (tcp) failed: Connection refused
nc: connect to localhost port 27016 (tcp) failed: Connection refused

to what ip address did you "bindIP" ?
I don't know, but maybe bindIP = "" does not bind to local host, only to actice network devices
That 2 addresses make no sense on localhost, they are used to communicate with steam.

optimalspieler
19-11-2015, 16:08
to what ip address did you "bindIP" ?
I don't know, but maybe bindIP = "" does not bind to local host, only to actice network devices
That 2 addresses make no sense on localhost, they are used to communicate with steam.

This is from the default config, so I think it should work:


// IP address where the server's sockets should be bound. Leave empty for 'all interfaces'.
bindIP : ""

I have also tried it out using the LAN IP and the public IP. This is why I thought it might be UDP instead of TCP.

TonyR
20-11-2015, 14:11
Hi,

do we have a mismatch atm?

All DS (Linux) are actual (updated all last time 18.11.2015 21:30) and on every DS Tracks are missing.
No Lua active, just basic DS Config, server is not fixed, Host can modify it.

But only a few Tracks are seen, for example all Hockenheim Tracks are missing completely.

[Edit]
Users report also many disconnects when using dedicated Servers.
Many disconnects like that:
222302

Papand had the same Error in an AOR Test race, same file, same line of code.


Hi there. Had a new type of bug today. The game freezes suddenly in multiplayer. The sound can still be heard in the background and it still seem to react to my inputs.

Got it on video:


https://youtu.be/IStss4RMI60

Edit: Debug files: https://www.dropbox.com/sh/17s4rqd8li6qlmt/AADTiitjy3dtKmodnzC94N7Qa?dl=0

TonyR
20-11-2015, 14:14
Strange thing from yesterday's ARLA Race:

22 People on Ded. Server. JetPistol lagged like crazy, everybody else (at least near me in the grid) was ok. We restarted everything. Same, Jet lags.
Then we make a p2p session. Jet doesn't lag at all and has a constant 60ms ping.

Why does this happen?

I don't have all the information but I already asked the league organizers to gather them and post them here.

satco1066
20-11-2015, 22:02
Hi,

maybe it will help, since Update 6 i had 2 Updates for Steam Client Linux-side.

Maybe ithat helps.
On Windows the latest DS version is build 75, from 12.Nov.2015.
222438

Snoopy
21-11-2015, 14:32
Maybe ithat helps.
On Windows the latest DS version is build 75, from 12.Nov.2015.
222438
Hi satco1066,

yes the same as on Linux machines:
- server build version: 75
- protocol version: 131 (1.0.1.31)

But the Steam Client had Updates.
Stepan wrote some days ago, that Steam ship(ped) the wrong Programfiles.

My intention was, to point to this :)

DerKillerhai
23-11-2015, 17:17
Hello,
I have a Problem with the dedicated server. Some friends and I want to do a 24h race with a dedicated server hosted on my Laptop. We can connect to the server and everything runs smooth. But we have one big problem: Our internet is not very stable and it disconnects every few hours for 10s-1min. And everytime it disconnects, we get kicked out of the server because the laptop has no connection to steam anymore. We connected every PC with a lan switch to the laptop, so the connection between the laptop and the pc is constantly there.

We haven't tried to do the 24h race because of this problem and i am searching in the config files and server files of the dedicated server for hours now but can't find anything to solve this problem.

Is there any way to host the dedicated server without internet? Fixing the Internet is not an option because of money reasons :p

I am thankful for any replys :)

Greetings, DerKillerhai

PS: sry for my bad english :|

satco1066
23-11-2015, 20:28
Hello,
I have a Problem with the dedicated server. Some friends and I want to do a 24h race with a dedicated server hosted on my Laptop. We can connect to the server and everything runs smooth. But we have one big problem: Our internet is not very stable and it disconnects every few hours for 10s-1min. And everytime it disconnects, we get kicked out of the server because the laptop has no connection to steam anymore. We connected every PC with a lan switch to the laptop, so the connection between the laptop and the pc is constantly there.

We haven't tried to do the 24h race because of this problem and i am searching in the config files and server files of the dedicated server for hours now but can't find anything to solve this problem.

Is there any way to host the dedicated server without internet? Fixing the Internet is not an option because of money reasons :p

I am thankful for any replys :)

Greetings, DerKillerhai

PS: sry for my bad english :|

The only thing you can do in time :

set " secure : false " in server.cfg.

Stephan wrote some weeks ago, that they are working on a steam independent version, but we'll have to wait a bit.

Maybe a Christmas present, Stephan?
Would be great to get over the steam lags during holydays. :D

DerKillerhai
23-11-2015, 21:08
Thank your for the answer! :)

I already tried to set secure on false but the server keeps kicking everybody out when the internet stops working :/ We were planning to do the race around new year. Would be awesome if there would be a solution to this! :3 if not, we have to race the 24h race in singleplayer or maybe i can find a solution for my internet :p

Greetings, DerKillerhai

satco1066
24-11-2015, 00:59
Thank your for the answer! :)

I already tried to set secure on false but the server keeps kicking everybody out when the internet stops working :/ We were planning to do the race around new year. Would be awesome if there would be a solution to this! :3 if not, we have to race the 24h race in singleplayer or maybe i can find a solution for my internet :p

Greetings, DerKillerhai

Youre wellcome
If you like to attach to fair Racing, look at my signature :cool:

222539

Sheeeeeep
24-11-2015, 19:24
We had this issue aswell last Sunday. We were 25 people with the gt4 cars at sakitto gp. After the race start turn 4 or 5 half of the field had suddenly blackscreen and lost their ffb. Shortly later they had unhandled exception like you described. I can confirm this issue (:

Same here. :/

LCCMarc
25-11-2015, 15:20
Hi,
for some time, we can no longer write to the server. Is it possible to configure this?
Excuse me for my bad english,
Thank you

Ramiboo
29-11-2015, 13:46
Ok, been doing some testing with the RevolusionSimRacing guys using different server hardware and OS. The server is hosted in a Data Centre in London.

My Server Specs are: -

OS: RedHat, Arch: x86_64, Kernel: 2.6.18-308.el5
HW: ProLiant DL380 G5, CPU: IntelXeonE5450@3.00GHz, Cores:8, Mem:23.54 GB

We are seeing quite substantial CPU use and load averages. This Server was running nothing but the DS and we ran a 32 car lobby at Imola last Thursday. Once everyone was on track the DS Process was saying 58 - 62% CPU use. Quite a bit higher than I was led to believe. We know this is a single threaded process so once the process is started it will not shift the cpu core it is running on. If you have other application running on your server and one if them spikes on the same core my theory is the DS will start struggling with queuing on the core. Here is our load averages in 5 minute increments during the Race.



19:15:01 up 266 days, 8:30, 1 user, load average: 0.00, 0.01, 0.00
19:20:01 up 266 days, 8:35, 1 user, load average: 0.00, 0.00, 0.00
19:25:01 up 266 days, 8:40, 1 user, load average: 0.02, 0.02, 0.00
19:30:01 up 266 days, 8:45, 1 user, load average: 0.03, 0.03, 0.00
19:35:01 up 266 days, 8:50, 1 user, load average: 0.43, 0.21, 0.07
19:40:01 up 266 days, 8:55, 1 user, load average: 0.78, 0.55, 0.25
19:45:01 up 266 days, 9:00, 1 user, load average: 0.76, 0.65, 0.37
19:50:01 up 266 days, 9:05, 1 user, load average: 0.46, 0.58, 0.42
19:55:01 up 266 days, 9:10, 1 user, load average: 0.46, 0.55, 0.45
20:00:01 up 266 days, 9:15, 1 user, load average: 1.21, 0.71, 0.52
20:05:01 up 266 days, 9:20, 1 user, load average: 0.72, 0.72, 0.57
20:10:01 up 266 days, 9:25, 1 user, load average: 0.69, 0.62, 0.56
20:15:01 up 266 days, 9:30, 1 user, load average: 0.46, 0.63, 0.57
20:20:01 up 266 days, 9:35, 1 user, load average: 0.83, 0.71, 0.61
20:25:01 up 266 days, 9:40, 1 user, load average: 0.95, 0.68, 0.60
20:30:01 up 266 days, 9:45, 1 user, load average: 0.41, 0.52, 0.55
20:35:01 up 266 days, 9:50, 1 user, load average: 0.75, 0.56, 0.55
20:40:01 up 266 days, 9:55, 1 user, load average: 0.48, 0.53, 0.54
20:45:01 up 266 days, 10:00, 1 user, load average: 0.63, 0.50, 0.50
20:50:01 up 266 days, 10:05, 1 user, load average: 0.53, 0.51, 0.49
20:55:01 up 266 days, 10:10, 0 users, load average: 0.68, 0.60, 0.52
21:00:01 up 266 days, 10:15, 0 users, load average: 0.56, 0.63, 0.55
21:05:01 up 266 days, 10:20, 0 users, load average: 0.56, 0.56, 0.54
21:10:01 up 266 days, 10:25, 0 users, load average: 0.36, 0.50, 0.52
21:15:01 up 266 days, 10:30, 0 users, load average: 0.01, 0.18, 0.36
21:20:01 up 266 days, 10:35, 0 users, load average: 0.00, 0.06, 0.25
21:25:01 up 266 days, 10:40, 0 users, load average: 0.00, 0.01, 0.17
21:30:01 up 266 days, 10:45, 0 users, load average: 0.16, 0.03, 0.12
21:35:01 up 266 days, 10:50, 0 users, load average: 0.00, 0.00, 0.08


The 5 minute load (middle one) is the one that is backing up my 58-62% that I was seeing in 'top'.

My query is really should the DS be running this high?

t0daY
29-11-2015, 15:03
Ok, been doing some testing with the RevolusionSimRacing guys using different server hardware and OS. The server is hosted in a Data Centre in London.

My Server Specs are: -

OS: RedHat, Arch: x86_64, Kernel: 2.6.18-308.el5
HW: ProLiant DL380 G5, CPU: IntelXeonE5450@3.00GHz, Cores:8, Mem:23.54 GB

We are seeing quite substantial CPU use and load averages...

Addition to that:

If I start the DS in a screen session and grep only the task of the dedicated server (top -H -p 6138) I get this result:

8 tasks instead of 1 task. How can I understand this?

222936


Also all bolded lines are critical. Even a peek on 1.21 average load. This should not happen at all, also on this testserver which ramiboo and I are working. No processes are running at all. Only the OS itself and the DS... nothing more...

19:35:01 up 266 days, 8:50, 1 user, load average: 0.43, 0.21, 0.07
19:40:01 up 266 days, 8:55, 1 user, load average: 0.78, 0.55, 0.25
19:45:01 up 266 days, 9:00, 1 user, load average: 0.76, 0.65, 0.37
19:50:01 up 266 days, 9:05, 1 user, load average: 0.46, 0.58, 0.42
19:55:01 up 266 days, 9:10, 1 user, load average: 0.46, 0.55, 0.45
20:00:01 up 266 days, 9:15, 1 user, load average: 1.21, 0.71, 0.52
20:05:01 up 266 days, 9:20, 1 user, load average: 0.72, 0.72, 0.57
20:10:01 up 266 days, 9:25, 1 user, load average: 0.69, 0.62, 0.56
20:15:01 up 266 days, 9:30, 1 user, load average: 0.46, 0.63, 0.57
20:20:01 up 266 days, 9:35, 1 user, load average: 0.83, 0.71, 0.61
20:25:01 up 266 days, 9:40, 1 user, load average: 0.95, 0.68, 0.60
20:30:01 up 266 days, 9:45, 1 user, load average: 0.41, 0.52, 0.55
20:35:01 up 266 days, 9:50, 1 user, load average: 0.75, 0.56, 0.55
20:40:01 up 266 days, 9:55, 1 user, load average: 0.48, 0.53, 0.54
20:45:01 up 266 days, 10:00, 1 user, load average: 0.63, 0.50, 0.50
20:50:01 up 266 days, 10:05, 1 user, load average: 0.53, 0.51, 0.49
20:55:01 up 266 days, 10:10, 0 users, load average: 0.68, 0.60, 0.52
21:00:01 up 266 days, 10:15, 0 users, load average: 0.56, 0.63, 0.55
21:05:01 up 266 days, 10:20, 0 users, load average: 0.56, 0.56, 0.54
21:10:01 up 266 days, 10:25, 0 users, load average: 0.36, 0.50, 0.52

Hopefully we can find a solution to our problem. It became nearly impossible to play on a DS with more than 20 people :(

t0daY
29-11-2015, 21:51
Our race tonight. Started with 30 people, some dropped out in the first couple laps and in the end we were solid 21 people running a 50laps race around Nürburgring. We had light rain in the middle of the race. Here are the average load logs from the session:

18:55:01 up 269 days, 8:10, 0 users, load average: 0.04, 0.02, 0.00
19:00:01 up 269 days, 8:15, 0 users, load average: 0.16, 0.07, 0.01
19:05:01 up 269 days, 8:20, 0 users, load average: 0.20, 0.16, 0.06
19:10:01 up 269 days, 8:25, 0 users, load average: 0.71, 0.36, 0.15
19:15:01 up 269 days, 8:29, 0 users, load average: 0.76, 0.56, 0.28
19:20:01 up 269 days, 8:35, 0 users, load average: 0.69, 0.73, 0.44
19:25:01 up 269 days, 8:40, 0 users, load average: 0.95, 0.76, 0.52
19:30:01 up 269 days, 8:45, 0 users, load average: 0.91, 0.77, 0.57
19:35:01 up 269 days, 8:50, 0 users, load average: 0.60, 0.75, 0.62
19:40:02 up 269 days, 8:55, 0 users, load average: 0.64, 0.72, 0.63
19:45:01 up 269 days, 9:00, 0 users, load average: 0.70, 0.61, 0.60
19:50:01 up 269 days, 9:05, 0 users, load average: 0.58, 0.61, 0.60
19:55:01 up 269 days, 9:10, 0 users, load average: 0.63, 0.62, 0.59
20:00:01 up 269 days, 9:15, 0 users, load average: 0.41, 0.49, 0.53
20:05:01 up 269 days, 9:20, 0 users, load average: 0.25, 0.41, 0.48
20:10:01 up 269 days, 9:25, 0 users, load average: 0.13, 0.33, 0.43
20:15:01 up 269 days, 9:30, 0 users, load average: 0.36, 0.37, 0.42
20:20:01 up 269 days, 9:35, 0 users, load average: 0.35, 0.37, 0.40
20:25:01 up 269 days, 9:40, 0 users, load average: 0.20, 0.26, 0.34
20:30:01 up 269 days, 9:45, 0 users, load average: 0.11, 0.16, 0.27
20:35:01 up 269 days, 9:50, 0 users, load average: 0.09, 0.20, 0.25
20:40:01 up 269 days, 9:55, 0 users, load average: 0.23, 0.22, 0.24
20:45:01 up 269 days, 10:00, 0 users, load average: 0.28, 0.26, 0.25
20:50:01 up 269 days, 10:05, 0 users, load average: 0.63, 0.38, 0.29
20:55:01 up 269 days, 10:10, 1 user, load average: 0.14, 0.24, 0.25
21:00:01 up 269 days, 10:15, 0 users, load average: 0.65, 0.38, 0.29
21:05:01 up 269 days, 10:20, 0 users, load average: 0.55, 0.44, 0.34
21:10:01 up 269 days, 10:25, 0 users, load average: 0.02, 0.19, 0.25
21:15:01 up 269 days, 10:30, 0 users, load average: 0.00, 0.07, 0.17

Stepan Vondrak
30-11-2015, 08:13
Hi and thanks for the reports. The DS should never have this high usage, but for some reason it tends to spike quite high with more people playing on it. We are not yet sure why this happens.

Could you post or PM me your server config? Do you have HTTP API and/or Lua API enabled? Could you try testing in a larger sessions with both APIs disabled to check if one of them might be causing this problems?

(the multiple PIDs for DS are most likely threads created by Steam)

t0daY
30-11-2015, 10:47
Hi and thanks for the reports. The DS should never have this high usage, but for some reason it tends to spike quite high with more people playing on it. We are not yet sure why this happens.

Could you post or PM me your server config? Do you have HTTP API and/or Lua API enabled? Could you try testing in a larger sessions with both APIs disabled to check if one of them might be causing this problems?

(the multiple PIDs for DS are most likely threads created by Steam)

Our next event will be on Tuesday. There we can try it out. Lua is disabled all the time because we have no use for it at the moment.
I tried it a few times also without http API but still with the same results. But we can test it out in another session on Tuesday. Any other idea what could cause those issues?
For me now it's understandable why my server Crashs earlier. We got several applications running like apache server, teamspeak server and so on... Once they hop to the cpu where the DS is running it can even cause with less player high load average cause of the other applications...
The config is the same which I pm'd you earlier stepan... He just changed the IP. It is not a config problem I am afraid...

Stepan Vondrak
30-11-2015, 10:52
Ok thanks for the info, I was mostly interested in whether you had HTTP API enabled or not, as the library we are using has some CPU usage issues reported (but it was all about https, which we current do not enable).

I'll try to quickly hack in some sort of profiling into my code, but I am not sure if it will be available for you tomorrow.

t0daY
30-11-2015, 12:16
Ok thanks for the info, I was mostly interested in whether you had HTTP API enabled or not, as the library we are using has some CPU usage issues reported (but it was all about https, which we current do not enable).

I'll try to quickly hack in some sort of profiling into my code, but I am not sure if it will be available for you tomorrow.

Thank you for your help. Shall we maybe use one of your server tomorrow where you can access all data? If this is an overall issue it should happen also on your servers. If you need anything else from us please let us know (:

Ramiboo
30-11-2015, 12:55
Ok thanks for the info, I was mostly interested in whether you had HTTP API enabled or not, as the library we are using has some CPU usage issues reported (but it was all about https, which we current do not enable).

I'll try to quickly hack in some sort of profiling into my code, but I am not sure if it will be available for you tomorrow.

The only things I've changed from the stock config is the name, bindIP, password, enableHttpApi (true), httpApiInterface, enableLuaApi (false).

As @t0day has said, he's tried it with the http api disabled also.

Due to this high load I've also started setting the CPU core to use when starting up the DS to make sure the processes stay separate.

taskset -c 7 {PATH}/DedicatedServerCmd -c {PATH}/server.cfg 1>{PATH}/dslog.out 2>&1 &

Stepan Vondrak
30-11-2015, 14:21
Thank you for your help. Shall we maybe use one of your server tomorrow where you can access all data? If this is an overall issue it should happen also on your servers. If you need anything else from us please let us know (:

That probably won't be necessary, I don't have it configured with any decent profiling options anyway. Instead I'll try to bake in some basic profiling support directly into the server itself, with HTTP API access to the data. And then I'll ask you to send me the data as soon as you reproduce the problem again. This might need few iterations, adding detailed profiling to whatever will end up looking problematic.

Stepan Vondrak
01-12-2015, 12:37
A new build is now out, version 78. It adds basic in-server profiling. The performance counters are available via HTTP API at /api/performance

I have also implemented few simple optimizations of the main tick loop in this build, so it might help with CPU usage too (not sure how much).

t0daY, can you please use this build during your run today, and send me the output of /api/performance during high CPU usage, if it happens? Also the same output during low CPU usage for comparison would be great. Thanks.

Ramiboo
01-12-2015, 13:59
I'll get a server up and going for a test later. Watch this space......

EDIT: Servers Up with API. :)

MrSam
01-12-2015, 14:25
Server seems work better (smoothly).
1% cpu on a 16 cores, and 18 mega memory.

Now no bug after finish an event it's so nice and no need to restart :)

Edit : 1% cpu with almost server full (28/32)
Edit 2 : 0% cpu and 10 mega memory with empty server

t0daY
01-12-2015, 15:22
A new build is now out, version 78. It adds basic in-server profiling. The performance counters are available via HTTP API at /api/performance

I have also implemented few simple optimizations of the main tick loop in this build, so it might help with CPU usage too (not sure how much).

t0daY, can you please use this build during your run today, and send me the output of /api/performance during high CPU usage, if it happens? Also the same output during low CPU usage for comparison would be great. Thanks.

Thanks for your effort Stepan! :) Our session will start tonight 19:30 UTC. Gonna report tonight or tomorrow morning with the results.

Cheers!

t0daY
01-12-2015, 21:39
Sent pm.

Stepan Vondrak
02-12-2015, 08:33
Sent pm.

Thanks for the report.

The good news is: It's quite obvious what's taking up the most time each tick, it's the processing of gameplay messages and resending them back to everyone else.
The bad news is: I have no idea why it would consume so much CPU, it's really not doing that much. It really just reads the message, determines to which members it needs to be sent, and passes it back to Steam for resending. It does some unnecessary copying, but I'd expect that to cost nearly nothing compared to what Steam might then do with the data. I will try to produce another build with slightly more detailed logging of this process, maybe it will help me find what's going on exactly. If it turns out that sending so many messages via Steam's networking API is just that expensive, then unfortunately I won't be able to improve this until I rewrite the whole thing to standard sockets.

Stepan Vondrak
02-12-2015, 09:39
I added detailed performance counters for game packet resending, it's now available in build 79. Please let me know when you get results from the next larger session.

I was able to test it locally in a small session, where the numbers were all small and with potentially large errors. In this test the Steam send calls consumed the most amount of time. It might mean nothing, but if the same happens in your large test then unfortunately this won't be easy to fix.

RomKnight
02-12-2015, 10:07
If Stem is the problem is another one to add to the list i guess.
Yesterday we were plagued but several disconnetcs again until finally we all went down waiting for steam to "rwboot" its servers as we couldn't even launch steam and same to the DS.
AC and raceroom servers were OK.
Today we'll do 68 laps around Donington.. Lets hope for the best.
Another problem we had was that every time we restarted the server usually the 1st two guys entering hangup on synchronising or loading and only when host migrated again then it started working and people could continue.
I really hope you find the time sooner than later to remove steam dependency.

Ramiboo
02-12-2015, 11:13
If Stem is the problem is another one to add to the list i guess.
Yesterday we were plagued but several disconnetcs again until finally we all went down waiting for steam to "rwboot" its servers as we couldn't even launch steam and same to the DS.
AC and raceroom servers were OK.
Today we'll do 68 laps around Donington.. Lets hope for the best.
Another problem we had was that every time we restarted the server usually the 1st two guys entering hangup on synchronising or loading and only when host migrated again then it started working and people could continue.
I really hope you find the time sooner than later to remove steam dependency.

One problem we had last night at 21:55 UTC was the results screen froze up at the end of the race and then when we went back in to the lobby we couldn't change any settings.

I've sent logs to Stepan for last night multiplayer sessions.

RomKnight
02-12-2015, 11:16
I would too if I was the server admin :(

I can also ask, but the admin also practices and TBH he and pretty much everyone else prefer AC somehow and also turning to R3E now.

I'll be out of places to do leagues in Portugal using pCARS pretty soon :(

Ramiboo
03-12-2015, 09:46
PM Sent

Build 79 logs after some practice last night. Larger event happening tonight and will collect monitoring again.

t0daY
03-12-2015, 10:16
PM Sent

Build 79 logs after some practice last night. Larger event happening tonight and will collect monitoring again.

Well we did not talk about it yet which server we gonna use :p :D :D :D

Stepan, we will send you tonight around 21:30 UTC another log with likely 20+ driver in the session. BMW M1 Procar @ Brno will be the event :)


*edit*

pm sent with new datas from last evening session :)

satco1066
04-12-2015, 09:11
Some tracks missing from the track selection is correct, that's a fix applied in patch 6.0. Previously the game would let people choose track with grid sizes smaller than the session's size. Many tracks do not have enough grid spots for 32 players, which is probably your default. This can naturally lead to many problems and various crashes. One of them was the nonsense AI number sometimes appearing when you enabled AI on tracks smaller than the session's size. Because the track's grid size was smaller than the session's size, the game computed the amount of AIs needed to fill the grid as negative, leading to that nonsense.

After patch 6.0, the game will no longer let you select incompatible tracks.

In the future, most likely patch 6.2, updated DS will be also released and it will no longer all incompatible TrackId to be selected, directly in server.cfg or in the sms_rotate addon.

For now I strongly recommend changing the DS config to smaller session size from the default of 32, if you want to be able to choose from more tracks.

I have not seen the crash you report yet (it's not a disconnect, something very wrong is happening). We'll try to find out what's going on.

Its clear to me, that the size of a session is dependent to the count of pits of a track.
But the dedication of gridsize to that parameter is not ok.
Originally gridsize was dependent to the bandwidth of the internet connection.

For now, if we like to setup a public server that offers all tracks, we have to set gridsize = 12 ( Cadwell ). Thats pointless.
Why DS cannot calculate the gridsize automatically, dependent to the max gridsize of the used track.
eg, Server.cfg setting Gridsize =32, if the host selects Rouen, the gridsize wil be restricted to 20, but if he selects Sakkito GP it will be 32.

That little calculation should be no problem for the DS.

What you did here is pointless restriction. But developers should do error correction to avoid impossible setups by the session host.

RomKnight
04-12-2015, 12:46
It actually limits leagues track choices as well since no one will do a race with just say, 12. Not even a fun race.

This is bad if you ask me...

t0daY
07-12-2015, 08:34
Any new news here?

Ramiboo
07-12-2015, 10:06
Any new news here?

I think Stepan is out delivering presents..... Ho Ho Ho!


EDIT: Hi SMS, we've been working quite hard to collect data and run tests to help you improve your offering. Can we get an update or an expected ETA as to when someone will be looking into the DS issues? You have willing and able testers just a forum post away. :D

DerKillerhai
10-12-2015, 07:08
So, i have to ask this, will there be an offline mode for the server in the future? or at least this december? :3 i still havn't managed to fix my internet and i dont know if can solve this until new year. So, i have to count on the dedicated server software :D

would love to get an answer to this if there is anything planned :)

Cheers, DerKillerhai

t0daY
10-12-2015, 07:18
I think Stepan is out delivering presents..... Ho Ho Ho!


EDIT: Hi SMS, we've been working quite hard to collect data and run tests to help you improve your offering. Can we get an update or an expected ETA as to when someone will be looking into the DS issues? You have willing and able testers just a forum post away. :D

I agree... At least an answer if some1 received our data's or when they take a look into it. Really frustrating to spend so much time for that and then getting no answer at all... It's demotivating to continue the work for the DS...

DerKillerhai
10-12-2015, 07:35
I agree... At least an answer if some1 received our data's or when they take a look into it. Really frustrating to spend so much time for that and then getting no answer at all... It's demotivating to continue the work for the DS...

I want to thank you guys, people like you and Ramiboo (sorry of i left someone out, you are the ones that i saw the most posting about server stability and stuff :3), spending so much time to help to improve the dedicated server software! You deserve at least a thank you for that if you ask me! :)

RomKnight
10-12-2015, 10:21
http://forum.projectcarsgame.com/showthread.php?39984-Future-of-Project-Cars-as-an-eSport-open-discussion-and-questions-for-SMS&p=1187599&viewfull=1#post1187599

Reading this might explain why Stepan is not allowed to be out of the cave :D

/edit
moving to MP issues thread

KAMPFBIBER81
12-12-2015, 13:07
Hi Guys

I'm in the need for some help getting my DS up and running.

I've deleted all local content and reinstalled the DS (latest version, 81/133) I've copied the server cfg with lists and both lists from the sample config directory to the root directory.

Made some basic adjustments to the config files to let the server control the game Setup (Track, Vehicle Class, Vehicle, Tyre wear, fuel consumption, etc). I also lowered the amout of allowed players to 24. I haven't touched the LUA stuff for now.

Now I have the same problem as Pete Beardsley, I cannot see the DS in-game. I can see the server listed here: http://cars-stats-steam.wmdportal.com/index.php/servers -> www.FLANC.ch Fun Server (Status: Available)

The server is directly attached to the internet, no FW between execpt a Windows Firewall. The default incoming configurations are enabled, UDP & TCP for DedicatedServerCmd.exe.

The steam account that is used to host the DS is configured so use the same Steam download location as my steam account (Switzerland).

Here you can find all my cfg files: https://onedrive.live.com/redir?resid=F7F7BF184FD19B79!82672&authkey=!AE0_xZTW-NhNVkw&ithint=folder%2ccfg

Server Output:

[2015-12-12 15:03:32] INFO: Starting up the Dedicated Server Library.
[2015-12-12 15:03:32] INFO: Server configuration loaded:
- server build version: 81
- protocol version: 133 (1.0.1.33)
- server name: www.FLANC.ch Fun Server
- max session size: 24
- details: secure, bind IP INADDR_ANY, Steam port 8766, host port 27015, query port 27016, password protected no
- whitelist size: 1
- blacklist size: 1
- lua api: enabled
- http api: disabled
- allow empty join: enabled
- game setup control: enabled

Setting breakpad minidump AppID = 332670
[2015-12-12 15:03:32] INFO: HttpApi disabled
[2015-12-12 15:03:32] INFO: Loading LuaApi addon 'sms_base'...
[2015-12-12 15:03:32] INFO: Loading LuaApi addon 'sms_rotate'...
[2015-12-12 15:03:32] INFO: Loading LuaApi addon 'lib_rotate'...
[2015-12-12 15:03:32] INFO: Loading LuaApi addon 'sms_motd'...
[2015-12-12 15:03:32] INFO: Loading LuaApi addon 'sms_stats'...
[2015-12-12 15:03:32] INFO: LuaApi started
[2015-12-12 15:03:32] INFO: Dedicated server is starting...
[2015-12-12 15:03:34] INFO: Connection to Steam established
[2015-12-12 15:03:34] INFO: Received public IP 80.219.148.74
[2015-12-12 15:03:35] INFO: Server logged in with Steam id 90098450033078273 ; server is secure
[2015-12-12 15:03:35] INFO: Server startup finished: AppId 332670, public IP 80.219.148.74, Steam id 90098450033078273 ; switching to running state
[2015-12-12 15:03:35] INFO: Saving persistent data for addon 'sms_rotate' into 'lua_config\sms_rotate_data.json'





Any idea? Many thanks in advance for your efforts.

Cheers

Fabio

t0daY
12-12-2015, 13:13
Hi Guys

I'm in the need for some help getting my DS up and running.

I've deleted all local content and reinstalled the DS (latest version, 81/133) I've copied the server cfg with lists and both lists from the sample config directory to the root directory.

Made some basic adjustments to the config files to let the server control the game Setup (Track, Vehicle Class, Vehicle, Tyre wear, fuel consumption, etc). I also lowered the amout of allowed players to 24. I haven't touched the LUA stuff for now.

Now I have the same problem as Pete Beardsley, I cannot see the DS in-game. I can see the server listed here: http://cars-stats-steam.wmdportal.com/index.php/servers -> www.FLANC.ch Fun Server

The server is directly attached to the internet, no FW between execpt a Windows Firewall. The default Incoming configurations are enabled, UPD & TPC for DedicatedServerCmd.exe.

Here you can find all my cfg files: https://onedrive.live.com/redir?resid=F7F7BF184FD19B79!82672&authkey=!AE0_xZTW-NhNVkw&ithint=folder%2ccfg

Server Output:

[2015-12-12 15:03:32] INFO: Starting up the Dedicated Server Library.
[2015-12-12 15:03:32] INFO: Server configuration loaded:
- server build version: 81
- protocol version: 133 (1.0.1.33)
- server name: www.FLANC.ch Fun Server
- max session size: 24
- details: secure, bind IP INADDR_ANY, Steam port 8766, host port 27015, query port 27016, password protected no
- whitelist size: 1
- blacklist size: 1
- lua api: enabled
- http api: disabled
- allow empty join: enabled
- game setup control: enabled

Setting breakpad minidump AppID = 332670
[2015-12-12 15:03:32] INFO: HttpApi disabled
[2015-12-12 15:03:32] INFO: Loading LuaApi addon 'sms_base'...
[2015-12-12 15:03:32] INFO: Loading LuaApi addon 'sms_rotate'...
[2015-12-12 15:03:32] INFO: Loading LuaApi addon 'lib_rotate'...
[2015-12-12 15:03:32] INFO: Loading LuaApi addon 'sms_motd'...
[2015-12-12 15:03:32] INFO: Loading LuaApi addon 'sms_stats'...
[2015-12-12 15:03:32] INFO: LuaApi started
[2015-12-12 15:03:32] INFO: Dedicated server is starting...
[2015-12-12 15:03:34] INFO: Connection to Steam established
[2015-12-12 15:03:34] INFO: Received public IP 80.219.148.74
[2015-12-12 15:03:35] INFO: Server logged in with Steam id 90098450033078273 ; server is secure
[2015-12-12 15:03:35] INFO: Server startup finished: AppId 332670, public IP 80.219.148.74, Steam id 90098450033078273 ; switching to running state
[2015-12-12 15:03:35] INFO: Saving persistent data for addon 'sms_rotate' into 'lua_config\sms_rotate_data.json'





Any idea? Many thanks in advance for youre efforts.

Cheers

Fabio

Do you have access to the DS over the http api? With local host?

Greetz


*edit*

also I took a look over the server.cfg... You forgot the IP address on the "Bind IP Address".

KAMPFBIBER81
12-12-2015, 13:30
Hi today, thank you.

I've entered the missing public IP, here is the updated cfg file: https://onedrive.live.com/?authkey=%21AE0%5FxZTW%2DNhNVkw&id=F7F7BF184FD19B79%2182672&cid=F7F7BF184FD19B79

What can I do if I do not have a fixed IP?

How can I access the http API? With the browers? I've tried http://127.0.0.1:9000/ & http://localhost:9000/

t0daY
12-12-2015, 13:48
Hi today, thank you.

I've entered the missing public IP, here is the updated cfg file: https://onedrive.live.com/?authkey=%21AE0%5FxZTW%2DNhNVkw&id=F7F7BF184FD19B79%2182672&cid=F7F7BF184FD19B79

What can I do if I do not have a fixed IP?

How can I access the http API? With the browers? I've tried http://127.0.0.1:9000/ & http://localhost:9000/

Is the server running on your computer or on a seperate server? "127.0.0.1/localhost" is only for your own computer. Try the IP you insert into the server.cfg with the port 9000.

Added you also in steam. It is easier to write directly in german ;P

Cheers!

t0daY
12-12-2015, 13:52
@Stepan Vondrak

Another thing ramiboo and I acknowledged was this message here:

WARNING: User 76561198050075978 sent game datagram targeted to recipient with refId 49154, but there is no such member in the session

The user id's in these messages are normally for valid active members of the lobby, not people that have left. Is this a sign that a use didn't get a message or I'm wondering if the user left in a previous session, say practice or Qualifying and then rejoined, the DS tries the send duplicate messages to the same user at it thinks he's there twice? Does that makes sense?

Double "messages" could cause also high or more cpu usage. As you stated before the Steam networking API being the part that consumes by far the most CPU. Could be that a part of the issue? Too many datagrams which are targeted to people which are already no longer part of the sessions?

Regards

KAMPFBIBER81
12-12-2015, 14:18
Thx mate. I need to leave now, will contact you on steam.

M4MKey
12-12-2015, 14:48
Hey there. Does anyone know the correct way to add AI to the field on a dedicated server ? My admin is trying to do so but it doesn't seem to work at all...

allana15
13-12-2015, 12:04
Have him place it in the FLAGS to require AI to be added

allana15
13-12-2015, 12:11
Hello Stepan Vondrak I have a question, in the rotation in the lua_confrig , How many Races can be added, (Just Two?) or as many as I like?

allana15
13-12-2015, 12:20
I can see why real weather doesn't work, you have the weather slots set to 0 set it to 4

erickgoldner
13-12-2015, 12:28
I can see why real weather doesn't work, you have the weather slots set to 0 set it to 4

I don't think there's a limit for the rotation... Just add as many as you wish.

About the weather, the orientation is to actually use 0 for real weather.
If you set 4, it will use the 4 weather id's from the slots.

CRLCactus
14-12-2015, 02:03
Here is link to my config, just put your server name in it
https://www.dropbox.com/sh/fimo2w5qsedagqr/AAAHFdf4nDFfvSheY9BHGeKma?dl=0

Also here is link for the tracks, cars and other things settings
http://harm.io/misc/pcars/

If you find a newer one please give link
My server is Cactus Racing
Cactus, Steve

DFAlex
14-12-2015, 11:21
Hai,


Hello Stepan Vondrak I have a question, in the rotation in the lua_confrig , How many Races can be added, (Just Two?) or as many as I like?

I had on Malzbierbude.de Servers a rotation running with 25 Tracks...no problems...


I don't think there's a limit for the rotation... Just add as many as you wish.

About the weather, the orientation is to actually use 0 for real weather.
If you set 4, it will use the 4 weather id's from the slots.

I noticed this too...if i use real weather (slot 0) the server changes it to random...
Sounds like a Bug?

regards
Alex

RomKnight
14-12-2015, 11:25
I noticed this too...if i use real weather (slot 0) the server changes it to random...
Sounds like a Bug?

regards
Alex

Hmm.. been foggy for the last couple of days on the server I race but we've seen enter/disconnect/enter and weather changes in the time being too (light rain/light cloud/light rain within 1m).

We noticed this because of the many issues we're having lately by getting stuck in synchronising and loading menus.

Maybe not working quite as expected, indeed.

Henk de Jong
14-12-2015, 18:39
Is the dedicated server host bound (the person that first joins the server) or is this a setting that can be done? We just had a session where the host changed because of a rejoin and the rest of the session was messed up after that. For the remainder of the session no timekeeping was done and all AI ended up as DNF.

CRLCactus
15-12-2015, 01:27
Thank you for all the work you are doing, its really appreciated
I have a list of settings for the server which is dated Aug 15, any updates for these, I hope
Here is the link i have
http://harm.io/misc/pcars/

Also any chance the fuel can be updated like the tires 2x or more
Here is the link for my config file if you have time to look at it, it does work fine except some people cannot see it until i get on it
https://www.dropbox.com/sh/fimo2w5qsedagqr/AAAHFdf4nDFfvSheY9BHGeKma?dl=0

Again thanks for all the good work,
Steve, Cactus

RomKnight
16-12-2015, 22:45
As I've feared, we were all disconnected with 17/26 laps during our race that at Le Mans. ATM it is impossible to make long races because of steam :(

Funny thing, we're all disconnected in order from last to 1st except two that took almost a minute to get disconnected.

We're mostly from Portugal but there were some at least one from Brasil and one from France.

Server was the last showing errors but blamed steam as well with something along the lines "connection with steam was lost" or "Disconnected from steam". We were all pissed so couldn't quite understand the admin on TeamSpeak :(

This will kill pCARS on this community according to some voices. Great...

erickgoldner
17-12-2015, 11:07
Was this yesterday?
Our league had our last Race yesterday from 21:45 to 23:00 (brasilian time) and one player only had a disconnection from Steam.
Last week on the same time and day, we had the exactly same problem, with everybody being disconnected.

Its getting rough to host league races.

RomKnight
17-12-2015, 15:12
Was this yesterday?
Our league had our last Race yesterday from 21:45 to 23:00 (brasilian time) and one player only had a disconnection from Steam.
Last week on the same time and day, we had the exactly same problem, with everybody being disconnected.

Its getting rough to host league races.

It was indeed... And I bet that we actually are thinking about the same guy if the one you're thinking about also usually runs with AC on mondays with a BMW Z4 :P

Racki
29-12-2015, 13:38
I'm sorry if this has already be answered, but I could not find it...

Where can I configure if I want weather progression fitted to race time vs. fitted to real clock (1 hour equals 1 slot when progression = 1x)
Maybe there is a setting "ForecastProgression" : 0 ???

TurtleCrunchy
02-01-2016, 15:47
Currently having an issue where we can't find certain tracks on our dedicated servers, Brands Hatch, Hockenheim (not classic though), Nurburgring (apart from mullenbach) and cali highway. I'm no expert with this stuff but I know LUA doesn't seem to effect it, and nor does limiting the grid size on the server itself

satco1066
03-01-2016, 20:17
The tracks you see depends on the "gridsize" in your server.cfg.
If your grid ist 32 you cannot see tracks with eg only 26 pits.
The amounts of pits per track you'll find in servertypes.pdf starting at page 21 (gridsize).

Mattias
03-01-2016, 21:54
The tracks you see depends on the "gridsize" in your server.cfg.
If your grid ist 32 you cannot see tracks with eg only 26 pits.
The amounts of pits per track you'll find in servertypes.pdf starting at page 21 (gridsize).

Is this new? Used to see all tracks in the track list before even with a setting of 32 in grid size. Cadwell etc would still show up.
Is there a way to set "max grid size" depending on the selected track? So all tracks can be visible but still allow maximum grid size...

satco1066
03-01-2016, 22:22
Is this new? Used to see all tracks in the track list before even with a setting of 32 in grid size. Cadwell etc would still show up.
Is there a way to set "max grid size" depending on the selected track? So all tracks can be visible but still allow maximum grid size...

Since patch 6.
see here
http://forum.projectcarsgame.com/showthread.php?22370-Dedicated-Server-HowTo-(Work-in-Progress)&p=1184907&viewfull=1#post1184907

WRX Curve
20-01-2016, 21:13
If I were to lease a dedicated server to run PCars, what kind of specs should I be looking for to get a smooth 16-player performance?

vbabiy
20-01-2016, 21:19
I run a server a $5 digitalocean box, will around 25 people with no problem. It's a linux box.

F1_Racer68
20-01-2016, 23:48
If I were to lease a dedicated server to run PCars, what kind of specs should I be looking for to get a smooth 16-player performance?

Hardware needs are pretty minimal. The big thing is the host's bandwidth. It needs to be pretty hefty if you want to have more than a few drivers in the races.

WRX Curve
21-01-2016, 03:52
Thanks guys! So I could host it at home with a decent connection.

MrSam
21-01-2016, 07:09
Or you can rent a server to mhservers.co.uk for €3

Racki
27-01-2016, 20:23
I'm sorry if this has already be answered, but I could not find it...

Where can I configure if I want weather progression fitted to race time vs. fitted to real clock (1 hour equals 1 slot when progression = 1x)
Maybe there is a setting "ForecastProgression" : 0 ???


I am still looking for that...

Orcajavi
31-01-2016, 12:00
Hey there,
Is it possible to disable the help of driveline in my private server? Those who have this support enabled, have an advantage over others.

Thanks!

allana15
31-01-2016, 12:21
Hey there,
Is it possible to disable the help of driveline in my private server? Those who have this support enabled, have an advantage over others.

Thanks!

It's not a advantage if everyone is using it! and No there is no way to turn it off with a Flag.

allana15
31-01-2016, 12:29
If I were to lease a dedicated server to run PCars, what kind of specs should I be looking for to get a smooth 16-player performance?

At least a 4 meg upload speed do get a good race, and It still depends on the link that each player has. One bad link can ruin it all.

allana15
31-01-2016, 12:33
Is the dedicated server host bound (the person that first joins the server) or is this a setting that can be done? We just had a session where the host changed because of a rejoin and the rest of the session was messed up after that. For the remainder of the session no timekeeping was done and all AI ended up as DNF.

Yes the First person Is bound!!! If the admin leaves the server it will go to the next player to be the admin, and so on.

Ch1ps N Queso
04-02-2016, 02:53
Can someone please explain to me how to add the message of the day. I see the addon area within the config file but have no idea how to enable the message I want our server to display. Thanks.

hophans
04-02-2016, 17:34
Simply edit the sms_motd_config.json located in lua_config and edit the
"motd" : "You message here" and restart your server.

allana15
05-02-2016, 12:59
Can someone please explain to me how to add the message of the day. I see the addon area within the config file but have no idea how to enable the message I want our server to display. Thanks.

Open the Lua_config folder Inside it there is a file called sma_motd.config Open that

226849

jfr
07-02-2016, 20:23
Hello,
I have just finished reading all the 41 pages to try to find an answer to my question, but can not find it.

I dont know what im doing wrong. If I select TC1, Renault Clio and Monza short, my dedicated server starts with Road-B classes, and Brands Hatch. I come in, go out, and then it have Silverstone and FC.

Can anybody tell me what Im doing wrong please ?

Here is my server CFG, and now its opened with name "test jfr"

Thanks,

--------------------------------------------------------------------------------------





*edited and deleted config to make smaller post because its solved
Thanks.

M. -VIPER- Morgan
08-02-2016, 05:54
Hello,
I have just finished reading all the 41 pages to try to find an answer to my question, but can not find it.

I dont know what im doing wrong. If I select TC1, Renault Clio and Monza short, my dedicated server starts with Road-B classes, and Brands Hatch. I come in, go out, and then it have Silverstone and FC.

Can anybody tell me what Im doing wrong please ?

Here is my server CFG, and now its opened with name "test jfr"

Thanks,

--------------------------------------------------------------------------------------
...

}

I think the cause is that you have:
enableLuaApi : true

If LUA is enabled the config from the file lua_config/sms_rotate_config.json is used and your session settings from the server.cfg are overwritten.
Set enableLuaApi : false and check again.
Further please read the pdf files which are in the Dedicated Server root folder. There are all things described very good.

Multiple Race settings (automatic rotation of multiple races) are only possible with LUA enabled. In this case you have to use the sms_rotate_config.json file.

jfr
08-02-2016, 09:14
I think the cause is that you have:
enableLuaApi : true

If LUA is enabled the config from the file lua_config/sms_rotate_config.json is used and your session settings from the server.cfg are overwritten.
Set enableLuaApi : false and check again.
Further please read the pdf files which are in the Dedicated Server root folder. There are all things described very good.

Multiple Race settings (automatic rotation of multiple races) are only possible with LUA enabled. In this case you have to use the sms_rotate_config.json file.

Thanks ! Lua is the key ;)


Now I can do it with several config changes:

enableLuaApi : false

controlGameSetup : true
"ServerControlsTrack" : 1,
"ServerControlsVehicleClass" : 1,
"ServerControlsVehicle" : 1,

"Flags" : 1024,

With flags 1024 only car classes are fixed and people can select car from class
With flags 1024+2=1026 classes and cars are fixed and no selection allowed.

vidisse
10-02-2016, 14:01
Hello, i rented a dedicated server for 1 month and everything is ok, the server is always online even it's empty. Now i want to rent a VPS to run multiple servers and i'm doing some test, but i have a problem, if i create a server with my pc it is not visible in lobby until someone enter (allowEmptyJoin set to true). I know this is a limitation of the first versions but why the rented server is always online? What are the differences?

satco1066
10-02-2016, 20:30
did you open the ports on your firewall?

Kenaidoo
13-02-2016, 14:55
It follows that by now the game will not present any development of Features. I was hoping for a better server-side development for PC by WMD, making the dedicated server, completely dedicated to 100% and not dependent on one side by the host client, save race replays from dedicated server, arrange the replays of the clients that corrupt when you disconnect someone or become invisible when you log off in advance, make banners. I was hoping this, precisely because the community PC which has supported WMD, but that apparently doesn't care. Too bad for many supporters, who use pCARS for Championships. :confused:

RomKnight
13-02-2016, 16:24
MP is not a new feature. It exists and must be corrected. At least remove the steam dependency on PC to avoid ANOTHER point of failure (and a certain one I can assure you this).

Stability issues are just not on PC as you can read around here so yeah... no need for new features but make the existing ones work properly.

Kenaidoo
14-02-2016, 11:35
MP is not a new feature. It exists and must be corrected. At least remove the steam dependency on PC to avoid ANOTHER point of failure (and a certain one I can assure you this).

Stability issues are just not on PC as you can read around here so yeah... no need for new features but make the existing ones work properly.





He Tiago .. I see your point, and I was not referring to the MP as a new feature.
For sure I want the best MP because on the PC side is really low as a level.
The server does not support 100% the connection of all clients, and then the table is always a bit tied to those who enter first in hosting the game on the dedicated server.
The dedicated server does not save the replays, and flags management is made really bad.

Thx Tiago...

RomKnight
14-02-2016, 15:02
I just wanted to reinforce this... yet again :D

No worries.

satco1066
14-02-2016, 21:28
Just a guess.

If all problems are server side, then there should be the time for a community project.
PCARS DS would not be the first, that was replaced by a community developed server.

If some problems are client side, it's bad. But a better server could mabye handle that better.

CRLCactus
15-02-2016, 00:11
Once you get your server working, I use this on my Decated Server, use the config file that comes with it
do not edit it yourself or it will not load back in
Link
http://forum.projectcarsgame.com/showthread.php?38221-Standalone-GUI-Dedicated-Server-Config-Generator-V0-80-Patch-4-0/page6

Cactus

Ch1ps N Queso
17-02-2016, 01:07
@hophans @allana15

A little late but thanks for the reply. I got it working.

RomKnight
17-02-2016, 13:27
Seen a new dedicated thread for disconnects has been created for PS4... somehow PC disconnects seem to be ignored (i've posted multiple times already also in PS4 threads)

My question is, will the investigation affect PC MP too? (i hope so)

Sankyo
17-02-2016, 13:41
Seen a new dedicated thread for disconnects has been created for PS4... somehow PC disconnects seem to be ignored (i've posted multiple times already also in PS4 threads)

My question is, will the investigation affect PC MP too? (i hope so)

I'd think that any game-side bugs issues found in the PS4 investigation will apply to other platforms as well, so fixing those would also benefit PC players.

DFAlex
17-02-2016, 14:33
Seen a new dedicated thread for disconnects has been created for PS4... somehow PC disconnects seem to be ignored (i've posted multiple times already also in PS4 threads)

My question is, will the investigation affect PC MP too? (i hope so)
Moin,
hmm..maybe the PS4 Disco is a differend problem to the PC Disco...
I saw some posts in the german pC-Forum to this and it sounds to me as the PS4 "only" DC to PSN...

To help the Devs i try to colleckt so many Log's/configs/settings as possible, Server side and User side...
I send them to Vittorio Rapa after i got a verry fast reply from him...so maybe it's the best we can do atm...

regards
Alex

RomKnight
18-02-2016, 09:54
Yesterday's race.

From practice to quali, people getting stuck in pitbox then had to use the three finger salute to end the process... rinse repeat to warmup which being only 5m long to allow people to change setups (wastegate, a.e.) meant some did not even start for both of those who trying to rejoin and those who hoped that going to race would "release" them

Other 2 had problems with the gearbox that got setup to the highest gears (took them a month to get the car moving from the standstill! )

And that "syncing" message. Granted only 6 had problems this time so 20 finished the race.

The Sleepactive can help here? maybe from 10 to 8... or lower?

DFAlex
18-02-2016, 13:31
Yesterday's race.

From practice to quali, people getting stuck in pitbox then had to use the three finger salute to end the process... rinse repeat to warmup which being only 5m long to allow people to change setups (wastegate, a.e.) meant some did not even start for both of those who trying to rejoin and those who hoped that going to race would "release" them

Other 2 had problems with the gearbox that got setup to the highest gears (took them a month to get the car moving from the standstill! )

And that "syncing" message. Granted only 6 had problems this time so 20 finished the race.

The Sleepactive can help here? maybe from 10 to 8... or lower?
hmm...not 100% sure, i run the servers with 15ms...that was a workaround for the host change error...
for me it sounds better to give him more time instead less time?!
but you can try both...
the sync message is for my understanding when you have racers with a higher ping on your server and/or the reply from steam server comes not in time...

Alex

Mahjik
18-02-2016, 13:39
PC Disconnect investigation: http://forum.projectcarsgame.com/showthread.php?45127-PC-online-disconnects-(MP-TT)-report-here

t0daY
18-02-2016, 13:40
PC Disconnect investigation: http://forum.projectcarsgame.com/showthread.php?45127-PC-online-disconnects-(MP-TT)-report-here

Well if a DS is in use I think the DS thread is also the right choice? I would seperate DS and P2P in my opinion. Although it seems Stepan Vondrak left the project and nobody is working on the DS right now? But well I think thats another topic though.



Yesterday's race.

From practice to quali, people getting stuck in pitbox then had to use the three finger salute to end the process... rinse repeat to warmup which being only 5m long to allow people to change setups (wastegate, a.e.) meant some did not even start for both of those who trying to rejoin and those who hoped that going to race would "release" them

Other 2 had problems with the gearbox that got setup to the highest gears (took them a month to get the car moving from the standstill! )

And that "syncing" message. Granted only 6 had problems this time so 20 finished the race.

The Sleepactive can help here? maybe from 10 to 8... or lower?

I am following this thread for a while, wasnt that also you who had like mass disconnects and other stuff going on? If you have that low sleep active I can tell you for sure why you get mass disconnects. You are overloading your CPU core which runs the DS. Go for 20 - 30. Lower numbers causing more traffic and more cpu load which normally causing mass disconnects once the average cpu load is going over 0,7.

Best workaround for RSR so far: If you want to do your Qualy into Race event. Start alone a 1 hour practice session. Let everyone join the JIP session and let them test their controls. Once everybody checked their controls the host can skip the practice session and you are going directly, without any loading, to the Qualy session. Another advice, start the 1 hour practice alone or with less than 8 people because we encountered in the past that full lobbies which are trying to load into the game is nearly not working at all.

Hope I could help!

Mahjik
18-02-2016, 14:12
Well if a DS is in use I think the DS thread is also the right choice? I would seperate DS and P2P in my opinion. Although it seems Stepan Vondrak left the project and nobody is working on the DS right now? But well I think thats another topic though.

The goal is to consolidate the information into one location. SMS can distinguish what they need on their side.

RomKnight
18-02-2016, 17:06
Well if a DS is in use I think the DS thread is also the right choice? I would seperate DS and P2P in my opinion. Although it seems Stepan Vondrak left the project and nobody is working on the DS right now? But well I think thats another topic though.




I am following this thread for a while, wasnt that also you who had like mass disconnects and other stuff going on? If you have that low sleep active I can tell you for sure why you get mass disconnects. You are overloading your CPU core which runs the DS. Go for 20 - 30. Lower numbers causing more traffic and more cpu load which normally causing mass disconnects once the average cpu load is going over 0,7.

Best workaround for RSR so far: If you want to do your Qualy into Race event. Start alone a 1 hour practice session. Let everyone join the JIP session and let them test their controls. Once everybody checked their controls the host can skip the practice session and you are going directly, without any loading, to the Qualy session. Another advice, start the 1 hour practice alone or with less than 8 people because we encountered in the past that full lobbies which are trying to load into the game is nearly not working at all.

Hope I could help!

Thanks mate.

Unfortunately the server is not mine. It is just where I race.

I'll asked them to up the sleepactive to 15 as I've seen in another thread but TBH I don't think the server has a bandwidth problem nor CPU issues.

t0daY
19-02-2016, 01:11
Thanks mate.

Unfortunately the server is not mine. It is just where I race.

I'll asked them to up the sleepactive to 15 as I've seen in another thread but TBH I don't think the server has a bandwidth problem nor CPU issues.

Why do you think that? Do you know that for sure it is not the bandwith and/or CPU? Just because the CPU sounds good does not mean it is actually good^^
Also the sentence "any CPU is working for the DS" is just not true. My server got 1Gbit Bandwith and an Intel Xeon E5 with 8 dedicated cores. The DS is only running single cored. Trust me when I am saying you need a medium to high end server CPU to run the DS in pCars smoothly. That it would work with "any CPU" is just wrong when you want to fill a lobby to his max.

RomKnight
19-02-2016, 12:52
I don't think anything. It is not my server ;)

But any test can't be done, right?

One thing I know, in race days (from quali to the end of the race), only the server for the sim used at that time is on, just in case. It is been like this for quite a while (since race07 days IIRC)

And to clear a confusion, I reported mass (I actually used "in batches") disconnects but never referred to CPU load. Like I said, i'm not the admin so I know nothing about it.

Unfortunately the admins are busy and usually only found late at night in TS, on race days it is sure but they also race so not much time.

I asked for the race day logs but still no response so... it is not much more I can do :(

Moonshine League
22-02-2016, 17:55
ServerControlsTrack, ServerControlsVehicleClass, ServerControlsVehicle
controlGameSetup : true


I do not understand why the track, car, and Class always goes to default instead of the this;

Track Silverstone GP
Vehicle class LMP1
Vehicle Audi R18 TDI

Instead I get this;

Menu Lobby is Brand Hatch, GT3

Game Lobby is Mojave Cougar Ridge, LMP1 and Audi R18 TDI

When keep the false setting all is working correct

DFAlex
23-02-2016, 09:32
ServerControlsTrack, ServerControlsVehicleClass, ServerControlsVehicle
controlGameSetup : true


I do not understand why the track, car, and Class always goes to default instead of the this;

Track Silverstone GP
Vehicle class LMP1
Vehicle Audi R18 TDI

Instead I get this;

Menu Lobby is Brand Hatch, GT3

Game Lobby is Mojave Cougar Ridge, LMP1 and Audi R18 TDI

When keep the false setting all is working correct
Moin,
you talk from server.cfg Settings?
If so, i had this too, at first with a error in a Lua Rotation and after i disabled the Lua, i got the same "default" setting...
Öhm...right or not, you can change the car and track if you join the server?

Alex

Moonshine League
23-02-2016, 19:50
Moin,
you talk from server.cfg Settings?
If so, i had this too, at first with a error in a Lua Rotation and after i disabled the Lua, i got the same "default" setting...
Öhm...right or not, you can change the car and track if you join the server?

Alex

I want the server to lock the track, car and class. It's for a League to join and to be unable to change any settings or change tracks. The Class of cars is OK but all the tracks are not locked. When I use False in the controlGameSetup, the server allows all tracks.

I am not sure what else I am suppose to setup to lock the track and why the Host Lobby show something completely different.

DFAlex
23-02-2016, 21:36
I want the server to lock the track, car and class. It's for a League to join and to be unable to change any settings or change tracks. The Class of cars is OK but all the tracks are not locked. When I use False in the controlGameSetup, the server allows all tracks.

I am not sure what else I am suppose to setup to lock the track and why the Host Lobby show something completely different.
Jupp same here, sometimes...
do you tried the Lua Rotation?
It works relative good and if you configute one car and one track, no user can change it...this works...
But some tracks made it worst, like the Nürburgring GP, this give a error and server returns to "default"...

Alex

Ci2e
24-02-2016, 06:48
[2016-02-24 02:03:56] INFO: Starting up the Dedicated Server Library.
[2016-02-24 02:03:56] WARNING: Failed to read data from file 'whitelist.cfg'
[2016-02-24 02:03:56] INFO: Server configuration loaded:
- server build version: 86
- protocol version: 135 (1.0.1.35)
- server name: Clean Track Day Any Class
- max session size: 64
- details: secure, bind IP INADDR_ANY, Steam port 8766, host port 27015, query port 27016, password protected no
- whitelist size: 1
- blacklist size: 1
- lua api: disabled
- http api: enabled listening at 127.0.0.1:9000, 1 extra header(s) defined
- allow empty join: enabled
- game setup control: disabled

Setting breakpad minidump AppID = 332670
[2016-02-24 02:03:56] INFO: HttpApi started
[2016-02-24 02:03:56] INFO: LuaApi disabled
[2016-02-24 02:03:56] INFO: Dedicated server is starting...
[2016-02-24 02:03:58] INFO: Connection to Steam established
[2016-02-24 02:03:58] INFO: Received public IP 000000000000
[2016-02-24 02:03:58] INFO: Server logged in with Steam id 90099601053669384 ; server is secure
[2016-02-24 02:03:58] INFO: Server startup finished: AppId 332670, public IP 000000000000, Steam id 90099601053669384 ; switching to running state
[2016-02-24 02:04:21] INFO: Rejecting request with URI '/favicon.ico', path 'favicon.ico' does not match any registered HTTP query handler

Seriously what the hell is going on here?

Server not listed in, in game browser at all, and -searchds "Clean Track Day Any Class" also does not work ...

satco1066
24-02-2016, 08:06
are all ports mapped and open in your firewall.
Gridsize =< 32

-searchDS is outdated since months

Ci2e
24-02-2016, 15:49
Just forwarded ports in router to my local IP 192.168.1.5 on both UDP/TCP
http://puu.sh/njPQw/82168e0315.png

Tried finding server and still not listed- Here is my server.cfg with all settings.

Also why does blacklist use [ "" ] and whitelist use { "" }? I don't plan on using whitelist only blacklist for those I see playing bumper cars or just being unsportsmanlike. I can access the server gui at 127.0.0.1 but it's been awhile since I've used a DS is there a better way to warn/kick/ban now?
blackList : [ "blacklist.cfg" ]
whiteList : { "whitelist" : "whitelist.cfg", "Stouie" : 76561197994111033 }

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

"//" : "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 : "Clean Track Day Any Class"

// 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 : 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 : 250
sleepActive : 10


///////////////////////////
// Server access control //
///////////////////////////

// NOTE: Usually you do not want to have these in your config, this is just a sample.
// Especially the whitelist as used here will allow only one user with Steam ID onto this server 76561197994111033.
// Use this as an example and modify the lists accordingly (most likely remove the whitelist entry completely),
// or use sample server.cfg instead if you do not care about blacklisting/whitelisting.

// Black list
// Anyone in this list will not be allowed into the server.
// You can use array or map/object. If the value is an object, the keys are ignored, but you can used the strings as comments with name or reason for being in the list.
// If the value is an integer, it's interpreted as a Steam ID of the blacklisted user.
// If it's a string, it's file from which the black list is loaded. The file can contain either an array or an object just like this one, and can reference more files.
// Here we just load the list from file "blacklist.cfg"
blackList : [ "blacklist.cfg" ]

// White list
// If this is not empty only whitelisted members will be allowed into the server. In that case the black list is ignored.
// Usually you don't want to have this set at all and use passwords instead, but if you prefer to control server access by whitelisting instead, keep this in and enter the right IDs.
// You can use array or map/object. If the value is an object, the keys are ignored, but you can used the strings as comments with name or reason for being in the list.
// If the value is an integer, it's interpreted as a Steam ID of the whitelisted user.
// If it's a string, it's file from which the white list is loaded. The file can contain either an array or an object just like this one, and can reference more files.
// Here we load the list from file "whitelist.cfg", and also allow user with Steam ID 76561197994111033.
whiteList : { "whitelist" : "whitelist.cfg", "Stouie" : 76561197994111033 }


///////////////////////////
// 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 : "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 : {
// "stepan" : "foo",
// "michal" : "bar",
}

// User groups. Map from group names to lists of users in said groups.
httpApiGroups : {
// "private" : [ "stepan", "michal" ],
// "admin" : [ "stepan" ],
}


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

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


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

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

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

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

// Just 3 race laps.
"Practice1Length" : 0,
"Practice2Length" : 0,
"QualifyLength" : 0,
"WarmupLength" : 0,
"Race1Length" : 6,

// 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 (1024) + FILL_SESSION_WITH_AI (131072) + AUTO_START_ENGINE (524288) = 656616"
// See /api/list/flags/session in HTTP API, or globals "lists.flags.session" or "SessionFlags" in Lua API for the full list.
"Flags" : 656616,

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

// Damage /OFF-0/VISUAL_ONLY-1/PERFORMANCEIMPACTING-2/FULL-3/
"DamageType" : 3,

// Tire Wear /X7-0/X6-1/X5-2/X4-3/X3-4/X2-5/STANDARD-6/SLOW-7/OFF-8/
"TireWearType" : 5,

// Fuel Usage /STANDARD-0/SLOW-1/OFF-2
"FuelUsageType" : 2,

// Penalties /NONE-0/FULL-1
"PenaltiesType" : 1,

// Camera Views /Any-0/CockpitHelmet-2
"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 Renault Megane (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" : 1694837381,

// Starting date and time.
"DateYear" : 2015,
"DateMonth" : 7,
"DateDay" : 6,
"DateHour" : 11,
"DateMinute" : 0,

// Standard speed for date and weather progression.
"DateProgression" : 1,
"ForecastProgression" : 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.
"WeatherSlots" : 1,
"WeatherSlot1" : -934211870,
"WeatherSlot2" : -934211870,
"WeatherSlot3" : -934211870,
"WeatherSlot4" : -934211870,
}

Moonshine League
24-02-2016, 17:36
I send you my configuration and it shows up on main lobby. Try this setup;
_______________________________________________________________

"//" : "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 : "Clean Track Day Any Class"

// 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 : 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 : 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 : 250
sleepActive : 10


// (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 : false

// 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 : "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 : {
// "stepan" : "foo",
// "michal" : "bar",
}

// User groups. Map from group names to lists of users in said groups.
httpApiGroups : {
// "private" : [ "stepan", "michal" ],
// "admin" : [ "stepan" ],
}


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


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

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

// Just 3 race laps.
"Practice1Length" : 0,
"Practice2Length" : 0,
"QualifyLength" : 30,
"WarmupLength" : 5,
"Race1Length" : 5,

// 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 (1024) + FILL_SESSION_WITH_AI (131072) + AUTO_START_ENGINE (524288) = 656616"
// See /api/list/flags/session in HTTP API, or globals "lists.flags.session" or "SessionFlags" in Lua API for the full list.
"Flags" : 787992,

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

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

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

// Penalties on.
"PenaltiesType" : 1,

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

// Track Silverstone GP. See /api/list/tracks/ in HTTP API or globals "lists.tracks", "id_to_track" or "name_to_track" in Lua API.
"TrackId" : 1641471184,

// Vehicle class LMP1. 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" : -1289517523,

// Vehicle Audi R18 TDI (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" : -1067902110,

// Starting date and time.
"DateYear" : 2015,
"DateMonth" : 7,
"DateDay" : 6,
"DateHour" : 11,
"DateMinute" : 0,

// Standard speed for date and weather progression.
"DateProgression" : 1,
"ForecastProgression" : 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.
"WeatherSlots" : 0,
"WeatherSlot1" : -934211870,
"WeatherSlot2" : -934211870,
"WeatherSlot3" : -934211870,
"WeatherSlot4" : -934211870,
}

Ci2e
25-02-2016, 02:51
Moonshine thanks but I still don't see it listed in the server browser. I have hosted a DS before so I'm really not sure why this isn't working now. It's running right now so if you see it let me know add me on Steam just search "Æon" ["(Alt+0198) on"].

H0FF1
25-02-2016, 15:33
Es währe echt Nett ,wenn ihr es endlich mal schaffen würdet eine anständige Bedieneroberfläche für den Dedicated Server zu gestalten (das hat SimBin schon vor 15 Jahren hinbekommen mit RaceRoom ,Race07 ,GTR1-2 selbst Assetto Corsa und Rfactor haben eine anständige Dedicated Server Bedieneroberfläche ,angeblich habt ihr doch die Besten Programmierer von allen !! ) !!! und eine Anleitung in Deutsch währe auch nicht schlecht !! oder ein Tutorial bei YouTube !!!! ein angepisster User !!!

Moonshine League
25-02-2016, 18:56
@ Ci2e.. Are you using Notepad to set up your Connection or a DS Launcher? I was using a DS Launcher before and my host wasn't showing up online until I started configured my setting using Note Pad then it showed up online again.,

satco1066
25-02-2016, 20:07
Hey Ci2e. Created a new server.cfg with wordpad, copied your post and saw the server in lobby browser.

1. server build : 86
2. Protocol version 135 (1.0.1.35)

Did you try to disable the firewall of your server pc, to check if it helps.

DS is not really big. try backup cfg files, uninstall , delete the folder and new install.

Ci2e
26-02-2016, 02:54
@ Ci2e.. Are you using Notepad to set up your Connection or a DS Launcher? I was using a DS Launcher before and my host wasn't showing up online until I started configured my setting using Note Pad then it showed up online again.,

I've tried a DS Launcher in the past but it doesn't really have all the settings I'm looking for, so I just went back to notepad. So I've always been using notepad and when I launch the DS with the desktop shortcut for some reason Steam shows I'm playing PCars DS. I have other friends that host DS and it doesn't show them playing PCars DS.


Hey Ci2e. Created a new server.cfg with wordpad, copied your post and saw the server in lobby browser.

1. server build : 86
2. Protocol version 135 (1.0.1.35)

Did you try to disable the firewall of your server pc, to check if it helps.

DS is not really big. try backup cfg files, uninstall , delete the folder and new install.

I'm using my main and only pc to host/drive. Since I have all the ports forwarded all I can think of is Windows Firewall somehow blocking the DS. I doubt this is the case since I never had to fiddle with Windows Firewall in the past.

So I did a test I turned off Windows Firewall Private and Public then relaunched the server and see it listed in the server browser. I turn on Windows Firewall and then it's no longer listed in the server browser. I checked and there's already a rule to allow the DS in Windows Firewall.

http://puu.sh/nlJdZ/223670fb34.png

So I decided to delete the auto imported entry in Windows Firewall and create my own directly to the "DedicatedServerCmd.exe".

https://puu.sh/nlJDH/8e1b010c97.png

I seriously don't get what the hell is going on here. This makes me think Windows 10 Firewall is borked somehow. Although I was running Windows 10 in the past and had absolutely no issues at all using this tutorial in the past. I can't exactly leave Windows Firewall off 24/7 as that would be plain stupid, what should I do?

:Update:
Now I have it listed but I'm getting an error saying I'm not allowed on the server. So I found the whitelist in the server.cfg and edited it to the following "whiteList : {}" all seems good now. I could smack someone silly now. xD

So "Clean Track Day Any Class" is now up and running thanks for the help everyone. Now I'm curious why hasn't SMS added a proper spectator mode and given servers the ability to make spectators stewards so if they see someone playing bumper cars they can black flag them and AI takes over their car and drives them back to the pits ending their race?

satco1066
26-02-2016, 08:28
are all ports mapped and open in your firewall.
Gridsize =< 32



as i said. :cool: :yes:

Ci2e
26-02-2016, 12:36
That's a different firewall a hardware firewall, the software firewall in Windows was the problem.

satco1066
26-02-2016, 13:31
shure, but i just used the word firewall.
as i'm not your admin, it is not relevant for me, where any of your firewalls are located.

Riccardo De Rosa
09-03-2016, 12:41
I need some help please.

I can get into my server and become the host / admin ? although there are already other drivers on the server?
How do I set to make this possible?

Thanks in advance

satco1066
09-03-2016, 13:59
I need some help please.

I can get into my server and become the host / admin ? although there are already other drivers on the server?
How do I set to make this possible?

Thanks in advance

The host is the one who starts the session.

But on the HTTP Interface you have the ability to kick and ban.
I suggest to not use the default port ( 9000 ) and use it password protected.

Riccardo De Rosa
09-03-2016, 17:48
so if I do not enter first, I can not be admin?

satco1066
09-03-2016, 22:21
so if I do not enter first, I can not be admin?

right.

Riccardo De Rosa
09-03-2016, 22:33
it is not very nice... :(

Kenaidoo
13-03-2016, 11:15
it is not very nice... :(

Welcome to the multiplayer Project CARS PC !!!!

Forget the management of dedicated servers as rFactor ... he does not approach close. :confused::(:(:(:(:nightmare:

KingE71
14-03-2016, 10:06
gents,

I'm running a dedicated server on Ubuntu. Strange thing is i see the server twice in the server list. When i stop the server, both entries are gone. Starting the server and it is listed twice again.....
What is going on here? a bug, or something in the config?

log;
- server build version: 87
- protocol version: 135 (1.0.1.35)
- server name: SoMs VroemVroemRoom
- max session size: 16
- details: secure, bind IP INADDR_ANY, Steam port 8766, host port 27015, query port 27016, password protected no

hophans
14-03-2016, 11:38
King try and probe for process with:

sudo ps -aux | grep DedicatedServerCmd

This should return the number of running DS' on your server along with pid.
If it only return 1 process it might be a config issue.
If it returns more than one try and kill one of the pid's and refresh the server list.

KingE71
14-03-2016, 12:02
King try and probe for process with:

sudo ps -aux | grep DedicatedServerCmd

This should return the number of running DS' on your server along with pid.
If it only return 1 process it might be a config issue.
If it returns more than one try and kill one of the pid's and refresh the server list.


soms 17519 1.2 4.3 160744 133948 pts/1 Sl+ 11:55 1:31 ./DedicatedServerCmd
soms 18035 0.0 0.0 4528 2172 pts/2 S+ 14:01 0:00 grep --color=auto DedicatedServerCmd


just one process.....
not sure what kind of config issue it could be

Ramiboo
14-03-2016, 13:38
soms 17519 1.2 4.3 160744 133948 pts/1 Sl+ 11:55 1:31 ./DedicatedServerCmd
soms 18035 0.0 0.0 4528 2172 pts/2 S+ 14:01 0:00 grep --color=auto DedicatedServerCmd


just one process.....
not sure what kind of config issue it could be

Post your server config. Do you have an init script your using to start it with?

Riccardo De Rosa
14-03-2016, 15:21
please you can help me?

i have this in my server.cfg


// 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 Renault Megane (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" : 1694837381,

I can force players to use the Renault Megane ? for now players can choose all of the class car "Road A".
if I deny the possibility of choosing another car, all players have the Ariel car.

Thanks in advance.

DFAlex
15-03-2016, 20:49
Moin,
why not trying the lua rotation?
With it you can fix the server for a car or a class....

Alex

F1_Racer68
15-03-2016, 22:22
please you can help me?

i have this in my server.cfg


// 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 Renault Megane (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" : 1694837381,

I can force players to use the Renault Megane ? for now players can choose all of the class car "Road A".
if I deny the possibility of choosing another car, all players have the Ariel car.

Thanks in advance.

Do you have both of these set to 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,




Make sure it is "1" and not "-1". Some of the tools available from this forum have incorrectly set these values to "-1".

Our server is locked to GT3 class, but any car in the class is available. To lock it ot a specific car the "ServerControlsVehicle" needs to also be set to 1

Riccardo De Rosa
16-03-2016, 05:33
Do you have both of these set to 1?

Our server is locked to GT3 class, but any car in the class is available. To lock it ot a specific car the "ServerControlsVehicle" needs to also be set to 1

Thanks for the answer ;)

Riccardo De Rosa
18-03-2016, 12:30
please, how can I set up a ping limit on my DS?
Thanks in advance.

F1_Racer68
18-03-2016, 13:04
Sorry Riccardo, I can't help with the ping portion. I haven't worked with that myself yet.

In regards to the server forcing a specific car, I just want to also point out that even if the server has this forced, I believe the host is still able to override it in the lobby. I could be wrong, but i think that is still how it works. The server will be set for a specific car when you first enter, but I think the host can still change it. It is not locked permanently on that car.

DinoM
18-03-2016, 16:09
For me, quite incredible that this day could not do a formal DS GUI. :confused:

t0daY
18-03-2016, 16:17
For me, quite incredible that this day could not do a formal DS GUI. :confused:

Actually with a GUI you make things more complicated and slower. But I am from the old school :D I do not need GUI's for server stuff, I literally hate it :D

F1_Racer68
18-03-2016, 16:37
Actually with a GUI you make things more complicated and slower. But I am from the old school :D I do not need GUI's for server stuff, I literally hate it :D

Agree with you for the most part, but a GUI would make remote management easier. Right now, it requires manually updating the server.cfg file, upload via FTP and restart the server. It's not possible to make major changes without editing the server.cfg file (at least none that I have found) and that always seems to require a server restart.

If there is a better or easier way, please let me know. My server is hosted on the other side of the continent, so I am constantly looking for easier ways to deal with it.

DinoM
18-03-2016, 17:00
Actually with a GUI you make things more complicated and slower. But I am from the old school :D I do not need GUI's for server stuff, I literally hate it :D



Well, I'm glad. What do I do now? Nevertheless, I'd appreciate if you would, DS GUI. Sorry. We are not the same. If you have a GUI, no more than you're not using it. As it was not able to use for anyone who wants to. :confusion:

Riccardo De Rosa
19-03-2016, 05:24
Actually with a GUI you make things more complicated and slower. But I am from the old school :D I do not need GUI's for server stuff, I literally hate it :D
please, wich command do you use for players ping limit?
Thanks

NoBrakes
19-03-2016, 07:31
As long as you have simply zero to none functions to run a dedicated server like in other racing games, have no race evaluation, no mixed classes etc. I see no need for a GUI as well, something that the modders that programmed some promising stuff may have learned, too, as every attempt to improve the multiplayer seems to have been stopped long ago. There is not much to configure at all and what's there, well, it's not worth to put a lot of effort into.

I never thought I would prefere ACs multiplayer system over something else, not to mention what one gets with the dedicated multiplayer in rF2. Even the dated Race07 or GTR2 multiplayer seems to be much better compared to what we still have - and what probably will never get any more changes and functions, so we have to hope for pCARS2.

Sad but simply true and all my hopes to host a decent league within my German simracing community in pCARS 1 are gone... o.k. we get Automobilista and we have rF2 and AC: good enough to do some very well organízable league racing until some day pCARS2 hits the desk. And pCARS1 is good for having some casual events from time to time - that's one part where it's really great for.

cogent
19-03-2016, 08:08
AutoIt code:


Func _Auto_KICK_PingLimit()

$Lesen_Auswahl_httpApiInterface = IniRead($config_ini, "Server_Einstellungen", "httpApiInterface", "")
$Lesen_Auswahl_httpApiPort = IniRead($config_ini, "Server_Einstellungen", "httpApiPort", "")

If $Lesen_Auswahl_httpApiInterface = "" Then $Lesen_Auswahl_httpApiInterface = "127.0.0.1"
If $Lesen_Auswahl_httpApiPort = "" Then $Lesen_Auswahl_httpApiPort = "9000"

$PingLimit = IniRead($config_ini, "Race_Control", "PingLimit", "")
$PingLimit = Int($PingLimit)

For $PingLimit_KICK_loop_1 = 1 To 64
$refid = IniRead($Members_Data_INI, "DATA", "Value_" & $PingLimit_KICK_loop_1 & "_2", "")

If $refid <> "" Then

$Ping = IniRead($Members_Data_INI, "DATA", "Value_" & $PingLimit_KICK_loop_1 & "_13", "")
$Ping = Int($Ping)

If $Ping > $PingLimit Then
$URL_KICK = "http://" & $Lesen_Auswahl_httpApiInterface & ":" & $Lesen_Auswahl_httpApiPort & "/api/session/kick?refid=" & $refid
$download = InetGet($URL_KICK, @ScriptDir & "\PingLimit_KICK.txt", 16, 0)
$Check_KICK = FileReadLine(@ScriptDir & "\PingLimit_KICK.txt", 2)

If $Check_KICK = ' "result" : "ok"' Then
$Nachricht = "PCDSG: " & " <<< ADMIN: User KICKED because of Ping Limit >>>"

$URL = "http://" & $Lesen_Auswahl_httpApiInterface & ":" & $Lesen_Auswahl_httpApiPort & "/api/session/send_chat?message=" & $Nachricht
$download = InetGet($URL, @ScriptDir & "\Message.txt", 16, 0)

EndIf

EndIf
EndIf

If $refid = "" Then $PingLimit_KICK_loop_1 = 64

Next

EndFunc


Edit:
To avoid any misunderstanding, this is only an example how it can be done.
This code is from PCDSG and needs it to work, it will not work alone without modifications.
But if you understand the logic of it then you will be able to modificate it or to rewrite it in another language.

Riccardo De Rosa
20-03-2016, 15:13
Another question please,
there is a way to use Weather sync to race?
Or i need to calculate single slots? In this case, timer restart ever session?
Example:
Date xx/xx/xxxx h14:00
practice 30 min.
qualifications 20 min
warmup 10 min
race 25 laps / 60 min +/-

race start @ 15:00 or 14:00?
and i need to calculate slots for 2h or 1h?

Thanks in advance

F1_Racer68
20-03-2016, 16:28
Another question please,
there is a way to use Weather sync to race?
Or i need to calculate single slots? In this case, timer restart ever session?
Example:
Date xx/xx/xxxx h14:00
practice 30 min.
qualifications 20 min
warmup 10 min
race 25 laps / 60 min +/-

race start @ 15:00 or 14:00?
and i need to calculate slots for 2h or 1h?

Thanks in advance

Set the "ForecastProgression = " so that it matches to your DateProgression. In other words, if DateProgression is set to 5, then ForecastProgression is also set to 5.

Set WeatherSlots = 0 for real weather

The example below is for our next league race which is a 24 Hours of Le Mans, using REAL weather and compressed into a 2.4 hour event (I never changed the descriptions in the comments, so ignore those).


// Standard speed for date and weather progression.
"DateProgression" : 10,
"ForecastProgression" : 10,


// 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.
"WeatherSlots" : 0,
"WeatherSlot1" : -934211870,
"WeatherSlot2" : -934211870,
"WeatherSlot3" : -934211870,
"WeatherSlot4" : -934211870,
}

Riccardo De Rosa
20-03-2016, 17:22
@F1_Racer68 Thanks ;)

F1_Racer68
20-03-2016, 17:57
If you are not using REAL weather, but instead using the weather slots to set up specific conditions, then this might help you as well.

http://forum.projectcarsgame.com/showthread.php?40661-How-do-weather-slots-work&p=1145840&viewfull=1#post1145840

Essentially, each of the 4 slots represents 1 hour of real time as follows:

Slot 1 = Race Start (1st hour)
Slot 2 = Race Start + 1 hour (2nd hour)
Slot 3 = Race Start + 2 hours (3rd hour)
Slot 4 = Race Start + 3 hours (4th hour)

In other words, if you set up all 4 slots, you have 4 hours worth of weather, with each slot lasting 1 hour in duration. At the end of the the fourth hour, the cycle will repeat.

If you use ForecastProgression = 2, then each Slot becomes 30 minutes of time instead of 1 hour. If you set it for 5, then each slot is 12 minutes, and if you set it for 10, each slot is 6 minutes, etc., etc.

I hope that helps (and makes sense).

Riccardo De Rosa
20-03-2016, 18:10
Yes it make sense ;)
can I use any multiplier? For example x3
and
i have race length in laps and not in time,
if i set
"Race1Length" : 36, for example i have 36 laps so if i can set multiplier x3 and 3 weather slots i have each 12 laps a different weather.
Is this correct?

F1_Racer68
20-03-2016, 18:32
I have never tried anything other than the multipliers the game uses in the GUI (x2, x5, x10, x15, x20, x25 & x30). I don't think it will recognize anything else (but I could be wrong).

Riccardo De Rosa
21-03-2016, 07:34
Works only with standard multiplier.(x2, x5, x10, x15, x20, x25 & x30)

Thanks again @F1_Racers68 ;)

DFAlex
21-03-2016, 13:12
hmm...since when real weather works again?
If i use it in a rotation, i get always "random"...

Oh and the sync to race is not a lua_rotation option? right?

Alex

F1_Racer68
21-03-2016, 18:15
hmm...since when real weather works again?
If i use it in a rotation, i get always "random"...

Oh and the sync to race is not a lua_rotation option? right?

Alex

Real weather has worked for a long time now. I think it was fixed in patch 3.0? WE have been using it all season long (we started in November).

We don't use any of the LUA Rotations, so I can't speak to how things work with that usage. Our server gets preset for the specific upcoming event and stays set for that until the race is over, at which point we update it for the next upcoming race.

One thing I will say about the REAL weather is that id doesn't seem to work correctly until you are in the month that the race date is set for. By that, I mean that our settings that are in place for our April 2nd race will not yet provide accurate weather. Once we hit April 1st, it will.

DFAlex
21-03-2016, 20:27
Moin,
ok, THX.
Yes, i know the actual date is needed if it should work...but in lua_rotation it doesent work anymore...:(

regards
Alex

KingE71
22-03-2016, 16:38
Post your server config. Do you have an init script your using to start it with?


found the issue.
The DS is in my local network. So guess it sees the DS with the local IP and with the external IP. I think that is the reason why it appeared twice in my server browser list.
This is with all the default ports.
Strange thing is when i use different ports, it doesn't happen, i only see the DS once in my server browser list.
anyway..... problem is solved

happy motoring!

Riccardo De Rosa
25-03-2016, 20:55
please What is meant by 50?
Thanks in advance


// Default configuration
config : {

// Length limit for the history. Oldest sessions will be removed from the history.
// Use 0 to completely disable session history tracking.
// Use negative number for infinite history.
"history_length" : 50

F1_Racer68
25-03-2016, 20:58
It means the log will retain data for 50 events before it starts overwiting older data.

Riccardo De Rosa
25-03-2016, 20:59
Super fast F1_Racer68 for answer. Thanks!!!! ;)

Riccardo De Rosa
26-03-2016, 05:41
Another two :)
1) how do I enter my server on the leaderboard? Here http://cars-stats-steam.wmdportal.com/index.php/servers

2) my server is not visible if I do not enter first.
allowEmptyJoin is set to true.
Is there other rules to be changed?
:confused:

Thanks in advance.

KingE71
26-03-2016, 09:39
Another two :)
1) how do I enter my server on the leaderboard? Here http://cars-stats-steam.wmdportal.com/index.php/servers

2) my server is not visible if I do not enter first.
allowEmptyJoin is set to true.
Is there other rules to be changed?
:confused:

Thanks in advance.

That site is broken.
Try this one: http://gamemonitoring.net/servers/project-cars

F1_Racer68
27-03-2016, 00:23
Having an issue with our server since the 10.0 patch came out. We are getting an error message whenever we try to update the DS, and the DS is no long visible in the online lobby. I am still able to see it via the HTTP API Status page, but we just can't find it in game.

Any ideas? Nothing has changed on the server side.

KingE71
27-03-2016, 07:46
Having an issue with our server since the 10.0 patch came out. We are getting an error message whenever we try to update the DS, and the DS is no long visible in the online lobby. I am still able to see it via the HTTP API Status page, but we just can't find it in game.

Any ideas? Nothing has changed on the server side.

Did the DS upgrade work correctly?

This should be the correct build/version
- server build version: 88
- protocol version: 136 (1.0.1.36)

after starting the DS it can take a few minutes before the server pops up in the in-game browser list.

F1_Racer68
27-03-2016, 12:40
Did the DS upgrade work correctly?

This should be the correct build/version
- server build version: 88
- protocol version: 136 (1.0.1.36)

after starting the DS it can take a few minutes before the server pops up in the in-game browser list.

No, and that's the problem. The server throws an error when trying to upgrade. Together with that it is also no longer visible (even though it is still running with buil 35).

I suspect something changed on the network where the server is hosted. I was just wondering if anyone else is having issues.

satco1066
27-03-2016, 17:12
my server runs under windows.
If you have direct access to the hostet server, you can simply stop the sever and overwrite the "DedicatedServerCmd.exe" with latest version and start again.

On linux it should be the same.

KingE71
28-03-2016, 09:07
No, and that's the problem. The server throws an error when trying to upgrade. Together with that it is also no longer visible (even though it is still running with buil 35).

I suspect something changed on the network where the server is hosted. I was just wondering if anyone else is having issues.

That the server is not visible is because it's not the right build.
What goes wrong with the upgrade? can you post the log?
is it Window$ or Linux? is there internet connection from the server (ping google.com)

F1_Racer68
29-03-2016, 04:27
That the server is not visible is because it's not the right build.
What goes wrong with the upgrade? can you post the log?
is it Window$ or Linux? is there internet connection from the server (ping google.com)

Something seems to have changed in the network or on the server itself that was blocking the update. We did a workaround (installed latest version on another PC and then copied files over to server manually) and got it working again now, but not sure if the next update will work or will give us further issues.

The server is Windows 2012. It seemed that we could run all updates up to .35, but the .36 update was giving us a generic Steam error of "error app '332670' state is 0x6 after update jobs".

The good news is the server is back up and visible. We'll keep investigating why the update wouldn't complete.

Riccardo De Rosa
30-03-2016, 10:24
there is the possibility of having the online statistics in real time? drivers who are running on the server, lap times, etc.?

RomKnight
30-03-2016, 11:00
3rd party apps get the info in rt. IF some/any does update the screen in RT as well I don't know. I have hud dash but not for that and TBH didn't even search :)

KingE71
30-03-2016, 11:38
there is the possibility of having the online statistics in real time? drivers who are running on the server, lap times, etc.?

More like semi-realtime. You can build a webpage requesting the info through the api. So you can get the drivers, laptimes, sector times etc. I played around with it, and its best to use a interval like 5 seconds. So it is not real time. Be aware that every "client" will send a request to the DS. So it could put some stress on the DS.

Fedel
08-04-2016, 09:39
My question to the developers - in the future will be released a real dedicated server (not lobby based) ?

KingE71
08-04-2016, 11:11
My question to the developers - in the future will be released a real dedicated server (not lobby based) ?

How would you see that? there always need to be a lobby, to chat, to change settings (if possible) then start when everyone is ready.
Do you just want to connect to a server and jump straight in to a race?

satco1066
08-04-2016, 16:18
PCars is not open world Forza Horizon2 or Need for Speed. Even there you have to join a lobby ( party) to race against others.

Griever_Now
04-05-2016, 13:51
Hey guys, good morning.

I having trouble to access http API private info of DS, even created the USERNAME and PASSWORD, the DS still deny my access.

Can someone give me a litle help?

FuKe
31-05-2016, 20:17
Hi guys

I'm planning to do a 24 hour race with some friends, and I'm setting up a DS for it.

So, I've successfully configured the server to make timed races, make it show up in the server list etc. etc.

My problem is however, I can't make the race length any longer than 12 hours?
When I set the "Race1Length" parameter in server.cfg to 1440 (1440 minutes = 24 hours), the server shows it's a 5 minute race when I join the server?
The highest value I've had success with until now, is 720.

Should the value be something else when I want the race to last for 1 day?

Thanks in advance!

Bigbadbez
09-07-2016, 12:53
Hi folks,

I'm trying to get a DS set up, but for some reason I cannot seem to get it running at all!

I have created the server config and checked at the cars.wmdportal link, all is good there.

However, I cannot either create a lobby or join the server lobby from the game at all!

Just wondering if I'm being thick? Never used a dedicated server before, so I guess it's definitely possible....

Cheers,

Dave

*EDIT* sussed the problem

stefan.mizzi
20-01-2017, 15:26
Hi! :)

Is there a setting where I can instruct the dedicated server to start the session timing automatically? I dont want to users to click start, I would like that when the dedi starts, the session time starts ticking.

Thanks!

stefan.mizzi
21-01-2017, 12:29
I've tried all settings and it seems nothing made the session start.. Does this mean that the only way is if someone is physically there and has to press this button?

All other games, rFactor2, Assetto Corsa and even Raceroom Experience, once a server is started, the session starts! :)


236758

LCCMarc
22-01-2017, 20:46
This is not possible with this game. It is not finished and will probably never be

stefan.mizzi
23-01-2017, 04:12
Right, that's too bad. Thanks mate.