AMP 1.8 ‘TITAN’ Release Notes

![TITAN][1]

It’s finally here!

TITAN represents AMP in its most feature complete state, and ready to go for more widespread usage.

In the coming weeks we’ll be working on some of the final touches and details to make it suitable for Enterprise usage, and some changes to the licencing to accommodate this.

This release includes some much needed quality of life features, with a big focus on improving manageability via ADS (editing port mappings and instance settings from the web interface), improvements to the backup system including the exclusions system, and a massive improvement to general performance especially during login.

**This is your usual reminder that you may need to empty your browser cache (CTRL+F5) after updating AMP**

AMPCore

* **Massively** sped up logins. Now almost instant.
* Fix search box overflowing.
* Mobile UI style and layout tweaks.
* Datalist settings (map dropdowns etc) clear when picking, allowing the entire list to show.
* Notifications and running tasks now run correctly over WebSockets. Super fast!
* Detection logic only works out admin status once on startup instead of every time its checked (fixes sudo spam on Linux)
* Detection can now query installed glibc version (not used for anything just yet)
* Fixed symlink resolution when getting external processes.
* Added setting to ignore TLS/certificate errors when communicating with auth server (fails security validation if enabled)
* Removed running tasks out of GetStatus and into GetUpdates when using polling.

File Manager

* Added a special permission to allow editing AMP config files via the FM.
* Implemented backup exclusions.
* Fixed behaviour of trashing files/directory and introduce an upper bound so that symlink loops don’t cause an infinite loop.
* Fixed behaviour of GetFileInfo when accessing VDS directories.
* Fixed behaviour of permissions evaluation when using absolute v.s. relative paths (no longer refuses for all absolute if they’re still somewhere allowed)

Backup Plugin

* Removed the IsSticky parameter from the Take Backup scheduler task. Broke off into separate task to take a sticky backup.

Instance Manager (CLI)

* Added a ‘deactivate’ command to remove licences for an instance to make it easier to swap out.
* Added ‘friendly’ prompts when asking the user for information. Mostly used during Quickstart.
* Fixed password masking on Linux.

Instance Manager (Core)

* Automatically change permissions of instances definition file if necessary on Windows.

Instance Manager (Windows GUI)

* Now only creates ADS and McMyAdmin modules.
* No longer requires a licence to be specified for ADS instances.

ADS Module

* Port mappings can now be edited, as well as viewed.
* Added an instance settings page to change friendly name, etc.
* Removed ADS provisioning flags (since the required info is now supplied during setup)
* Notifications are now synced between controllers and targets
* Right side panel now correctly shows StartOnBoot and Suspended settings

Minecraft Module

* Improved fault tolerance for permissions issues when handling server.properties
* Implemented version selector and updating for Paper.
* Fixed a race condition that could cause AMP to not register when users join (order of UUID vs Joined messages)

Generic Module

* Now actually starts, but still barely usable. Extensive documentation still required.

Factorio Module

* Configuration update – setting name change.

ARMA Module

* Now ignores 64-bit setting on Linux (there is no 64 bit server under Linux)

Linux Installation Script

* Errors out on non-x86_64 systems.
* Fixed escaping issues when using complex passwords.
* Port number is now in a single variable to make it easier for users to quickly modify the script if necessary.

Windows MSI Installer

* Correctly starts IM during installation and shows survey during removal.

[1]: https://c10.patreonusercontent.com/3/eyJwIjoxfQ==/patreon-media/p/post/26851000/411cab77dc9548feabea4cc8fd0d70c1/1.png?token-time=1559001600&token-hash=F_dbakfJDsUakFjtj8FBd4VcWxeVhO-KhuiS6uSqVJI=

AMP Beta 1.7.5.0 ‘Hawking Starman’ Release Notes

This release focuses a lot on the 7 Days to Die module, which is now a feature complete module ready for use! There’s also the minor slew of bug fixes and minor feature improvements.

There is now some basic support for Steam Workshop, but it is still a work in progress and behaves a little inconsistently. You need to obtain the workshop item IDs from the steam store and add them directly, in the future we hope to have a more user friendly browser.

7 Days to Die Module

* Massive update! Now feature complete for main requirements. No longer marked as WI
* Added state tracking, user tracking, basic events tracking and basic user actions (kick/ban)
* Showcase for new module custom metrics, game FPS is shown on the Status tab as an example

SteamCMD Plugin

* Improved command line flag generation
* Basic steam workshop support. For now just a list of workshop item IDs in the settings.
* Better status reporting when downloading updates. Shows validating/allocating/downloading separately.
* Added setting mappings (see IM Core) for various srcds applications, includes a sane default map.

AMPCore

* Remove excessive spaces from CPU model names during detection.
* CPU usage calculation now uses number of CPU cores/threads from newer platform info.
* Modules can now expose custom metrics to be shown on the status page.

ADS

* Show more information when instance creation fails

Instance Manager (Core)

* Don’t log sensitive arguments by default when creating instances.
* Added support for setting mappings, allows for multiple configuration changes during provisioning

Instance Manager (CLI)

* Added –log-sensitive flag to log sensitive arguments
* No longer prompts for values with commands that only need optional values (startall/stopall)
* Passwords that are prompted for are masked after being entered (you can see while typing, but then they’re starred out)
* Passwords that are prompted for require confirmation now.
* Boolean values accept a wider selection of values (yes/no, y/n, etc).

Srcds module

* No longer sets a default map (setting mappings may override)
* Prompts user to change the map if none is set

Minecraft module

* World selection source is now fault tolerant (permissions issues, etc)
* Added missing ‘view-distance’ setting, as well as a max view distance setting for hosts to set an upper limit.
* Fixed AMP permissions for kicking users

AMP Beta 1.7.4.4 ‘Hawking Starman’ Release Notes

This release focuses almost entirely on improving ADS usability and functionality, with some other minor bug fixes.

AMPCORE

* Make sure usernames are escaped when generating regexes to highlight usernames in consoles. Fixes users with certain characters in their names making the console stop working.

File Manager

* Added a new permission to allow changing file extensions. Must be explicitly granted to be used.
* Handle errors more gracefully if they occur when trying to extract an archive.

ADS

* More consitently generate management URLs for local/remote instances.
* Make sure IPv6 hosts have their URLs generated correctly.
* When setting up targets, make sure the auth server is also set as the default auth server for new instances.
* Obey the “CreateLocalInstances” setting in ADS.
* Clarified some steps in the first time setup.
* CPU service ratio is calculated using new PlatformInfo rather than Environment.ProcessorCount.
* Updated application mappings to include Factorio on Windows.
* Layout improvements on Mobile.
* Allow controllers to create instances without having a licence key set if they’re handing off to a remote target.
* Removed unused ‘service store’ setting.
* Replace word “Update/Updating” with “Refresh/Refreshing” in a few places to avoid confusion.
* Fixed newly added targets not being refreshed until after the controller is restarted.

Instance Manager (CLI)

* Show fewer flags when not using advanced mode.
* Add a ‘browse’ command to open an instance in a web browser when run from a desktop environment.
* Fixed OpenSSL arguments when using ConvCert.

Instance Manager (GUI)

* No longer allows making changes if an ADS instance is running as a service.

AIM

* When starting an instance, only re-apply network flags as opposed to all of the original provisioning settings.
* (Windows) AIM can now check if a service instance is running or not without requiring admin permissions.

AMP Beta 1.7.4.0 ‘Hawking Starman’ Release Notes

This release focuses significantly on improving ADSs usability, and also brings the Factorio module into a more usable state.

AMPCore

* Updated Wiki links everywhere to point to the public github wiki instead.
* Fixed a crash-on-exit if LastExitCode can’t be written to (usually a permissions issue)
* Webserver now logs the module/method that failed when an exception is thrown in response to an API call.
* Added ‘number’ type mapping for float – Fixes the mulitplier settings in space engineers not showing up.
* Refactor AMP instance info into a single entity for plugins/modules.
* Changed plugin loading to use dependency overrides rather than value injections.
* Improved styling for certain types of modal popup on the desktop (they’re floating windows rather than stuck to the top)

AIM Command Line

* Give feedback when a users request to rebind ADS is cancelled due to rejecting the prompt.

AIM Core

* Added support for ‘Bleeding’ (CI) builds. Only available to patreon, network premium and Enterprise users.

ADS

* Fixed not being able to create instances from a controller if one of the targets is offline (even on a different target)
* Added a context menu item to instances to view their network/port usage. This will later become the place to change network bindings too.
* Fixed calculation of which host to use when managing instances on remote targets
* Added the ability to edit/remove remote targets from an ADS controller.

Factorio Module

* Masively more implemented. Now has player tracking, settings and RCON. For the most part pretty feature complete.
* Works well enough now that it’s no longer marked as WIP in ADS.

ARMA 3 Module

* Fixed config settings not being written properly due to MergeFieldsIntoFormat ignoring properties on anon objects. Now called MergeMembersIntoFormat and accounts for properties too.

Srcds Module

* Tell the user what file was missing when the srcds server tries to start but the file is missing.

Minecraft module

* Add a schedulable task to check for updates.
* Fixed a crash of Java isn’t intalled while trying to install Forge.
* Fixed sleep mode being incorrectly activated when waked by the user if sleep-on-start is enabled.

Installer (Windows)

* Remove RAM check (messes with VMs with dynamic memory)

AMP Beta 1.7.3.2 ‘Hawking Starman’ Release Notes

This is a minor bugfix release, but also includes some previews of new features:

Note that there have been no updates to the instance manager, which remains on version 1.7.2.6 for the time being.

AMPCore

* WIP top-right corner search 🙂
* Trim CPU model name in description
* Correctly works out number of cores/sockets for multi-socket systems
* Fix group/user handling for remote instances. Users created inside instances can’t log into ADS anymore.
* Fixed a bug where AMP would get stuck trying to monitor dead processes when using AMPCA on Windows.
* Replaced SupportedOS with PlatformInfo to allow plugins/modules to have more info about the system.

Generic Module

* New! Highly Experimental! Prone to spontaneous combustion!

Minecraft Module

* Implement sleep-on-start (sleeps the server ASAP once its running)

ADS Module

* Fixed provisining KVPs not been set properly (affects deploying srcds games)
* Displays more information about remote targets

Windows Installer

* Include VS2017 C++ Runtime.

AMP Beta 1.7.3.0 ‘Hawking Starman’ Release Notes

As previous this release mostly contains a mixture of bug fixes, and progress towards the 1.8 release stream.

Most notable this release is a mostly complete implementation of instance specific users, roles and permissions. Also ADS can now create MCMA3 instances and MCMA3 appears as its own entry in the application list.

AMPCore

* Implement message IDs for websocket API calls (to be used in the future to allow all API calls to be made over sockets)
* Re-implemented all authentication to support async operations.
* Selection sources use IEnumerable rather than List now.
* Included new unity console compatibility mode for certain Windows servers.
* Correctly handle session ID remapping in ADS (helps a lot with users on reverse proxies…)
* Fixed behaviour of shutdowns when using CTRL+C on Linux.
* Fixed behaviour of WriteAsString attribute (fixes config issue in 7d2d)
* Added CPU model detection
* Fixed speed not showing on running tasks that have them.

ADS Module

* Gives better feedback on why an instance cannot be managed if it’s not available.
* Uses new instance state tracking to be way more responsive.
* Requests to manage instances are now logged.
* Starts to show more system info for controllers.
* (Mostly) implemented instance specific roles and users

Instance Manager Core

* Added appropriate errors and warnings for the situation where a user tries to start/create docker instances but is not part of the docker group.

Instance Manager CLI

* Implement –strict flag to be used by scripts to ensure that all arguments are specified correctly with full parameters.
* Updated help text re: release streams.
* Added a warning if double clicked on in explorer rather than using the command prompt in Windows.

SteamCMD Plugin

* Fixed windows users not being prompted for steam guard 2FA

Srcds Module

* Refactored startup to avoid unnecessary path calculations.

The Forest Module

* Added basic state handling and console handling.
* Added most of the remaining settings.
* Correctly set a sane config and save directory path.

Seven Days Module

* Updated configuration to include new settings
* Updated how configuration files are written to write enums out as strings correctly

Minecraft Module

* Updated mechanism used to get Forge version data. Data is cached for a minimum of 24h.
* Won’t fall over if access is denied trying to read the plugin store directory

Windows Installer

* Added options to install APIGen/PicoRCON under ‘SDK’ options.

AMP Beta 1.7.2.6 ‘Hawking Starman’ Release Notes

This release contains largely bugfixes and minor feature improvements, along with some under-the-hood work towards 1.8.

AMPCore

* Fixed AMP crashing on startup if the licence directory is inaccessible.
* Fixed users with 2FA enabled not being able to change their account details (user is now prompted for a key to change details)
* Changed CPU usage calculation to be based on a fixed interval. Should address many CPU usage calculation issues.
* Added support for unique message IDs when using websockets so clients know which reply is for which request.
* Nightly builds now show a more useful build number rather than the ‘version’ of AMP.

ADS Module

* Fixed licence key text box not being focusable.
* Added application mapping for Minecraft: Bedrock Edition.
* Implemented state merging for targets/instances – makes the entire UI super snappy and responsive.

RCON Client Plugin

* Fixed a potential NRE if the user tries to send a message during the authentication process but before authentication is completed.

Minecraft Module

* Fixed MC module crashing if the `buildtools` directory is removed by the user while the build process is running…
* FTB failing to install now shows as a task failure.

7 Days to Die module

* Updated configuration to match latest version. (GameWorld setting)

The Forest Module

* Basic state tracking
* Now shows the servers console output! (Read-only, game does not have a writable console)

File Manager Plugin

* Fixed FM plugin crashing on startup if invalid characters were specified in a path for a virtual directory.
* Fixed downloaded AMP archives not having their permissions modified on Windows.

Instance Manager (CLI)

* No longer prompts for any default parameters.
* Under Windows, gives a prompt if double-clicked in explorer to explain that it’s a CLI application.
* Added (semi-experimental) ConvertCertificate operation to produce a PFX from a KEY+PEM.

Instance Manager (Core)

* Fixed missing module metadata on Windows.
* Removed Factorio from list of supported applications on Windows.
* Updated docker start failure message to indicate that the AMP user needs to be part of the docker group.
* Updated help to clarify that –nightly and –fasttrack only apply when creating instances now.

MSI Installer (Windows)

* Added a new registry entry for module metadata location.
* Legacy GUI uses new metadata from Core.
* Added SDK Tools (APIGen and PicoRCON)

PicoRCON (Windows Only)

* Added protocol switching, can now connect using any RCON protocol supported by AMP.

AMP Beta 1.7.2.4 ‘Hawking Starman’ Release Notes

This release focuses largely on bug fixes and usability improvements, including improved status monitoring
for background tasks and startup issues with the Minecraft module.

Notes for Windows users

The new AMP instance manager installation isn’t an in-place upgrade. You will need to uninstall the existing instance manger (this will not delete your instance data!) – and then when installing the new version, pick the Custom option and change the datastore directory to your existing one.

AMPCore

* Fixed a scheduler issue that would cause AMP to crash if a user supplied value couldn’t be cooerced into a boolean.
* Fixed webserver crashing if a websocket broadcast is performed at the same moment a user logs in.
* Fixed requiring AMP_LOG_LEVEL to be explicitly set on non-English Debian systems.
* Fixed a race condition caused by trying to expire sessions at the same time another user logs in.
* Fixed WaitForExitAsync() falling over on Windows if the process has already exited.
* Read-only settings can now always be read by default even if the user doesn’t have permission (unless explicitly opted out by the setting) – also applies to new AlwaysAllowRead attribute.
* Handle IO better failures when writing to audit log (write to primary log instead).
* Pressing ENTER in popup prompts now does the same as clicking OK.
* Don’t error out when trying to update details for a user with no email address.
* Updated initial feature test to show outdated browser warning on IE11 again.
* Rebuilt notifications UI to be data bound. Allows for better error reporting on long running tasks in the future.
* Updated libraries to latest versions.

ADS

* Don’t specify an auth server when using Hybrid mode by default.

Instance Manager core

* Fixed autoconfigure trying to re-use instance names that are already in use.
* Added missing names for running tasks that are created.
* Fixed the wrong console being shown when managing and instance and ADS has websockets enabled.
* Explicitly overrides default locale within AMP.
* Improved exception logging.
* Now removes AMP files that don’t belong to the target platform. Saves Linux users about 15MB/instance and Windows users about 45MB/instance

File Manager

* Removed a stack of unused workers and language handlers, saves about 12MB per instance.

Instance Manager CLI

* Now recommends a sane address to browse to when an instance is on 0.0.0.0/::

Instance Manager GUI

* Updated to use new IM Core library
* Added Command Prompt and View Logs options
* New installer! Installs Core by default and has option to include in PATH
* By default datastore is located in AMPDatastore on the drive with the most free space.

Backup Plugin

* Fixed side-based backup cycling.

Minecraft Module

* Fixed Spigot version selector.
* Fixed issue that caused the server to not start unless the internal EULA check was disabled.
* Fixed EULA prompt not showing on new servers.
* Fixed module falling over if the bedrock server could not be saved to disk when downloaded.
* Fixed plugin installation not being possible when the instance is managed via ADS.
* Fixed parameter orders for Buildtools on Windows.
* Skips Java check when using a Bedrock server.
* Updated message handling mappings for Bedrock.

RCON Plugin

* Now drops connection rather than crashing if a packet is recieved with a length of less than 0.

Rust Module

* Fixed module falling over if a message was sent before RCON was initialized.

SteamCMD Plugin

* Added support for downloading workshop items (not yet used in any modules).

7 Days to Die Module

* Added new Zombie movement settings.

AMP Beta 1.7 ‘Hawking Starman’ Release Notes

![AMP 1.7][1]

AMP 1.7 represents significant progress to some of the major milestones in AMPs roadmap. The 1.7 codebase will be focusing on permissions and management further as well as some of the features destined for the 1.8 milestones.

Important notes for users upgrading from AMP 1.6.x:

* Using fast file transfers requires that Webserver.EnableFetchPostEndpoints is set to True in AMPConfig.conf (you will need to add this line if it does not exist) as it is disabled by default in previous AMP versions. You can then enable Fast File Transfers in the configuration.
* Websockets are disabled by default on previous AMP installations, you may enable them by setting Webserver.EnableWebSockets=True in AMPConfig.conf
* If you are using ADS, you must also update all of your instances. There is no backwards/forwards compatibility between 1.7 and older versions when using ADS.
* You will almost certainly need to do a force refresh (CTRL+F5) or empty your browser cache when browsing AMP after updating.

General

* Across the board various AMP components are being converted to use async logic more where possible. This generally improves the responsiveness of AMP and improves maintainability of the code base.
* The ConsoleOutputRecieved event is now handled by AppServerBase (ModuleShared) rather than by individual modules.

AMPCore

* Link-local (169.254.*.*) IP addresses no longer show up in IP address lists.
* Added support for Websockets. Right now this is only used for the console but will be rolled out to other parts of AMP over time. This doesn’t work inside ADS when managing an instance but fallback is automatic.
* New ‘account’ page. The drop down menu in the top left for logging out has been removed. Clicking your user icon now shows you your profile where you can change your details.
* Changed appearance of modal dialogs to be easier to see and look better.
* Fixed “You do not have permission to use this method (WebMethods. GetAMPUserInfo) at this time.” errors when logging into an instance that uses ADS for authentication.
* Don’t consume activations when using ADS even if a key is supplied.
* Work in progress for 2FA (Google Authenticator) support. This is approximately 90% done.
* Rate limiting now applies to websocket upgrade requests and fast file transfers.
* Fixed an off-by-one error that caused January not to show up in the scheduler and triggers scheduled in December not to run (triggers will need re-adding).

Instance Manager CLI

* Now auto-restarts ADS during the first-time setup to smooth out installation.
* Fixed ampinstmgr ‘stalling’ for a long time when running any command due to it building an excessively long port mapping list.
* Added option to UpgradeAll to only upgrade instances that are on the Mainline release stream.
* Added a –skip-user-test flag to skip the test for a user mismatch.
* Added a warning that you’ll break everything if you try and rebind ADS.
* Now shows parameter types for commands when using Help.
* (Core) Fixed behaviour of sparse ranges so ports get handed out correctly.

File Manager Plugin

* Added support for fast file transfers. This bypasses the API for uploading/downloading files. **Note that when using this with ADS you must use ADSs file manager when uploading/downloading files. You won’t be able to do so while managing a specific instance via ADS** at this time.
* Fixed notifications being left behind if an archive operation fails.

Local File Backup Plugin

* No longer incorrectly shows a ‘Backup failed’ error when taking a backup that actually starts.

Minecraft Module

* Now specifies a larger heap size by default when using Buildtools.
* Fixed crash if file permissions cannot be resolved on Windows systems.

srcdsModule / SteamCMD Plugin

* Fixed an issue that could cause the module to crash if a user spammed the ‘Update’ button.
* Temporarily removed the map cycle tab as it’s not functional. It will likely return at a later date.

ADS Module

* Fixed instances randomly disconnecting while being managed.
* When managing remote instances, failed API calls will be automatically retried 10x before giving up.
* Improved IPv6 support. It’s now possible to correctly manage instances that are bound to IPv6 addresses.

[1]: https://c10.patreonusercontent.com/3/eyJ3IjoxMjQwfQ==/patreon-media/p/post/23459190/bf9daa7d84b04d1c9c77c988110f56c5/1?token-time=1546473600&token-hash=ssXx2FtorrEZ-S6k_6EsmXsTvZP3PekqjCKZidNgMY0=

AMP Beta ‘TN/SR6’ 1.6.12.2 Release Notes

This release focuses on improving existing functionality, especially within ADS and features require for the new first-start experience.

AMPCore

* Added missing error states for authentication issues related to Passthru Auth (tells you more about what’s wrong)
* API correctly handles situation where JSONResponse objects are being fed back to an async API caller.
* Fixed managed instances only being accessible via ADS rather than by their own address.
* All task failures are now logged regardless of the cause or origin.
* During startup version check, AMP will shut down if its version is below the acceptable minimum.
* Bulk library and dependency updates.
* Setting stores can now handle GUIDs correctly.
* Super Admin role can no longer be deleted.
* Users can no longer delete roles that they are a member of.
* Allow use of IEnumerable rather than Lists for string selection sources, reduces allocations.
* Schedulable tasks can now return an ActionResult so they get logged if there’s a failure of any kind.
* Auth failure time window and attempts count is now configurable (5 attempts in a 5 minute window as default, same as before)

AMPCommon

* Fixed a race condition when adding console entries rapidly.

Instance Manager CLI

* Force argument for ChangeInstanceStream is now optional (default: False)
* Now shows parameter types for commands.
* Now correctly checks for a running ADS instance, won’t allow instance changes while ADS is running.
* Checks if Docker is installed before trying to use it.
* Checks if an AMP user exists when using a different user.
* Many uncommon commands are now hidden from help, requiring the use of the –advanced flag to show (but not to use)

Instance Manager Core

* Fixed behaviour of GetProvisionArguments for AIM on Linux.
* Added missing provisioning data for all instance types to correctly hand out network settings.

ADS Module

* First time wizard correctly sets Passthru mode when using a Hybrid/Standalone setup.
* Minor style tweaks and improvements.
* Port usage ranges are now implemented and being used.

Minecraft Module

* Added spawn protection radius setting (Spigot only)
* Added option to use system installed RAM as 100% mark rather than the Java max heap size.
* Update log handlers for bungee, forge, FTB.
* Fixed an NRE if the op list is invalid.

Backup Plugin

* Now checks for manually deleted backup archives when calculating currently available space.

7 Days to Die Module

* Now allows you to use the experimental build.
* Added new settings for the experimental build.

Local File Backup Plugin

* Added new setting to specify a maximum size limit for a single backup.

File Manager Plugin

* Increased default chunk size from 256KB to 16MB – should improve upload speeds significantly on non-LAN connections.
* File info pane is now usable on mobile.
* Logs when a user downloads a file (uploads were already logged)
* Fixed ‘dirty’ notice in file editor showing off-screen.