AMP Instance Manager
This page explains the role of the instance manager in AMP, as well as how to use it.
It is assumed in the case of Linux users that you have a basic level of competence with the command line.
The instance manager is a tool used to create, delete, start and stop AMP instances. Management of the actual instances once they're started is handled by the specific instances web interface.
Under Windows there is both a command line and a GUI based tool. Under GNU/Linux there is just the same command-line tool.
There is also a web-based version of the instance manager as part of the ADS module, but you'll need to use the command line tool under Linux to create your ADS instance in the first place. This is what's recommended by the standard installation instructions.
Modules are AMP plugins that allow AMP to control specific applications. When creating an AMP instance requires you to specify which module to use.
Each module has a list of what are called 'provisioning arguments' - these are pieces of information that the module needs to know in order to configure the application. This may include things like port numbers and IP bindings, player limits, or in the case of Minecraft the Java maximum heap size.
In the GUI you don't need to worry about how this works because you will be automatically prompted for the required information after selecting the appropriate module.
Under Windows the command-line instance manager (InstanceManagerCLI.exe) can be found alongside where the GUI instance manager is installed. Under Linux it's wherever you put the downloaded "ampinstmgr" executable. For the sake of this documentation we'll assume the Linux version, but the arguments are identical under Windows.
The first thing you need to do is pick which module you want to use. You can check the list of modules using the -m argument:
$ ./ampinstmgr -m
Once you've decided on a module, you then need to check what provisioning arguments it needs. You can do this with the -r option. In this example we'll check the
$ ./ampinstmgr -r Rust [Info] AMP Instance Manager v22.214.171.124 Provisioning Arguments for Rust Node │ RustModule.Rust.Port Description │ Game Port Number Default │ 28015 Node │ RustModule.Rust.IP Description │ IP Binding Default │ Node │ RustModule.Rust.MaxPlayers Description │ Maximum Players Default │ 24 Node │ RustModule.Rust.RconPort Description │ RCON Port Number Default │ 5678 Node │ RustModule.Rust.TickRate Description │ Tick Rate Default │ 30
If the default value for a given node is okay, then you don't need to worry about it and can ignore it in the next step.
Creating an instance is done with the -c command, which takes a number of arguments:
./ampinstmgr CreateInstance [ModuleName] [InstanceName] [IPBinding] [Port] [LicenceKey] [Password] [ProvisionFlags]
- The module name is the same as you picked out from the -m command.
- The instance name is the unique identifier for the instance. It must be pure alphanumeric (0-9, a-Z) and start with a letter.
- For systems with multiple internal IP addresses the IP binding controls which interface to listen on. Otherwise you can specify a value of 0.0.0.0 to listen on any available interface, or 127.0.0.1 to only accept local connections.
- The port number controls the port for the web interface, by default this is 8080. Note that on Linux you cannot use values lower than 1024.
- The licence key is either your AMP or McMyAdmin 2 licence key. Note that with the McMyAdmin 2 key you can only use the "McMyAdmin" module. For Minecraft servers with an AMP key use the "Minecraft" module.
- The password is the password to use for the main admin user. The default username is 'Admin' (Case-Sensitive)
- The provisioning flags are to specify the information required by the selected module, and take the format of "+Node Value" repeated for each flag. E.g.
+RustModule.Rust.MaxPlayers 10 +RustModule.Rust.TickRate 60.
So a complete command might look like:
./ampinstmgr -c Rust MyRustServer 0.0.0.0 8080 [YOURKEYGOESHERE] Password123 +RustModule.Rust.MaxPlayers 10 +RustModule.Rust.TickRate 60
If you want to change the username away from the default 'Admin, you can add
+Core.Login.Username [Username] as another argument. This matches with the Login.Username field in the main AMP.conf.
Once your instance is created, starting it up is simply a matter of using the -s flag:
./ampinstmgr -s YOURINSTANCE
YOURINSTANCE is the name you specified during creation. You can use the
-l (That's a lower-case L) flag to get a full list of all the instances and their names, along with other information such as where their data is being stored.
Stopping the instance works the same way, but uses the
-o YOURINSTANCE arguments.
Once the instance is started, you manage it via your web browser, using either your local IP address, or the one specified during instance creation (assuming you didn't use 0.0.0.0, in which case you connect to localhost) on the port specified. So if your internal IP address is 192.168.1.15 and you created the AMP instance on port 8080 with the default binding of 0.0.0.0, you'd navigate to http://192.168.1.15:8080/ and login with the username and password you specified during instance creation.