Add Impostor (#226)

This commit is contained in:
Greelan 2022-11-10 06:29:17 +11:00 committed by GitHub
parent 6c8c2be6cf
commit 6173459bf1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 338 additions and 0 deletions

88
impostor.kvp Normal file
View File

@ -0,0 +1,88 @@
Meta.DisplayName=Impostor - Among Us Server
Meta.Description=Impostor Dedicated Server - an open source private server implementation for Among Us
Meta.OS=Windows, Linux
Meta.Arch=x86_64
Meta.Author=Greelan
Meta.URL=https://github.com/Impostor/Impostor
Meta.DisplayImageSource=steam:945360
Meta.EndpointURIFormat=
Meta.ConfigManifest=impostorconfig.json
Meta.MetaConfigManifest=impostormetaconfig.json
Meta.ConfigRoot=impostor.kvp
Meta.MinAMPVersion=2.4.0.10
Meta.SpecificDockerImage=
Meta.DockerRequired=False
Meta.ContainerPolicy=Supported
Meta.ContainerPolicyReason=
Meta.Prerequsites=[]
Meta.ExtraContainerPackages=[]
Meta.ConfigReleaseState=NotSpecified
Meta.NoCommercialUsage=False
App.DisplayName=Impostor
App.RootDir=./impostor/
App.BaseDirectory=./impostor/
App.ExecutableWin=Impostor.Server.exe
App.ExecutableLinux=Impostor.Server
App.WorkingDir=
App.LinuxCommandLineArgs=
App.WindowsCommandLineArgs=
App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}}
App.UseLinuxIOREDIR=False
App.AppSettings={}
App.EnvironmentVariables={"DOTNET_ROOT":"{{$FullBaseDir}}dotnet"}
App.CommandLineParameterFormat=-{0} {1}
App.CommandLineParameterDelimiter=
App.ExitMethod=OS_CLOSE
App.ExitTimeout=30
App.ExitString=quit
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":22023,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"}]
App.AdminPortRef=0
App.PrimaryApplicationPortRef=GamePort
App.UniversalSleepApplicationUDPPortRef=GamePort
App.UniversalSleepSteamQueryPortRef=0
App.MaxUsers=100
App.UseRandomAdminPassword=False
App.RemoteAdminPassword=Password123
App.AdminMethod=STDIO
App.AdminLoginTransform=None
App.RCONConnectDelaySeconds=5
App.RCONConnectRetrySeconds=5
App.RCONHeartbeatMinutes=0
App.RCONHeartbeatCommand=ping
App.TelnetLoginFormat=login {0}
App.UpdateSources=@IncludeJson[impostorupdates.json]
App.Compatibility=None
App.SteamUpdateAnonymousLogin=False
App.SteamForceLoginPrompt=False
App.RapidStartup=False
App.MonitorChildProcess=False
App.MonitorChildProcessWaitMs=100
App.MonitorChildProcessName=
App.SupportsUniversalSleep=False
App.WakeupMode=Any
App.ApplicationReadyMode=RegexMatch
App.TemplateMatchRegex={{(\$?[\w]+)}}
Console.FilterMatchRegex=
Console.FilterMatchReplacement=
Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$
Console.AppReadyRegex=^\[\d+:\d+:\d+ INF\] Application started\. Press Ctrl\+C to shut down\.$
Console.UserJoinRegex=^\[\d+:\d+:\d+ INF\] (?:.+?) - Player (?<username>.+?) \((?<sessionid>.+?)\) is joining\.$
Console.UserLeaveRegex=^\[\d+:\d+:\d+ INF\] (?:.+?) - Player (?<username>.+?) \((?<sessionid>.+?)\) has left\.$
Console.UserChatRegex=^$
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=False
Limits.SleepOnStart=False
Limits.SleepDelayMinutes=5
Limits.DozeDelay=2
Limits.AutoRetryCount=5
Limits.SleepStartThresholdSeconds=25

142
impostorconfig.json Normal file
View File

@ -0,0 +1,142 @@
[
{
"DisplayName":"Public IP",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$ExternalIP",
"InputType":"text",
"IsFlagArgument":false,
"Hidden":true,
"ParamFieldName":"$.Server.PublicIp",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Public Port",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$GamePort",
"InputType":"number",
"IsFlagArgument":false,
"Hidden":true,
"ParamFieldName":"$.Server.PublicPort",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"IP Binding",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$ApplicationIPBinding",
"InputType":"text",
"IsFlagArgument":false,
"Hidden":true,
"ParamFieldName":"$.Server.ListenIp",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Listen Port",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$GamePort",
"InputType":"number",
"IsFlagArgument":false,
"Hidden":true,
"ParamFieldName":"$.Server.ListenPort",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Build Stream",
"Category":"Server Settings",
"Description":"Sets the build stream for the server - either the mainline release stream, or the nightly (CI) stream. Back up configuration and update the server!",
"Keywords":"build,stream",
"FieldName":"BuildStream",
"InputType":"enum",
"IsFlagArgument":false,
"ParamFieldName":"BuildStream",
"IncludeInCommandLine":false,
"DefaultValue":"Release",
"EnumValues":{
"Release":"Mainline (Default)",
"Nightly":"Nightly"
}
},
{
"DisplayName":"Server Version",
"Category":"Server Settings",
"Description":"Sets the server version (either a [release](https://github.com/Impostor/Impostor/releases) version or a [nightly](https://nightly.link/Impostor/Impostor/workflows/ci/master) version) to install. For nightly, you must include the build number, such as \"1.7.3-ci.513\". Back up configuration and update the server!",
"Keywords":"server,version",
"FieldName":"ServerVersion",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"ServerVersion",
"IncludeInCommandLine":false,
"DefaultValue":"1.7.2",
"Placeholder":"1.7.2 | 1.7.3-ci.513",
"EnumValues":{}
},
{
"DisplayName":"Dotnet Version",
"Category":"Server Settings",
"Description":"Sets the [ASP.NET Core 6.0 version](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) to install. Back up configuration and update the server!",
"Keywords":"dotnet,version",
"FieldName":"DotnetVersion",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"DotnetVersion",
"IncludeInCommandLine":false,
"DefaultValue":"6.0.10",
"Placeholder":"6.0.10",
"EnumValues":{}
},
{
"DisplayName":"Client Configuration",
"Category":"Server Settings",
"Description":"For a player to connect to the server, they must [configure their Among Us client](https://impostor.github.io/Impostor/)",
"Keywords":"client,configuration",
"FieldName":"",
"InputType":"hidden",
"IsFlagArgument":false,
"ParamFieldName":"",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Enable Anticheat",
"Category":"Server Settings",
"Description":"If set, anticheat will be enabled",
"Keywords":"anti,cheat",
"FieldName":"AntiCheat_Enabled",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"$.AntiCheat.Enabled",
"IncludeInCommandLine":false,
"DefaultValue":"true",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Ban IP",
"Category":"Server Settings",
"Description":"If enabled, anticheat will ban a hacking player from the server rather than just kicking them. The banned player will not be able to rejoin that game",
"Keywords":"anti,cheat,ban",
"FieldName":"AntiCheat_BanIpFromGame",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"$.AntiCheat.BanIpFromGame",
"IncludeInCommandLine":false,
"DefaultValue":"true",
"EnumValues":{
"False":"false",
"True":"true"
}
}
]

7
impostormetaconfig.json Normal file
View File

@ -0,0 +1,7 @@
[
{
"ConfigFile":"config.json",
"AutoMap":true,
"ConfigType":"json"
}
]

101
impostorupdates.json Normal file
View File

@ -0,0 +1,101 @@
[
{
"UpdateStageName":"Create Dotnet Directory",
"UpdateSourcePlatform":"All",
"UpdateSource":"CreateDirectory",
"UpdateSourceArgs":"{{$FullBaseDir}}dotnet"
},
{
"UpdateStageName":"Create Libraries Directory",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"CreateDirectory",
"UpdateSourceArgs":"{{$FullBaseDir}}libraries"
},
{
"UpdateStageName":"Create Plugins Directory",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"CreateDirectory",
"UpdateSourceArgs":"{{$FullBaseDir}}plugins"
},
{
"UpdateStageName":"ASP.NET Core Runtime Download",
"UpdateSourcePlatform":"Windows",
"UpdateSource":"FetchURL",
"UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-win-x64.zip",
"UpdateSourceTarget":"{{$FullBaseDir}}dotnet",
"UnzipUpdateSource":true,
"OverwriteExistingFiles":true,
"DeleteAfterExtract":true
},
{
"UpdateStageName":"ASP.NET Core Runtime Download",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"FetchURL",
"UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-linux-x64.tar.gz",
"UpdateSourceTarget":"{{$FullBaseDir}}",
"UpdateSourceTarget":"{{$FullBaseDir}}dotnet",
"UnzipUpdateSource":true,
"OverwriteExistingFiles":true,
"DeleteAfterExtract":true
},
{
"UpdateStageName":"Impostor Server Download",
"UpdateSourcePlatform":"Windows",
"UpdateSource":"FetchURL",
"UpdateSourceData":"https://github.com/Impostor/Impostor/releases/download/v{{ServerVersion}}/Impostor-Server_{{ServerVersion}}_win-x64.zip",
"UpdateSourceTarget":"{{$FullBaseDir}}",
"UnzipUpdateSource":true,
"OverwriteExistingFiles":true,
"DeleteAfterExtract":true,
"UpdateSourceConditionSetting":"BuildStream",
"UpdateSourceConditionValue":"Release"
},
{
"UpdateStageName":"Impostor Server Download",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"FetchURL",
"UpdateSourceData":"https://github.com/Impostor/Impostor/releases/download/v{{ServerVersion}}/Impostor-Server_{{ServerVersion}}_linux-x64.tar.gz",
"UpdateSourceTarget":"{{$FullBaseDir}}",
"UnzipUpdateSource":true,
"OverwriteExistingFiles":true,
"DeleteAfterExtract":true,
"UpdateSourceConditionSetting":"BuildStream",
"UpdateSourceConditionValue":"Release"
},
{
"UpdateStageName":"Impostor Server Download",
"UpdateSourcePlatform":"Windows",
"UpdateSource":"FetchURL",
"UpdateSourceData":"https://nightly.link/Impostor/Impostor/workflows/ci/master/Impostor-Server_{{ServerVersion}}_win-x64.zip",
"UpdateSourceTarget":"{{$FullBaseDir}}",
"UnzipUpdateSource":true,
"OverwriteExistingFiles":true,
"DeleteAfterExtract":true,
"UpdateSourceConditionSetting":"BuildStream",
"UpdateSourceConditionValue":"Nightly"
},
{
"UpdateStageName":"Impostor Server Download",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"FetchURL",
"UpdateSourceData":"https://nightly.link/Impostor/Impostor/workflows/ci/master/Impostor-Server_{{ServerVersion}}_linux-x64.zip",
"UpdateSourceTarget":"{{$FullBaseDir}}",
"UnzipUpdateSource":true,
"OverwriteExistingFiles":true,
"DeleteAfterExtract":true,
"UpdateSourceConditionSetting":"BuildStream",
"UpdateSourceConditionValue":"Nightly"
},
{
"UpdateStageName":"Pause Update Stages",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"Pause",
"UpdateSourceArgs":"2"
},
{
"UpdateStageName":"Set Executable Flag",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"SetExecutableFlag",
"UpdateSourceArgs":"{{$FullBaseDir}}Impostor.Server"
}
]