Skip to content

Configuring the 'Generic' AMP module

PhonicUK edited this page Oct 1, 2019 · 2 revisions

The Generic module in AMP allows you to run applications for which no specific AMP module already exists. It takes a lot of configuration to tell it how to update, start and monitor the application.

Note that this module isn't fully implemented at this time.

You'll need to edit GenericModule.kvp with a text editor such as Notepad++. The configuration is split into two sections: Application and Console

Application

Field Description
DisplayName The name of the application as is displayed in AMP
RootDir The root direction that the application is to be run from
Executable The filename that is to be started. It can either be a relative path from RootDir or an absolute path
CommandLineArgs The command line arguments to be used. Extra values from CommandLineVars can be substituted in by enclosing their names in double-curly braces. E.g. -MaxPlayers {{MaxPlayers}}
CommandLineVars A JSON formatted dictionary of variable names and their values. E.g. {"MaxPlayers": 4, "Port": 27100}
ExitMethod Determines how to stop the application. Must be one of the following:

• Kill - Kills the process outright
• EndStream - Closes the standard input stream
• CtrlC - Sends a CTRL+C to the standard input stream
• CtrlD - Sends a CTRL+D to the standard input stream
• Esc - Sends an escape character to the standard input stream
• String - Sends the value of the ExitString setting to standard input.
• SIGTERM - Sends a SIGTERM signal to the process (Linux Only)
• SIGKILL - Sends a SIGKILL signal to the process (Linux Only)
ExitString The string to be sent the standard input to stop the application if the ExitMethod is set to String
HasWriteableConsole Whether or not the application can have its console written to via standard input. True or False
HasReadableConsole Whether or not the application can have its console read from via standard output. True or False
ApplicationPort1 The first port that the application needs to use. AMP will reserve both TCP and UDP
ApplicationPort2 The second port that the application needs to use. AMP will reserve both TCP and UDP
RemoteAdminPort When using RCON based Admin Methods, this is the port AMP will connect to the appplication on
AdminMethod How AMP will interact with the application to provide a console. Must be one of the following:

• STDIO
• SourceRCON
• TelnetRCON
• QuakeRCON
UpdateSource How AMP will update the application. Must be one of the following:

• None
• FetchURL - Downloads from a fixed URL set by UpdateSourceData to the RootDir
• CopyFilePath - Copies a file or a directory to the RootDir.
• SteamCMD - Downloads an application whose app ID is set in UpdateSourceData into the RootDir
UnzipUpdateSource If the update source is FetchURL or CopyFilePath, AMP will unzip the target file after downloading/copying it

Console

Field Description
IsReadyImmediately If set to True, AMP will not wait for AppReadyRegex to match and instead it will assume the application is ready as soon as it has started
AppReadyRegex A regex that if matched, will change the server state from 'Starting' to 'Running'
You can’t perform that action at this time.