Add Assetto Corsa Competizione (#197)

This commit is contained in:
Greelan 2022-09-29 14:37:33 +10:00 committed by GitHub
parent fa8a6d6f80
commit 96aa81e8c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 552 additions and 0 deletions

81
assetto-corsa-comp.kvp Normal file
View File

@ -0,0 +1,81 @@
Meta.DisplayName=Assetto Corsa Competizione
Meta.Description=Assetto Corsa Competizione Dedicated Server
Meta.OS=Windows, Linux
Meta.Arch=x86_64
Meta.Author=Greelan
Meta.URL=https://steamdb.info/app/805550
Meta.DisplayImageSource=steam:805550
Meta.EndpointURIFormat=
Meta.ConfigManifest=assetto-corsa-compconfig.json
Meta.MetaConfigManifest=assetto-corsa-compmetaconfig.json
Meta.ConfigRoot=assetto-corsa-comp.kvp
Meta.MinAMPVersion=2.4.0.2
Meta.SpecificDockerImage=cubecoders/ampbase:wine
Meta.DockerRequired=False
Meta.ContainerPolicy=Recommended
Meta.Prerequsites=[]
Meta.ConfigReleaseState=NotSpecified
App.DisplayName=Assetto Corsa Competizione
App.RootDir=./assetto-corsa-comp/
App.BaseDirectory=./assetto-corsa-comp/1430110
App.ExecutableWin=1430110\server\accServer.exe
App.ExecutableLinux=/usr/bin/xvfb-run
App.WorkingDir=1430110/server
App.LinuxCommandLineArgs=-a wine "./accServer.exe"
App.WindowsCommandLineArgs=
App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}}
App.AppSettings={}
App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"805550"}
App.CommandLineParameterFormat=-{0} "{1}"
App.CommandLineParameterDelimiter=
App.ExitMethod=OS_CLOSE
App.ExitTimeout=30
App.ExitString=stop
App.ExitFile=app_exit.lck
App.HasWriteableConsole=True
App.HasReadableConsole=True
App.SupportsLiveSettingsChanges=False
App.LiveSettingChangeCommandFormat=set {0} "{1}"
App.ApplicationIPBinding=0.0.0.0
App.Ports=[{"Protocol":"UDP","Port":9231,"Ref":"UDPPort","Name":"UDP Port","Description":"Port for game traffic"},{"Protocol":"TCP","Port":9232,"Ref":"TCPPort","Name":"TCP Port","Description":"Port for server query and ping"}]
App.PrimaryApplicationPortRef=UDPPort
App.UniversalSleepApplicationUDPPortRef=UDPPort
App.UniversalSleepSteamQueryPortRef=TCPPort
App.MaxUsers=85
App.UseRandomAdminPassword=False
App.RemoteAdminPassword=Password123
App.AdminMethod=STDIO
App.AdminLoginTransform=None
App.RCONConnectDelaySeconds=5
App.RCONConnectRetrySeconds=5
App.TelnetLoginFormat={0}
App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1430110","ForceDownloadPlatform":"Windows"}]
App.Compatibility=LinuxBufferedConsole, WindowsBufferedConsole
App.SteamUpdateAnonymousLogin=False
App.SteamForceLoginPrompt=False
App.RapidStartup=False
App.MonitorChildProcess=True
App.MonitorChildProcessWaitMs=2000
App.MonitorChildProcessName=wine64
App.SupportsUniversalSleep=False
App.WakeupMode=Any
App.ApplicationReadyMode=RegexMatch
App.TemplateMatchRegex={{(\$?[\w]+)}}
Console.FilterMatchRegex=
Console.FilterMatchReplacement=
Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$
Console.AppReadyRegex=^Listening to TCP \d+ \| UDP \d+$
Console.UserJoinRegex=^New connection request: id (?<sessionid>.+?) (?<username>.+?) (?<userid>.+?) on car model \d+$
Console.UserLeaveRegex=^Client (?<sessionid>.+?) closed the connection \(\d+\)$
Console.UserChatRegex=^CHAT (?<username>.+?): (?<message>.+)$
Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$
Console.MetricsRegex=
Console.SuppressLogAtStart=False
Console.ActivateLogRegex=
Console.UserActions={}
Limits.SleepMode=True
Limits.SleepOnStart=False
Limits.SleepDelayMinutes=5
Limits.DozeDelay=2
Limits.AutoRetryCount=5
Limits.SleepStartThresholdSeconds=25

View File

@ -0,0 +1,445 @@
[
{
"DisplayName":"UDP Port",
"Category":"ACC Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$UDPPort",
"InputType":"number",
"Hidden":true,
"IsFlagArgument":false,
"ParamFieldName":"udpPort",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"TCP Port",
"Category":"ACC Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$TCPPort",
"InputType":"number",
"Hidden":true,
"IsFlagArgument":false,
"ParamFieldName":"tcpPort",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Server Name",
"Category":"ACC Server Settings",
"Description":"The name of the server as it appears publicly",
"Keywords":"name",
"FieldName":"serverName",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"serverName",
"IncludeInCommandLine":false,
"DefaultValue":"Assetto Corsa Competizione Server - Powered by AMP",
"EnumValues":{}
},
{
"DisplayName":"Server Password",
"Category":"ACC Server Settings",
"Description":"Password to connect to the server as a player. Default is no password",
"Keywords":"password",
"FieldName":"password",
"InputType":"password",
"IsFlagArgument":false,
"ParamFieldName":"password",
"IncludeInCommandLine":false,
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"Spectator Password",
"Category":"ACC Server Settings",
"Description":"Password to connect to the server as a spectator. Must be different to server password if both are set. Default is no password",
"Keywords":"spectator,password",
"FieldName":"spectatorPassword",
"InputType":"password",
"IsFlagArgument":false,
"ParamFieldName":"spectatorPassword",
"IncludeInCommandLine":false,
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"Admin Password",
"Category":"ACC Server Settings",
"Description":"In-game \"admin\" user password. NOTE: Change this after installing the server!",
"Keywords":"admin,password",
"FieldName":"adminPassword",
"InputType":"password",
"IsFlagArgument":false,
"ParamFieldName":"adminPassword",
"IncludeInCommandLine":false,
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"Connection Limit",
"Category":"ACC Server Settings",
"Description":"Maximum number of players and spectators that can connect to the server at one time",
"Keywords":"connection,limit",
"FieldName":"$MaxUsers",
"InputType":"number",
"IsFlagArgument":false,
"ParamFieldName":"maxConnections",
"IncludeInCommandLine":false,
"DefaultValue":"85",
"Suffix":"connections",
"EnumValues":{}
},
{
"DisplayName":"Player Limit",
"Category":"ACC Server Settings",
"Description":"Maximum number of players that may connect to the server at one time",
"Keywords":"players,limit",
"FieldName":"maxCarSlots",
"InputType":"number",
"IsFlagArgument":false,
"ParamFieldName":"maxCarSlots",
"IncludeInCommandLine":false,
"DefaultValue":"30",
"Suffix":"players",
"EnumValues":{}
},
{
"DisplayName":"Track Medals Required",
"Category":"ACC Server Settings",
"Description":"Sets the number of track medals that a player must have",
"Keywords":"track,medal",
"FieldName":"trackMedalsRequirement",
"InputType":"enum",
"IsFlagArgument":false,
"ParamFieldName":"trackMedalsRequirement",
"IncludeInCommandLine":false,
"DefaultValue":"3",
"EnumValues":{
"0":"None",
"1":"One",
"2":"Two",
"3":"Three"
}
},
{
"DisplayName":"Safety Rating Required",
"Category":"ACC Server Settings",
"Description":"Sets the Safety Rating (SA) that a player must have to join the server. -1 = no rating",
"Keywords":"safety,ratimg",
"FieldName":"safetyRatingRequirement",
"InputType":"number",
"MinValue":"-1",
"MaxValue":"100",
"IsFlagArgument":false,
"ParamFieldName":"safetyRatingRequirement",
"IncludeInCommandLine":false,
"DefaultValue":"49",
"Placeholder":"-1 or 0 - 100",
"EnumValues":{}
},
{
"DisplayName":"Racecraft Rating Required",
"Category":"ACC Server Settings",
"Description":"Sets the Racecraft Rating (RC) that a player must have to join the server. -1 = no rating",
"Keywords":"racecraft,rating",
"FieldName":"racecraftRatingRequirement",
"InputType":"number",
"MinValue":"-1",
"MaxValue":"100",
"IsFlagArgument":false,
"ParamFieldName":"racecraftRatingRequirement",
"IncludeInCommandLine":false,
"DefaultValue":"-1",
"Placeholder":"-1 or 0 - 100",
"EnumValues":{}
},
{
"DisplayName":"Save Leaderboard",
"Category":"ACC Server Settings",
"Description":"If enabled, leaderboards are saved to the \"results\" folder",
"Keywords":"leaderboard",
"FieldName":"dumpLeaderboards",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"dumpLeaderboards",
"IncludeInCommandLine":false,
"DefaultValue":"0",
"EnumValues":{
"False":"0",
"True":"1"
}
},
{
"DisplayName":"Save Entry List",
"Category":"ACC Server Settings",
"Description":"If enabled, entry lists are saved at the end of any qualifying session",
"Keywords":"dump,entry,list",
"FieldName":"dumpEntryList",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"dumpEntryList",
"IncludeInCommandLine":false,
"DefaultValue":"0",
"EnumValues":{
"False":"0",
"True":"1"
}
},
{
"DisplayName":"Central Entry List Path",
"Category":"ACC Server Settings",
"Description":"Sets a custom path to a central entry list, for sharing across servers",
"Keywords":"central,entry,list,path",
"FieldName":"centralEntryListPath",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"centralEntryListPath",
"IncludeInCommandLine":false,
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"Track Selection",
"Category":"ACC Gameplay Settings",
"Description":"Sets the track for the server",
"Keywords":"track",
"FieldName":"track",
"InputType":"enum",
"IsFlagArgument":false,
"ParamFieldName":"track",
"IncludeInCommandLine":false,
"DefaultValue":"mount_panorama",
"EnumValues":{
"barcelona":"Barcelona",
"brands_hatch":"Brands Hatch",
"donington":"Donington",
"hungaroring":"Hungaroring",
"imola":"Imola",
"kyalami":"Kyalami",
"laguna_seca":"Laguna Seca",
"misano":"Misano",
"monza":"Monza",
"mount_panorama":"Mount Panorama",
"nurburgring":"Nurburgring",
"oulton_park":"Oulton Park",
"paul_ricard":"Paul Ricard",
"silverstone":"Silverstone",
"snetterton":"Snetterton",
"spa":"Spa",
"suzuka":"Suzuka",
"zandvoort":"Zandvoort",
"zolder":"Zolder"
}
},
{
"DisplayName":"Car Group Selection",
"Category":"ACC Gameplay Settings",
"Description":"Sets the car group that is allowed on the server",
"Keywords":"car,group",
"FieldName":"carGroup",
"InputType":"enum",
"IsFlagArgument":false,
"ParamFieldName":"carGroup",
"IncludeInCommandLine":false,
"DefaultValue":"GT4",
"EnumValues":{
"FreeForAll":"Free For All",
"GT3":"GT3",
"GT4":"GT4",
"GTC":"GTC",
"TCX":"TCX"
}
},
{
"DisplayName":"Lock Race",
"Category":"ACC Gameplay Settings",
"Description":"If enabled, the server will not allow players to join during a race session",
"Keywords":"race,locked",
"FieldName":"isRaceLocked",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"isRaceLocked",
"IncludeInCommandLine":false,
"DefaultValue":"1",
"EnumValues":{
"False":"0",
"True":"1"
}
},
{
"DisplayName":"Enable Random Track",
"Category":"ACC Gameplay Settings",
"Description":"If enabled, the server will change to a random track when the last driver leaves. \"Track Selection\" will only apply for the first session",
"Keywords":"random,track,empty",
"FieldName":"randomizeTrackWhenEmpty",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"randomizeTrackWhenEmpty",
"IncludeInCommandLine":false,
"DefaultValue":"0",
"EnumValues":{
"False":"0",
"True":"1"
}
},
{
"DisplayName":"Enable Auto Disqualification",
"Category":"ACC Gameplay Settings",
"Description":"If this is disabled, drivers receive 30 second penalties rather than automatic disqualification, allowing time for incident review",
"Keywords":"auto,dq,disqualification",
"FieldName":"allowAutoDQ",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"allowAutoDQ",
"IncludeInCommandLine":false,
"DefaultValue":"1",
"EnumValues":{
"False":"0",
"True":"1"
}
},
{
"DisplayName":"Formation Lap Length",
"Category":"ACC Gameplay Settings",
"Description":"Sets the formation lap length. \"Long\" is only usable on private servers",
"Keywords":"formation,lap",
"FieldName":"shortFormationLap",
"InputType":"enum",
"IsFlagArgument":false,
"ParamFieldName":"shortFormationLap",
"IncludeInCommandLine":false,
"DefaultValue":"1",
"EnumValues":{
"0":"Long",
"1":"Short"
}
},
{
"DisplayName":"Formation Lap Type",
"Category":"ACC Gameplay Settings",
"Description":"Sets the formation lap type",
"Keywords":"formation,lap,type",
"FieldName":"formationLapType",
"InputType":"enum",
"IsFlagArgument":false,
"ParamFieldName":"formationLapType",
"IncludeInCommandLine":false,
"DefaultValue":"3",
"EnumValues":{
"0":"Old limiter lap",
"1":"Free lap",
"3":"Default formation"
}
},
{
"DisplayName":"Race Wait Time",
"Category":"ACC Gameplay Settings",
"Description":"Sets the preparation time before a race (minimum 30s)",
"Keywords":"race,waiting,time",
"FieldName":"preRaceWaitingTimeSeconds",
"InputType":"number",
"MinValue":"30",
"IsFlagArgument":false,
"ParamFieldName":"preRaceWaitingTimeSeconds",
"IncludeInCommandLine":false,
"DefaultValue":"60",
"Suffix":"seconds",
"Placeholder":"60",
"EnumValues":{}
},
{
"DisplayName":"Race Over Time",
"Category":"ACC Gameplay Settings",
"Description":"Sets the time to forcibly close a session once the timer reaches 0:00 (recommended 107% of the expected laptime)",
"Keywords":"race,over,time",
"FieldName":"sessionOverTimeSeconds",
"InputType":"number",
"IsFlagArgument":false,
"ParamFieldName":"sessionOverTimeSeconds",
"IncludeInCommandLine":false,
"DefaultValue":"120",
"Suffix":"seconds",
"Placeholder":"120",
"EnumValues":{}
},
{
"DisplayName":"Ambient Temperature",
"Category":"ACC Gameplay Settings",
"Description":"Sets the baseline ambient temperature in °C",
"Keywords":"ambient,temp",
"FieldName":"ambientTemp",
"InputType":"number",
"IsFlagArgument":false,
"ParamFieldName":"ambientTemp",
"IncludeInCommandLine":false,
"DefaultValue":"26",
"Suffix":"°C",
"EnumValues":{}
},
{
"DisplayName":"Cloud Level",
"Category":"ACC Gameplay Settings",
"Description":"Sets the baseline cloud level",
"Keywords":"cloud,level",
"FieldName":"cloudLevel",
"InputType":"number",
"MinValue":"0",
"MaxValue":"1",
"IsFlagArgument":false,
"ParamFieldName":"cloudLevel",
"IncludeInCommandLine":false,
"DefaultValue":"0.3",
"Placeholder":"0.0 - 1.0",
"EnumValues":{}
},
{
"DisplayName":"Rain Level",
"Category":"ACC Gameplay Settings",
"Description":"Sets the static rain level if weather is static, or the expected rain level if weather is dynamic",
"Keywords":"rain",
"FieldName":"rain",
"InputType":"number",
"MinValue":"0",
"MaxValue":"1",
"IsFlagArgument":false,
"ParamFieldName":"rain",
"IncludeInCommandLine":false,
"DefaultValue":"0.0",
"Placeholder":"0.0 - 1.0",
"EnumValues":{}
},
{
"DisplayName":"Dynamic Weather",
"Category":"ACC Gameplay Settings",
"Description":"Sets the dynamic weather level. 0 = static, 1-4 = fairly realistic, 5-7 = more sensational",
"Keywords":"random,weather",
"FieldName":"weatherRandomness",
"InputType":"number",
"MinValue":"0",
"MaxValue":"7",
"IsFlagArgument":false,
"ParamFieldName":"weatherRandomness",
"IncludeInCommandLine":false,
"DefaultValue":"3",
"Placeholder":"0 - 7",
"EnumValues":{}
},
{
"DisplayName":"Ignore Premature Disconnects",
"Category":"ACC Gameplay Settings",
"Description":"If enabled, less arbitrary connections lost. On Linux hosts, disable this setting",
"Keywords":"ignore,premature,disconnects",
"FieldName":"ignorePrematureDisconnects",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"ignorePrematureDisconnects",
"IncludeInCommandLine":false,
"DefaultValue":"1",
"EnumValues":{
"False":"0",
"True":"1"
}
}
]

View File

@ -0,0 +1,26 @@
[
{
"ConfigFile":"server/cfg/configuration.json",
"AutoMap":true,
"ConfigType":"json",
"ConfigEncoding":"utf16-le-nobom"
},
{
"ConfigFile":"server/cfg/settings.json",
"AutoMap":true,
"ConfigType":"json",
"ConfigEncoding":"utf16-le-nobom"
},
{
"ConfigFile":"server/cfg/event.json",
"AutoMap":true,
"ConfigType":"json",
"ConfigEncoding":"utf16-le-nobom"
},
{
"ConfigFile":"server/cfg/assistRules.json",
"AutoMap":true,
"ConfigType":"json",
"ConfigEncoding":"utf16-le-nobom"
}
]