AMP 'Callisto' 2.5.0 Release Notes

About AMP 2.5 ‘Callisto’

AMP 2.5 is a major update with a significant number of changes and new features that affect almost every major component within AMP, as well as many quality of life improvements that have been requested by the community, along with a great many quashed bugs that affected usability.

For many of you (especially those of you who joined us during the Palworld peak) this may be your first significant update for AMP. If that is the case I’d recommend taking a moment to check out the documentation on updating AMP. It will be necessary to update the Instance Manager on both Windows and Linux for AMP to function properly with this update.

We’d also strongly recommend that everyone read these release notes in full, especially if you are relatively new to AMP and this is your first major update with a codename change.

Things to know before updating

AMP 2.5 has no backwards or forwards-compatibility with previous 2.4.x series updates. So it will be necessary to upgrade your entire AMP installation to create new instances or use instances running AMP 2.5.

User Interface Changes

ADS Instance List Metrics

The instance list is now far more useful. As well as showing metrics front-and-centre to let you see CPU or memory usage at a glance, it also lets you see the state of the application within the instance, and guides you appropriately if further action needs to be taken.

Metrics reporting is also much faster than previous, giving you live updates in ADS for status changes and frequent updates of resource usage.

Updated status page and instance management

The side menu has been tweaked to make it obvious that returning to the top level is a separate action, and the application image is shown to make it clearer what you’re working with.

The application uptime is now recorded and displayed both in the status page and in the console so you can see how long the application has been running. Additionally, the network information now shows more useful connection information, to make it easier to see exactly where you’re supposed to connect to join the game server.

New Features

Smart Backup Exclusions

For applications based on the Generic module (which is most of them these days) - the first time the application is updated, AMP will build a backup exclusion file that contains all of the files that were downloaded in that first update. This means that only files added after that point are backed up.

Smart Exclusions are disabled by default (the list is always built but ignored out of the box) - and can be turned on in the settings. Take a moment to review the backups after enabling this feature for the first time to make sure it includes everything you expect it to.

Configuration Importing

Again for applications based on the Generic module - AMP can now import configuration files for a wide variety of formats if the configuration layout allows for it. This means you can hand-edit your configuration files or load in existing files produced outside of AMP and read them into AMP so that your changes persist. Right now the configuration files you import must have the exact same as the original to be read in.

To use this feature, simply right click your configuration file in the file manager and select “Import Configuration”. If you do not see such a button in the menu then importing is not available for the application you’re using at this time. This feature has to be enabled on a per-application basis so it’ll take a while before you start seeing this roll out.

Swap control for Docker instances

It’s now possible to separately control the amount of swap space individual instances have access to in order to give you more control and flexibility over instance resource usage. Bare in mind that when applications reach their combined swap and memory limit, they will simply fail.

Recovery Mode on Windows Desktops

Previously a Linux-only feature, recovery mode means that you won’t be left with an unhelpful message if AMP fails to load or is otherwise unreachable. On Windows this applies when you open the “Instance Manager” GUI app and it automatically opens a browser for you.

Additional Scheduler Variables

There are now additional variables that can be included in Scheduled Tasks that don’t come from the trigger itself. See the list of new variables.

Template Values for Generic Executable

Authors of Generic Module templates now have more flexibility to allow the application being started along with other variables to be controlled based on the value of other settings.

Significant Changes

Faster ADS Loading

ADS used to load a very large amount of data (several megabytes in fact) every time you opened the page, which slowed things down as the browser processed it. Now, ADS simply loads a summary of the data so only what’s actually shown to the user is fetched. This significantly improves load times and responsiveness when first opening up AMP.

RCON Improvements

AMPs RCON implementation has been rewritten to make it more durable and reliable. This will address issues in a number of games that could cause the console in AMP to become unresponsive and prevented AMP from tracking games in certain situations.

The design of the various RCON clients internally also follows a more uniform and consistent design to make the feature more maintainable going forward.

User and Role management

By default, non-admin users can only see users and roles that they themselves created. The ability to see other users/roles is hidden behind a separate permission.

Instance Start-up and Shutdown on Windows

AMP now uses a cleaner mechanism to handle soft shutdowns on Windows, which means fewer instances of instances and their applications being forcefully killed.

The instance manager also uses a different mechanism to start instances on Windows entirely. This solves the long-standing issue of having to shut down every single instance in order to update ADS, and general issues where AMP could end up in a stalled state as a result of restarting ADS. The frustrations that could soft-lock AMP until a full reboot have been resolved with this change. Updates on Windows are significantly improved moving forward with this change.

Use of per-instance HMAC signing keys for metrics

Previously, making sure that metrics were valid took the form of using firewall rules to only accept metrics from the appropriate places, but this was burdensome and time consuming to set up.

AMP now assigns a HMAC signing key for each instance, which it uses to sign metrics data that it’s reporting to the controller. This is fully transparent and has been ensured to work with existing instances as well as brand new ones.

Expanded support for CPx2

The emulation layer used by AMP to run x86 and x86_64 applications on ARM64/aarch64 platforms can now be used on Debian systems in addition to Ubuntu.

Bug Fixes

  • Fixed an erroneous “AMP tools are out of date” message if the tools version couldn’t be determined.
  • Fixed issues resolving the external IP. No longer returns null if this fails.
  • Fixed a layout bug that caused the viewport to be wider than it should be on mobile if the side-menu in ADS was hidden (which was overflowing to the right side).
  • Typographical and minor layout fixes throughout.
  • Fixed a bug where ADS callbacks to billing systems (WHMCS, etc) could cause socket exhaustion over time.
  • Fixed a bug where ADS would crash if an invalid hostname was specified for a remote target.
  • Fixed branding information not being used for ticket creation. Enterprise users shouldn’t be shuttled through the support UI, only Retail users.
  • Fixed a bug where the generic module might try to kill an already terminated process.
  • Fixed configuration refreshes not working as expected. This is now handled in a single step when updating instances and is managed by the backend.

Minor Changes

  • Added a Minimum Heap Size (XMS) setting to the Minecraft module.
  • Update and Start is now the default behaviour when creating an instance.
  • File sizes are now reported using SI units (MiB, GiB, etc)
  • Added an option to show SteamCMD download speeds in bits (mbits, gbits, etc)
  • Gravatar images are now lazy loaded to improve load times.
  • The settings for Java arguments in the Minecraft module use a larger text area field.
  • Removed use of example.com values due to it causing 404 errors on load.
  • The honorific mention of Stephen Hawking has been removed.
  • Added a configurable session time limit. Previously this was hard coded to 5 minutes of inactivity.
  • Updated error reporter to expand the list of reasons not to submit an error report due to trivial or user-error issues.
  • The licence key lost check now accommodates different key lengths as some users were entering their keys without the dashes.
  • Changed the kill signal on Linux as some Minecraft plugins were erroneously sending SIGUSR1 signals.
  • Added the ability for ampinstmgr to use the Development branch, along with the Quickstart command to help with testing/using dev builds.
9 Likes

Patch 20240313.5

  • Pre-store provisioning info for ADS to avoid ampinstmgr on Linux having to load the assembly
  • Adjust config importing to not automatically allow importing for all AutoMap files
1 Like

Patch 20240314.1

  • GetAMP fixes
  • Fix spelling on “entries”

Patch 20240314.2

  • SWAP changed to Swap
  • Swap limit pulled from environment variables where applicable
  • Fix FixPerms command when using Windows PowerShell
  • Tweak --memory-swap behavior to correctly function with -1 and 0 values
  • Tidy up the instance setting screen regarding memory and swap usage

Patch 20240315.1

  • More verbose license information
  • Fix for Match ADS Version
  • Resolve NRE in Source and Telnet RCON when the application fails to start
  • Fix SRCDS functionality with new RCON logic
  • Fix Web RCON (Greelan’s Rust template) functionality with new RCON logic

Patch 20240322.1

  • Fix for Generic Instances when an update stage includes a start/wait/stop but failed due to AMP expecting a completed update process before starting.

AMP 2.5.0.4 Release Notes

AMP 2504 is a bugfix, UX and QoL pass with no appreciable new features.

The changes are too numerous to list all of them, but the headline changes are:

  • Metrics data syncing is performed over websockets in controller/target configurations, and instances always report their metrics to the local target (still using the metrics protocol). Avoids ADS controllers having to expose its metrics port publicly and generally simplifies networking and configuration. Also makes reverse proxy environments work better with metrics.
  • Expanded the range of Generic variables that can use templated values.
  • Added ‘Exclude From Import’ flag for individual settings in Generic.
  • Fixed endpoints for password changes/2FA to fix the ‘No such user’ bug.
  • A global UI pass to fix a handful of minor UI/UX issues, including mobile and responsive behaviour across the board, including layout tweaks to the scheduler and navigation especially.
  • Fixes to Docker handling to address issues where AMP lost track of instance states (which caused the issues with AMP failing to start instances because the container name was in use)
  • Significantly speed up docker status checking.
  • Fixed IP rate limiting behaviour.
  • Removed ‘10th Anniversary’ branding.
  • Fixed numerous ADS<->ADS (Controller/Target) syncing issues.
  • More generic update sources log their activity to console to give users more feedback.
  • Fixed provisioning flags for generic instances using Custom Settings and MaxUsers.
  • Added support for Reindev in Minecraft.
  • Updated Cuberite URL for Minecraft
  • Fixed behaviour of child process monitoring with regex matching to identify the process.
  • Added GoldSrc RCON.
  • Scheduled restarts will no longer attempt to restart stopped or sleeping Minecraft servers.

Patch 20240404.6

Updating just ADS is sufficient for this update.

  • Fixed a layout issue that made the user area inaccessible except through a really small and difficult to click area, and some minor responsive tweaks.
  • Fixed a layout issue that made the search results be hidden behind other elements.
  • Fixed issue with ADS config refresh where it updated the configuration before updating AMP which meant any new settings within AMP weren’t usable with the configuration.

AMP 2.5.0.6 Release Notes

AMP 2506 as previous is mostly a bugfix release, with little in the way of new features.

Main changes:

  • Update notice has been made less obnoxious. Instead of the bright orange box, it’s simply tacked onto the ‘Support and Updates’ menu item.
  • Search box (top right) is now usable on mobile devices.
  • Fixed an issue withampinstmgr being unable to upgrade instances that use version matching.
  • Fixed scheduler showing values rather than user-friendly names for Enum values in task values. Especially noticeable on the ‘Condition Is Met’ task.
  • Added a schedule trigger for the completion of scheduled backups specifically.
  • Added a schedule trigger for a SteamCMD update not found. (Useful for running daily restarts in a case when updates aren’t needed)
  • Changed behaviour of ampinstmgr switchall to avoid duplicate updating of docker images.
  • Implemented ‘RunInBackground’ for update/pre-start stages where AMP won’t wait for that stage to complete before continuing.
  • Implemented pre-start licence refreshes. Fixes issues where AMP could lose its licence if it was running while a licence is renewed/extended.
  • Miscellaneous UI and layout tweaks.
  • Improvements to child process monitoring (Mostly affects WINE based applications)
  • RCON reliability improvements.
  • Certain notifications no longer propagate from targets up to the controller, reducing the amount of excess notifications.
  • Fixed duplication of iptables rules when using a system that uses nft as its default firewall and has the iptables compatibility layer in place.
  • Added an option to make login rate-limiting optional for environments where it’s not suitable (such as filtering proxies like Cloudflare)
  • Fixed an issue with the backup plugin stalling the login process for restricted users.
3 Likes

AMP 2.5.0.8 Release Notes - 2024/05/01

This update continues the current trend of prioritising bug fixes and UI issues, but this time we’ve included some significant QoL improvements and new UI features that should make things easier for a lot of users.

Despite the generous number of new features - there are no API changes required to support them, so it’s a forward and backwards compatible update within the 2.5.0 series. However, you won’t get some of the new features if a newer ADS version manages an older instance and vice versa.

New Features

Scheduler status tracking

The scheduler now keeps track of tasks that fail and notifies you when they do, providing information on what the problem is:

This saves you from having to trawl through logs trying to find out why a task failed and when, and instead provides you with quick feedback about what’s going on when there’s a problem with the schedule.

Bulk Editing for List values

In AMPs configuration, if there was a setting that took a list of values such as the port list, or the list of Steam Workshop IDs - you could only add/edit/remove items one at a time, which was a pain if you had a list outside of AMP that you wanted to paste in.

While the visual difference in this mode is subtle, the functional change is significant. The list is replaced with a text box and you can easily paste large numbers of entries all at once.

Improved key/value setting editing

For settings that take keys and values (also referred to as Dictionaries), a few tweaks have been made to improve their usability:

Rather than always showing just ‘Key’ and ‘Value’ as the header, which was unhelpful and told you nothing of what kind of information it expected - these now have headers that can be defined in the setting data, along with placeholders in the input fields. They’re also double-width now to avoid unnecessary wrapping of values.

Regional Download Mirrors

Until now, downloads were exclusively served out of servers in Europe. Great for Europeans, not so much for everyone else.

Starting for now with just the US (but more to follow for sure) - we’re adding regional download mirrors. These provide a regional cache of data on the upstream European servers. This not only improves speeds by not having to send data over the ocean for our American users, but also keeps the load distributed when large numbers of people update all at once as is often the case for major updates. This also applies to the package repos for Linux users.

Significant Changes

Turbo-charged logins

Very similar to an issue that made ADS slow to load in the browser, AMP logins were slower than they should be by quite some margin. This was caused by AMP building the entire user interface for every setting all at once when you logged in, even if you never looked at the settings.

Now, AMP builds the interface for settings just-in-time when you open a category. A single category doesn’t take long to process so there is no perceptible delay.

Reworked Navigation

A static screenshot does not do the numerous changes justice - but suffice to say, the navigation behaves more consistently and is nicer to use in a greater variety of circumstances and on different devices and screen sizes. Logic that was used for a single purpose (the new update notice that came in 2506) is now multi-purpose, in this update this is used for the new scheduler alert.

Refreshed Permissions UI

The interface for managing a roles permissions have been significantly rebuilt to make it much clearer, and visually more in line with how the rest of AMP behaves.

It’s much easier now to see how the hierarchy of permissions behaves, and the control far less ambiguous.

Sensitive Permission Warnings

When enabling a permission node such as the ‘Core’ node that will implicitly enable security sensitive permission nodes (such as those that control role membership) - AMP will warn you that this will happen:

This draws attention to a potential security issue if this isn’t what you intended and lets you review the changes you’re about to make first.

Minor Changes

  • Added some missing settings from the Minecraft module: accepts-transfers and region-file-compression. Adjusted all setting defaults to match latest version.
  • Changed notifications sync behaviour between targets and controllers to reduce the number of unnecessary notifications that appear on controllers.
  • A licence failure for editions that support custom branding will no longer erase the branding data - but rather simply disable the branding from being shown.
  • Minecraft Bedrock version fallback moved to GitHub for quicker updates.
  • Users can no longer see users/roles they didn’t create without Access External Permissions.
  • AMP is now aware of X-Forwarded-For header. This allows correct IP tracking when hosted behind a reverse proxy. The proxy must be configured to pass the header to work.
  • Swapped the Cancel Task buttons to fix them being reversed.
  • The ‘Default’ role is no longer created for new installations.
  • SkipOnFailure added to generic update stages to allow for non-required steps to fail gracefully without impacting the whole update process.
  • Multiple fixes to the generic instance update process.
  • Minor fix to child process monitoring to allow AMP to better track game servers that run with Wine.

Patch 20240502.1

No need to update ADS other than to clear the update notification. This specifically fixes Minecraft and Generic instance types.

  • Fixed Generic instance update stages with conditional values
  • Switch region-file-compression to a Combo input type, was incorrectly using integers

AMP 2.5.0.10 Release Notes

We’re continuing on our crusade of addressing usability and general UX issues. There are some minor new features particularly for the Generic module, but this update mostly addresses fixes.

UI Updates

We’ve added support for material icons within AMP and have done a UI pass to replace most (but not all) of the icons within AMP itself. This not only looks better on high-DPI devices, but gives the iconography a more consistent feel and better conveys what buttons will do. You’ll start to see these more often as we continue replacing icons throughout the interface.

image

Bug Fixes

  • Addressed an issue that prevented SFTP logins to ADS but allowed it to individual instances.
  • Fixed handling of SFTP logins for users that have 2FA enabled.
  • Fixed a recursion issue that could cause ADS to crash.
  • Fixed a bug where ADS would hang if it received a metrics packet that was valid and signed but for an instance it didn’t know existed.
  • Fixed an issue where LIM might try and download multiple AMP versions concurrently.
  • Fixed notifications about instance actions (start/stop) being broadcast globally instead of the user that initiated the action.
  • Fixed detection of ‘Modern’ Windows terminal to not try and show hyperlinks in the old style console.
  • Fixed behaviour of Minecraft compression setting.

Other Changes

  • Updated URI for PaperMC.
  • General UI/UX/Layout tweaks and improvements.
  • Added flag to Generic to allow configs to opt-out of Smart Exclude (if it doesn’t work well enough to be useful)
  • Added support for JSON Number Array type merging in Generic.
  • Added experimental “StartAllParallel” and “UpgradeAllParallel” arguments to ampinstmgr which are fast, but need more testing.
  • Reduced ADS data usage. Single-instance refreshes instead of sending the entire group.
  • ADS renames the console tab to “Deployment Log” to reduce confusion.
  • The Docker CPU limit setting is now based on threads, not cores.
  • SFTP security keys now use newer standards. Older keys are upgraded automatically.
  • The standalone module for Factorio has been deprecated in favour of the Generic version.
  • The SRCDS module based versions of both CS:GO and TF2 have been deprecated in favour of the Generic versions.
  • The ‘Bedrock’ Minecraft application based on the Minecraft module has been flagged as ‘Legacy’ in favour of the Generic version. This version has not been deprecated for the benefit of users with McMyAdmin 2 Licence Keys.

Patch 20240519.1

  • Fixed missing console assistant from Windows build.
  • Tweak to the new ADS UI so the Manage button always shows separately.

AMP 2.5.0.12 Release Notes

This update has several fairly major UI changes to make AMP easier to navigate, and settings easier to find.

Controller ADS Access

Users no longer have access to ADS on a controller by default. You will need to update any roles with the “Manage” permission on the Controller’s ADS instance if you’d like them to access that way. Users will be able to manage using the direct instance links still without making any changes to existing permissions.

Setting Subcategories

The top level categories for the Configuration have been significantly reduced in number, and replaced with sub-categories with a set of tabs to move between different groups.

The result is a far more intuitive interface for finding settings without having to resort to the search box.

Your existing instances won’t have the information necessary to show subcategories until they are updated, so they’ll show the old layout until they are updated. Additionally apps based on the Generic module will be waiting on updates to their generic configurations to leverage this feature.

Navigation URLs

Previously, if you reloaded the page - you’d lose whichever part of AMP you were in at the time. Similarly using the back button didn’t return you to where you previously were in AMP, it would take you to the previous page.

AMP now uses stateful navigation to give you new URLs each time you move section within AMP, even within instances! So now you can get back where you were or share direct links to specific parts of AMP.

Backup Manifest Imports

The Backup provider will now read in any backups that are placed in the instances directory when it starts up. This makes it easier to move backups between instances and make use of them.

Misc updates

We’re continuing to do UI/UX passes. The changes are too numerous, but they include tweaks to spacing, sizing, colours etc.

The “Scheduled Backup” notification is now gone, and replaced by a notice in the Backups tab itself and side navigation to prompt you to address it in a more subtle way.

AMP will verify a port is not in use by other applications on the same machine before assigning it to an instance.

Patch 20240530.2

This patch fixes regressions in port listings and Github Release update stages.

Patch 20240530.3

Uses stable sorting for Generic settings so they can be preserved in-order from the config file instead of being automatically alphabetical. Theme tweaks to Aura.

Patch 20240531.1

  • Increases timeout for temporary tokens from 30 seconds to 150 seconds to allow for situations where AMP takes longer to load because of a slow connection. Previously instances could not be managed if AMPs initialisation in the browser took longer than 30 seconds.
  • Fixed some layout issues with permissions handling and with responsive views.
  • Token Rejections now contain more information about why the token was rejected.
  • Fixed an issue with AMPs web server causing excessive cache dumping (which slowed down loading times)
  • Fixed some binding issues with settings.

AMP 2.5.0.14 Release Notes

  • Fixed the Spigot build process on the latest versions.
  • Controller can now directly Browse the Datastore of Target instances without having to manage the Target first.
  • If AMP kills a process, it no longer causes AMP to crash if the process was never created due to a failure.
  • Attempt to fix a null reference exception on startup of Minecraft in some cases.
  • Fixed datastore usage calculation by excluding symlinks.
  • Added an error when a CustomMountBind is added outside of /home/amp inside the container.
  • Fixed MetricsServerHost when running inside Docker.
  • Removed requirement for refresh when creating a local instance inside a container.
  • Multiple minor UI tweaks.
  • Stable sort of settings re-applied so they will follow the order in the config manifest by default.
  • Beginning changes to speed up API file transfers.
2 Likes

Patch 20240614.2

  • Revert CustomMountBinds /home/amp requirement
  • Fix setting searching in Generic instances