PDA

View Full Version : DS patch 4 Linux server unjoinable



hophans
09-02-2018, 19:03
After testing this extensively it seems that all linux servers have been rendered not joinable.
It does not relate to the fact that steam reports all online servers whitelist enabled as configuring whitelists does not solve the issue.
Trying to debug is not an option as not log entry is present at the server, not even a connect attempt.

Currently all my servers are rendered useless and there seems nothing i can do as i do not run windows servers and are not willing to host an array of servers on a home internet connection.


Does any other users experience this?

Visceral_Syn
10-02-2018, 16:57
not all linux servers rendered not joinable, mine works

hophans
10-02-2018, 17:23
Visceral_Syn i would be glad to get some input from you on this regards such as server name and main server specs.
I run all my DS' of Centos and Suse on E5 Xeon at ovh grade hardware (being ovh servers ;) ).
In my many attempt to debug, nothing have worked and even a fully fresh install of a DS have changed nothing.
No changes have been made on the DS' other than the actual upgrade

I have this far not had any constructive response from users or SMS/mods despite a humble approach to them.
I am currently sitting with years of software and websites rendered useless for now.

Visceral_Syn
10-02-2018, 18:00
here is my server.cfg, server name and specs is in my sig:


logLevel : "info"
eventsLogSize : 10000
name : "Beale St. Blues"
secure : true
password : ""
maxPlayerCount : 32
bindIP : "10.10.10.11"
steamPort : 8766
hostPort : 27015
queryPort : 27016
sleepWaiting : 50
sleepActive : 10
sportsPlay: false
enableHttpApi : true
httpApiLogLevel : "warning"
httpApiInterface : "10.10.10.11"
httpApiPort : 9000
httpApiExtraHeaders : {
"*" : "Access-Control-Allow-Origin: *"
}
httpApiAccessLevels : {
"*" : "admin"
}
httpApiAccessFilters : {
"public" : [
{ "type" : "accept" }
],
"private" : [
],
"admin" : [
],


}
httpApiUsers : {
}
httpApiGroups : {
}
staticWebFiles: "web_files"
enableLuaApi : true
luaAddonRoot: "lua"
luaConfigRoot: "lua_config"
luaOutputRoot: "lua_output"
luaApiAddons : [
"sms_base",
"sms_rotate",
"sms_motd",
"sms_stats",
]
luaAllowedLibraries : [
"lib_rotate"
]
allowEmptyJoin : true
controlGameSetup : true
sessionAttributes : {
"ServerControlsTrack" : 1,
"ServerControlsVehicleClass" : 1,
"ServerControlsVehicle" : 0,
"GridSize" : 20,
"MaxPlayers" : 20,
}


And here is my sms_rotate script, disregard the multiclass lines, its not working at this moment:


version : 7
config : {
"persist_index" : true,
"default" : {
"Flags" : -1584134920,
"VehicleClassId" : 1553262379,
"MultiClassSlots" : 1,
"MultiClassSlot1" : 52697193,
"DamageType" : 3,
"TireWearType" : 6,
"FuelUsageType" : 0,
"PenaltiesType" : 1,
"PitWhiteLinePenalty" : 1,
"DriveThroughPenalty" : 1,
"AllowablePenaltyTime" : 5,
"AllowedViews" : 0,
"ManualPitStops" : 0,
"MinimumOnlineRank" : 2,
"MinimumOnlineStrength" : 1250,
"RaceMandatoryPitStops" : 0,
"RaceRollingStart" : 0,
"RaceFormationLap" : 0,
"ManualRollingStarts" : 0,

"PracticeLength" : 60,
"PracticeDateHour" : 13,
"PracticeDateProgression" : 1,
"PracticeWeatherProgression" : 0,
"PracticeWeatherSlots" : 4,
"PracticeWeatherSlot1" : "Clear",
"PracticeWeatherSlot2" : "LightCloud",
"PracticeWeatherSlot3" : "MediumCloud",
"PracticeWeatherSlot4" : "LightCloud",

"QualifyLength" : 20,
"QualifyDateHour" : 14,
"QualifyDateProgression" : 1,
"QualifyWeatherProgression" : 0,
"QualifyWeatherSlots" : 2,
"QualifyWeatherSlot1" : "MediumCloud",
"QualifyWeatherSlot2" : "Clear",
"QualifyWeatherSlot3" : "Clear",
"QualifyWeatherSlot4" : "Clear",

"RaceLength" : 60,
"RaceDateYear" : 2018,
"RaceDateMonth" : 1,
"RaceDateDay" : 27,
"RaceDateHour" : 15,
"RaceDateProgression" : 1,
"RaceWeatherProgression" : 0,
"RaceWeatherSlots" : 3,
"RaceWeatherSlot1" : "Clear",
"RaceWeatherSlot2" : "LightCloud",
"RaceWeatherSlot3" : "Clear",
"RaceWeatherSlot4" : "Clear",
},
"rotation" : [
{
"TrackId" : "Daytona Road Course",
"RaceRollingStart" : 1,
"RaceFormationLap" : 1,
"ManualRollingStarts" : 1,
"Flags" : "FORCE_MULTI_VEHICLE_CLASS",
"RemoveFlags" : "FORCE_SAME_VEHICLE_CLASS",
},
{
"TrackId" : "Mazda Raceway Laguna Seca",
"RaceDateMonth" : 3,
"RaceDateDay" : 17,
"Flags" : "FORCE_MULTI_VEHICLE_CLASS",
"RemoveFlags" : "FORCE_SAME_VEHICLE_CLASS",
},
{
"TrackId" : "Indianapolis Motor Speedway Road Course",
"RaceDateMonth" : 5,
"RaceDateDay" : 7,
"RaceRollingStart" : 1,
"RaceFormationLap" : 1,
"ManualRollingStarts" : 1,
"Flags" : "FORCE_MULTI_VEHICLE_CLASS",
"RemoveFlags" : "FORCE_SAME_VEHICLE_CLASS",
},
{
"TrackId" : "Circuit of the Americas GP",
"RaceDateMonth" : 7,
"RaceDateDay" : 1,
"Flags" : "FORCE_MULTI_VEHICLE_CLASS",
"RemoveFlags" : "FORCE_SAME_VEHICLE_CLASS",
},
{
"TrackId" : "Sonoma Raceway GP",
"RaceDateMonth" : 7,
"RaceDateDay" : 8,
"Flags" : "FORCE_MULTI_VEHICLE_CLASS",
"RemoveFlags" : "FORCE_SAME_VEHICLE_CLASS",
},
{
"TrackId" : "Texas Motor Speedway Road Course",
"RaceDateMonth" : 7,
"RaceDateDay" : 21,
"Flags" : "FORCE_MULTI_VEHICLE_CLASS",
"RemoveFlags" : "FORCE_SAME_VEHICLE_CLASS",
},
{
"TrackId" : "Watkins Glen International GP",
"RaceDateMonth" : 8,
"RaceDateDay" : 5,
"Flags" : "FORCE_MULTI_VEHICLE_CLASS",
"RemoveFlags" : "FORCE_SAME_VEHICLE_CLASS",
},
{
"TrackId" : "Willow Springs International Raceway",
"RaceDateMonth" : 8,
"RaceDateDay" : 19,
"Flags" : "FORCE_MULTI_VEHICLE_CLASS",
"RemoveFlags" : "FORCE_SAME_VEHICLE_CLASS",
},
{
"TrackId" : "Road America",
"RaceDateMonth" : 9,
"RaceDateDay" : 9,
"RaceRollingStart" : 1,
"RaceFormationLap" : 1,
"ManualRollingStarts" : 1,
"Flags" : "FORCE_MULTI_VEHICLE_CLASS",
"RemoveFlags" : "FORCE_SAME_VEHICLE_CLASS",
}
]
}

MortICi
10-02-2018, 19:02
here is my server.cfg, server name and specs is in my sig:


logLevel : "info"
eventsLogSize : 10000
name : "Beale St. Blues"
secure : true
password : ""
maxPlayerCount : 32
bindIP : "10.10.10.11"
steamPort : 8766
hostPort : 27015
queryPort : 27016
sleepWaiting : 50
sleepActive : 10
sportsPlay: false
enableHttpApi : true
httpApiLogLevel : "warning"
httpApiInterface : "10.10.10.11"
httpApiPort : 9000
httpApiExtraHeaders : {
"*" : "Access-Control-Allow-Origin: *"
}
httpApiAccessLevels : {
"*" : "admin"
}
httpApiAccessFilters : {
"public" : [
{ "type" : "accept" }
],
"private" : [
],
"admin" : [
],


}
httpApiUsers : {
}
httpApiGroups : {
}
staticWebFiles: "web_files"
enableLuaApi : true
luaAddonRoot: "lua"
luaConfigRoot: "lua_config"
luaOutputRoot: "lua_output"
luaApiAddons : [
"sms_base",
"sms_rotate",
"sms_motd",
"sms_stats",
]
luaAllowedLibraries : [
"lib_rotate"
]
allowEmptyJoin : true
controlGameSetup : true
sessionAttributes : {
"ServerControlsTrack" : 1,
"ServerControlsVehicleClass" : 1,
"ServerControlsVehicle" : 0,
"GridSize" : 20,
"MaxPlayers" : 20,
}


And here is my sms_rotate script, disregard the multiclass lines, its not working at this moment:


version : 7
config : {
"persist_index" : true,
"default" : {
"Flags" : -1584134920,
"VehicleClassId" : 1553262379,
"MultiClassSlots" : 1,
"MultiClassSlot1" : 52697193,
"DamageType" : 3,
"TireWearType" : 6,
"FuelUsageType" : 0,
"PenaltiesType" : 1,
"PitWhiteLinePenalty" : 1,
"DriveThroughPenalty" : 1,
"AllowablePenaltyTime" : 5,
"AllowedViews" : 0,
"ManualPitStops" : 0,
"MinimumOnlineRank" : 2,
"MinimumOnlineStrength" : 1250,
"RaceMandatoryPitStops" : 0,
"RaceRollingStart" : 0,
"RaceFormationLap" : 0,
"ManualRollingStarts" : 0,

"PracticeLength" : 60,
"PracticeDateHour" : 13,
"PracticeDateProgression" : 1,
"PracticeWeatherProgression" : 0,
"PracticeWeatherSlots" : 4,
"PracticeWeatherSlot1" : "Clear",
"PracticeWeatherSlot2" : "LightCloud",
"PracticeWeatherSlot3" : "MediumCloud",
"PracticeWeatherSlot4" : "LightCloud",

"QualifyLength" : 20,
"QualifyDateHour" : 14,
"QualifyDateProgression" : 1,
"QualifyWeatherProgression" : 0,
"QualifyWeatherSlots" : 2,
"QualifyWeatherSlot1" : "MediumCloud",
"QualifyWeatherSlot2" : "Clear",
"QualifyWeatherSlot3" : "Clear",
"QualifyWeatherSlot4" : "Clear",

"RaceLength" : 60,
"RaceDateYear" : 2018,
"RaceDateMonth" : 1,
"RaceDateDay" : 27,
"RaceDateHour" : 15,
"RaceDateProgression" : 1,
"RaceWeatherProgression" : 0,
"RaceWeatherSlots" : 3,
"RaceWeatherSlot1" : "Clear",
"RaceWeatherSlot2" : "LightCloud",
"RaceWeatherSlot3" : "Clear",
"RaceWeatherSlot4" : "Clear",
},
"rotation" : [
{
"TrackId" : "Daytona Road Course",
"RaceRollingStart" : 1,
"RaceFormationLap" : 1,
"ManualRollingStarts" : 1,
"Flags" : "FORCE_MULTI_VEHICLE_CLASS",
"RemoveFlags" : "FORCE_SAME_VEHICLE_CLASS",
},
{
"TrackId" : "Mazda Raceway Laguna Seca",
"RaceDateMonth" : 3,
"RaceDateDay" : 17,
"Flags" : "FORCE_MULTI_VEHICLE_CLASS",
"RemoveFlags" : "FORCE_SAME_VEHICLE_CLASS",
},
{
"TrackId" : "Indianapolis Motor Speedway Road Course",
"RaceDateMonth" : 5,
"RaceDateDay" : 7,
"RaceRollingStart" : 1,
"RaceFormationLap" : 1,
"ManualRollingStarts" : 1,
"Flags" : "FORCE_MULTI_VEHICLE_CLASS",
"RemoveFlags" : "FORCE_SAME_VEHICLE_CLASS",
},
{
"TrackId" : "Circuit of the Americas GP",
"RaceDateMonth" : 7,
"RaceDateDay" : 1,
"Flags" : "FORCE_MULTI_VEHICLE_CLASS",
"RemoveFlags" : "FORCE_SAME_VEHICLE_CLASS",
},
{
"TrackId" : "Sonoma Raceway GP",
"RaceDateMonth" : 7,
"RaceDateDay" : 8,
"Flags" : "FORCE_MULTI_VEHICLE_CLASS",
"RemoveFlags" : "FORCE_SAME_VEHICLE_CLASS",
},
{
"TrackId" : "Texas Motor Speedway Road Course",
"RaceDateMonth" : 7,
"RaceDateDay" : 21,
"Flags" : "FORCE_MULTI_VEHICLE_CLASS",
"RemoveFlags" : "FORCE_SAME_VEHICLE_CLASS",
},
{
"TrackId" : "Watkins Glen International GP",
"RaceDateMonth" : 8,
"RaceDateDay" : 5,
"Flags" : "FORCE_MULTI_VEHICLE_CLASS",
"RemoveFlags" : "FORCE_SAME_VEHICLE_CLASS",
},
{
"TrackId" : "Willow Springs International Raceway",
"RaceDateMonth" : 8,
"RaceDateDay" : 19,
"Flags" : "FORCE_MULTI_VEHICLE_CLASS",
"RemoveFlags" : "FORCE_SAME_VEHICLE_CLASS",
},
{
"TrackId" : "Road America",
"RaceDateMonth" : 9,
"RaceDateDay" : 9,
"RaceRollingStart" : 1,
"RaceFormationLap" : 1,
"ManualRollingStarts" : 1,
"Flags" : "FORCE_MULTI_VEHICLE_CLASS",
"RemoveFlags" : "FORCE_SAME_VEHICLE_CLASS",
}
]
}


Visceral,

I fixed the multi-class stuff see my thread that is stickied.

I will see about replicating a Linux box, the stuff i have is for a winbox right now, but I will try to fire up some VM's and test.

phos4us
10-02-2018, 23:29
My Linux-based server will also not allow access. I have tried every known way to configure the server including basic config file, rotate file, server admin control panel, and -selectds. Every time anyone attempts to join my server, they get kicked. Enabling white list doesn't work either, even with my steam id enumerated. My server admin console shows that the server is running, but had a peculiar X next to "joinable," indicating that something is prohibiting anyone from joining. This did not exist as of Thursday, pre-patch 1.4.

249845

phos4us
11-02-2018, 02:03
I was able to get my server up in -selectds and in the browse online menus by using the default config file, but the server kicked me off shortly after opening the lobby. Below is a screen capture of the web console:

249862

Visceral_Syn
11-02-2018, 02:22
Not much useful information here. Since you are not using the rotate script, why not comment it out? lets see your server.cfg ?

phos4us
11-02-2018, 07:59
Look in your folder that has the default config file and you can see my server.cfg file. That is what "default config" file means. I'm providing information to the devs in accordance with Elmo's request on a problem that exists solely because of something in patch 1.4. Information that is useful, like troubleshooting steps taken and context/timing of events. I've had a working server without any weather sync issues since December. Obviously, your server is free of the issue, but there are many that are not. It's not sourced in config files. You aren't helping.

imagineer
11-02-2018, 10:40
I run my DS on EliteGameservers; got so frustrated of being kicked that i did a complete fresh install of the DS with default setup... even then it wont let me join.
The issue seems to lay deeper.

I did notice however that the userguide.pdf and the gameguide.pdf have a newer date... didnt spot anything new however (or i am reading too fast)

Visceral_Syn
11-02-2018, 13:08
Look in your folder that has the default config file and you can see my server.cfg file. That is what "default config" file means.
Means you would be using the server.cfg without ANY editing done to it, and since i see the server has a custom name. CLEARLY, its been edited...


You aren't helping.
Ok

MortICi
11-02-2018, 17:43
Means you would be using the server.cfg without ANY editing done to it, and since i see the server has a custom name. CLEARLY, its been edited...


Ok

Don't you have a Linux box running 1.4 DS server and it works fine? Unless this is a versioning issue, this might be a config issue if the server firing up just not allowing join.

But it could very well be a binary issue as i believe that was the only thing that was updated in the DS patch...

Question for the others:

Visceral - Are you using a rotate_config.json (LUA config)?

To the other two:

Are you just using server.cfg or rotate_config.json (LUA Config) for your server configuration (lap count, flags, cars, weathe conditions, etc.)

Visceral_Syn
11-02-2018, 19:42
MortICi,
I am running CentOS 7.4, on kernel 4.14. And, yes to the rotate script, I edited the library script with your edit as well. Multi-class is also now working with the rotate script.

MortICi
12-02-2018, 02:15
MortICi,
I am running CentOS 7.4, on kernel 4.14. And, yes to the rotate script, I edited the library script with your edit as well. Multi-class is also now working with the rotate script.

Ok, now the question is if they are running a proper rotate json file or are they configuring the server via the server.cfg only.

That would be the only difference i can spot from their posts. Which makes me think disabling LUA support in the server.cfg might do the trick, or they should clone my files and edit their own rotate json file to match what server.cfg had and see if the server works properly.

phos4us
12-02-2018, 06:09
Means you would be using the server.cfg without ANY editing done to it, and since i see the server has a custom name. CLEARLY, its been edited...


Ok

Again, super insightful and helpful commentary. Sure, I could waste my time by posting the code for the default config file with the only changes being the server name and password for no reason or you could just take my word for it.

I have used MortICi's rotational scripts, the default server files, and my previous files modified for -selectds usage (that worked for all of patch 1.3 without livetrack/weather sync issues) and none of those methods work. I can get the server to appear in either the -selectds list or in the active dedicated server list, but the server disconnects anyone who tries to join. Oddly enough, the server let me in briefly when I uploaded MortICi's unedited config and rotation files and edited them via the web control page to change server name and password. However, the server kicks me within 10 minutes of being on and nobody else can see the server once joined with that file set. When I uploaded the same files with the changes already made in VSCode, the server would not let me join at all.

I rent my server from Elitegameservers.net also, so that may be the right rabbit hole.

Victor Khomskiy
12-02-2018, 10:03
Hello, thanks for the feedback.

In the latest patch we've changed how game communicates with DS. This was done to avoid connectivity issues observed on servers behind NAT when large number of players join.
Server-side it means that it's important to check that all ports listed in config are open on the firewall.
Previously it might have worked if only "steamPort" and "queryPort" were open, but now "hostPort" must be open too (UDP-only is fine).

If left closed it will produce the "unjoinable" effect, where server is visible in Steam and Game Browser, but game traffic won't flow properly resulting in a disconnect after a lengthy attempt to join.

It's possible to check host port connectivity. Temporarily swap host and query port values in server config and restart the server.
Then the same technique described here (http://forum.projectcarsgame.com/showthread.php?55698-Troubleshooting-Project-CARS-2-Dedicated-Server) in "Testing server connectivity" section can be applied (steam server browser works over "queryPort", so use new temporary value).

Regarding EliteGameServers specifically - it seems that it suffers from the same issue (created support ticket to check with them).
What would definitely not help is trying default config on their installation.
When configuring the server, they replace port values with something that is consistent within their system, so forcing defaults won't help (or if it does - it won't likely be permanent).
Port swapping trick to check connectivity doesn't help there though (queries work, but joining doesn't). I'll respond when there's more info here.

hophans
12-02-2018, 10:17
I for one do not use a firewall but iptables filters.
The ports for Pcars 2 DS is fully mapped to the user running the DS on the server as they have been all along.
No changes have been made to my iptables setup in the recent past, counting a few months.

If i create a an Unconfigured Test Server with the same ip and ports as i have always used it seem to work so clearly not an network issue.
Having spend hours on end to figure this out i am still not closer to solve the issue.

Victor Khomskiy
12-02-2018, 10:28
I for one do not use a firewall but iptables filters.
The ports for Pcars 2 DS is fully mapped to the user running the DS on the server as they have been all along.
No changes have been made to my iptables setup in the recent past, counting a few months.

If i create a an Unconfigured Test Server with the same ip and ports as i have always used it seem to work so clearly not an network issue.
Having spend hours on end to figure this out i am still not closer to solve the issue.

In that case, can you send over server and lua config files (with private info redacted) for inspection (plus lua files themselves in case there have been changes).

hophans
12-02-2018, 11:03
It seems that i have found the cause of all this.

I run ip stacking to run multiple subnets on the same server, allowing to run alot of DS' and dedicated ip's.
This works well and have done so with pcars up till this point.
Now it will only work with 1 ip despite connecting to steam and being listed in game.

As a wild guess my bid is that the callback from game send the request with out a proper call back so it will not know where to go reaching the top of the server.
If i may point out, either ip is dedicated and has it's own interface hence no nat or internal routing.

I have never seen this behavior before in any way on any of my pro grade (ovh) servers so you may wanna look at your network optimizing.

Victor Khomskiy
12-02-2018, 11:55
It seems that i have found the cause of all this.

I run ip stacking to run multiple subnets on the same server, allowing to run alot of DS' and dedicated ip's.
This works well and have done so with pcars up till this point.
Now it will only work with 1 ip despite connecting to steam and being listed in game.

As a wild guess my bid is that the callback from game send the request with out a proper call back so it will not know where to go reaching the top of the server.
If i may point out, either ip is dedicated and has it's own interface hence no nat or internal routing.

I have never seen this behavior before in any way on any of my pro grade (ovh) servers so you may wanna look at your network optimizing.

Yes, I can confirm this. Having server listen on a secondary IP of an interface indeed causes the same effect.
I'll update here about the progress.

imagineer
12-02-2018, 20:01
Hello, thanks for the feedback.
Regarding EliteGameServers specifically - it seems that it suffers from the same issue (created support ticket to check with them).
What would definitely not help is trying default config on their installation.
When configuring the server, they replace port values with something that is consistent within their system, so forcing defaults won't help (or if it does - it won't likely be permanent).
Port swapping trick to check connectivity doesn't help there though (queries work, but joining doesn't). I'll respond when there's more info here.

Thanks for your prompt reply and support ticked at ElitGameServers

Based on your answer, there's no need for me to create a ticket there as well?
(Or if you need any info from me, just send a PM)

hophans
12-02-2018, 20:26
Based on your answer, there's no need for me to create a ticket there as well?

No there is not, your server provider will sort it out.

hilavoku
18-02-2018, 19:34
I have also the problem of getting disconnections from my server after a short while. I see the message ...failed with error AuthTicketCanceled... as posted here:

http://forum.projectcarsgame.com/showthread.php?56669-Dedicated-Server-Configuration-Sample-Weather-MultiClass-REALLY-FIXED!-2-10-18&p=1476514&viewfull=1#post1476514


Even using the new files provided by MortICi I can't get it running. I have a VPS and it has a fixed IP as the first network card. So do not see a problem with my local DS files.
Any help appreciated!

Thanks in advance.

Victor Khomskiy
21-02-2018, 12:40
Hello.

We've released a hotfix for pings issue and the root cause was the same as involved here.
Server update is required to work with a new game build.

Servers hosted on EliteGameServers should also work fine after the update.

imagineer
04-03-2018, 14:52
Hello.

We've released a hotfix for pings issue and the root cause was the same as involved here.
Server update is required to work with a new game build.

Servers hosted on EliteGameServers should also work fine after the update.

COMPLETELY missed this post... will definately try and test this. Thanks!