From ccbaac7f73caaf553860b1f83faa979fa741f761 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Fri, 5 Aug 2022 23:32:35 -0500 Subject: [PATCH] Add GatekeeperV2 Bot (#163) * Add GatekeeperV2 Bot (draft) This is a dedicated generic config to host the WIP bot created by k8thekat here: https://github.com/k8thekat/GatekeeperV2 * Update settings and startup arg * Update for release * Update manifest.json * Update gatekeeperv2.kvp * Update manifest.json * Update gatekeeperv2.kvp * Fixing Suggestions --- gatekeeperv2.kvp | 86 ++++++++++++++++++++++ gatekeeperv2config.json | 143 ++++++++++++++++++++++++++++++++++++ gatekeeperv2metaconfig.json | 20 +++++ 3 files changed, 249 insertions(+) create mode 100644 gatekeeperv2.kvp create mode 100644 gatekeeperv2config.json create mode 100644 gatekeeperv2metaconfig.json diff --git a/gatekeeperv2.kvp b/gatekeeperv2.kvp new file mode 100644 index 0000000..601e711 --- /dev/null +++ b/gatekeeperv2.kvp @@ -0,0 +1,86 @@ +Meta.DisplayName=GatekeeperV2 Bot +Meta.Description=AMP Discord Bot created by k8thekat - https://github.com/k8thekat/GatekeeperV2 +Meta.OS=Linux +Meta.Arch=x86_64 +Meta.Author=k8thekat, IceOfWraith +Meta.URL=https://github.com/k8thekat/GatekeeperV2 +Meta.DisplayImageSource=url:https://avatars.githubusercontent.com/u/68672235?v=4 +Meta.EndpointURIFormat=steam://connect/{0} +Meta.ConfigManifest=gatekeeperv2config.json +Meta.MetaConfigManifest=gatekeeperv2metaconfig.json +Meta.ConfigRoot=gatekeeperv2.kvp +Meta.MinAMPVersion= +Meta.SpecificDockerImage=cool11989/iceofwraith:gatekeeperv2 +Meta.DockerRequired=False +Meta.ContainerPolicy=Recommended +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=GatekeeperV2 Bot +App.RootDir=./gatekeeperv2/ +App.BaseDirectory=./gatekeeperv2/ +App.ExecutableWin=$PATH/python3 +App.ExecutableLinux=/usr/bin/python3 +App.WorkingDir=GatekeeperV2-main +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs=start.py -token {{dev}}{{debug}}{{discord}}{{super}} {{guildID}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={} +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":4444,"Ref":"Port","Name":"Port","Description":"Dummy port"}] +App.AdminPortRef=Port +App.PrimaryApplicationPortRef=Port +App.UniversalSleepApplicationUDPPortRef=Port +App.UniversalSleepSteamQueryPortRef=Port +App.MaxUsers=20 +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={0} +App.UpdateSources=[{"UpdateStageName":"Bot Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/k8thekat/GatekeeperV2/archive/refs/heads/main.zip","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=True +App.MonitorChildProcess=False +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName= +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=Immediate +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex= +Console.AppReadyRegex= +Console.UserJoinRegex= +Console.UserLeaveRegex= +Console.UserChatRegex= +Console.UpdateAvailableRegex= +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 diff --git a/gatekeeperv2config.json b/gatekeeperv2config.json new file mode 100644 index 0000000..763232c --- /dev/null +++ b/gatekeeperv2config.json @@ -0,0 +1,143 @@ +[ + { + "DisplayName": "Discord Bot Token", + "Category": "Bot Settings", + "Description": "Enter your [Discord Bot Token](https://discord.com/developers/applications/).", + "Keywords": "discord,token", + "FieldName": "token", + "InputType": "password", + "IsFlagArgument": false, + "ParamFieldName": "token", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder": "319/f0dsA0jk0PKge2jkpSFWEauopbvejwaioj32omoi32JIOabdsajotjewq3jr2==" + }, + { + "DisplayName": "Discord Server Guild ID", + "Category": "Bot Settings", + "Description": "Enter your Discord server's [Guild ID](https://poshbot.readthedocs.io/en/latest/guides/backends/setup-discord-backend/#find-your-guild-id-server-id).", + "Keywords": "discord,guild,id", + "FieldName": "guildID", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "guildID", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder": "883220743755206666" + }, + { + "DisplayName": "AMP User", + "Category": "Bot Settings", + "Description": "The Login Name for the account you want the bot to use. This account must have \"Super Admin\" privilege for setup of new instances and after upgrades.", + "Keywords": "amp,user", + "FieldName": "AMPUser", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "AMPUser", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder": "amp-bot" + }, + { + "DisplayName": "AMP Password", + "Category": "Bot Settings", + "Description": "The password for said Login.", + "Keywords": "amp,password", + "FieldName": "AMPPassword", + "InputType": "password", + "IsFlagArgument": false, + "ParamFieldName": "AMPPassword", + "IncludeInCommandLine": false, + "DefaultValue": "" + }, + { + "DisplayName": "AMP 2FA Token", + "Category": "Bot Settings", + "Description": "The 2Factor AUTH Code for said Login.", + "Keywords": "amp,2factor,2fa,token", + "FieldName": "AMPAuth", + "InputType": "password", + "IsFlagArgument": false, + "ParamFieldName": "AMPAuth", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder": "MQ2TMMETGB4WCYJY8NRDINDEMKQTGMZTMIZDOZTFME3TSMRXGA2A" + }, + { + "DisplayName": "AMP URL", + "Category": "Bot Settings", + "Description": "The URL or IP of your AMP ADS instance.", + "Keywords": "amp,url", + "FieldName": "AMPurl", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "AMPurl", + "IncludeInCommandLine": false, + "DefaultValue": "http://127.0.0.1:8080", + "Placeholder": "http://127.0.0.1:8080" + }, + { + "DisplayName": "Super Admin", + "Category": "Bot Settings", + "Description": "The bot requires Super Admin for first time setup of new instances and after upgrades. Enable this to keep the permission intact. Use at your own risk as this poses some security risk at the expense of convenience.", + "Keywords": "super,admin", + "FieldName": "super", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "super", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": { + "False": "", + "True": " -super" + } + }, + { + "DisplayName": "Disable Discord Integration", + "Category": "Bot Settings", + "Description": "This setting is for dev use.", + "Keywords": "discord,integration", + "FieldName": "discord", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "discord", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": { + "False": "", + "True": " -discord" + } + }, + { + "DisplayName": "Development Print Statements", + "Category": "Bot Settings", + "Description": "This setting is for dev use.", + "Keywords": "development,print,statements", + "FieldName": "dev", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "dev", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": { + "False": "", + "True": " -dev" + } + }, + { + "DisplayName": "Debug Logging", + "Category": "Bot Settings", + "Description": "This setting is for dev use.", + "Keywords": "debug,logging", + "FieldName": "debug", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "debug", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": { + "False": "", + "True": " -debug" + } + } +] diff --git a/gatekeeperv2metaconfig.json b/gatekeeperv2metaconfig.json new file mode 100644 index 0000000..0b82694 --- /dev/null +++ b/gatekeeperv2metaconfig.json @@ -0,0 +1,20 @@ +[ + { + "ConfigFile": "GatekeeperV2-main/tokens.py", + "AutoMap": false, + "ConfigType": "kvp", + "ConfigFormat": "{0} = '{1}'", + "Subsections": [ + { + "Heading": "$root", + "SettingMappings": { + "token": "token", + "AMPUser": "AMPUser", + "AMPPassword": "AMPPassword", + "AMPAuth": "AMPAuth", + "AMPurl": "AMPurl" + } + } + ] + } +]