This is one of our most important updates ever! The result of an extensive modernisation project to keep AMPs core fast, secure and maintainable. We’re really excited to bring this release to you, and hope everyone enjoys the improvements.
IMPORTANT NOTICE
It is important to make sure your generic templates are updated! If after updating some generic instances won’t start, update them from ADS to make sure they’re running the latest configuration for your given application.
Thank you to all the testers that helped verify the massive number of changes that went into this release! If you were someone that participated, please be sure to run the following commands to revert to mainline.
For a single instance:
ampinstmgr switch (instancename) mainline true
For all instances:
ampinstmgr switchall mainline true
Update Instructions
Please see the official guide for instructions on updating AMP to the latest version.
What’s changed?
We’ve upgraded almost every major component inside of AMP, moving to newer tooling and libraries to make AMP faster, more secure, and easier to maintain. This includes an upgrade from .NET Framework to .NET 8 and from mHTTP to Microsoft’s built-in Kestrel web server.
In terms of functionality - there have been very few changes this update other than a handful of bug fixes. This release focuses largely on internal modernisation.
Release Notes
Theme hot reloading - No need to refresh the browser
Added HTTP/3 Support
Fix application template syncing - “Ghost changes” no longer prevent pulling the latest templates from the AMPTemplates repo
Application templates are updated prior to creating an instance
Docker images are updated on instance start
Windows installs now include all C++ redistributables, DirectX, and Git to ensure smooth operation of AMP and game servers
Known Issues
Scheduled tasks getting wiped from upgrade
Windows msi outdated - Mike to address build system.
Overlays - permission denied
Overlays - Getting deleted - Fix ready to deploy
Overlays - Getting applied on each update. Not 2.6 directly but should be addressed.
RHEL can’t activate - NoMatchingMachineId
Firewall service failed/syntax error when updating firewall rules on Linux - Fix ready to deploy
We’re very close to finishing taking care of the issues found directly caused by changes in 2.6. If any issues are outstanding, please feel free to ping @IceOfWraith directly here or on Discord.
Bug Fixes and Improvements
Prevent scheduled triggers from running in suspended instances
Fix CPU and RAM usage not updating for metrics and Status tab
Fix LDAP auth not working due to a bad startup order
Add templated values to generic template regex messages
Add nested capability for templated values in generic templates
Correct handling of Direct from Controller access mode
Fix multiple issues with the Deployment Templates tab
Allow the auth provider to use X-Forwarded-For
Convert instances list new statuses to use classes rather than a computed inline style
Add logging to instance stopping to investigate instance stop failures further
Always remove the task notification when stopping an instance (stuck notifications)
Make process checking more resilient
Backups and File Manager archive creation includes retry logic and logging to account for in-use files and other file transfer failures
There will likely be one more update prior to the holidays coming up. Then, we’re planning to slow down (for our sake and yours)! The next update will wait until we have all outstanding issues resolved that were directly caused by the major 2.6 update.
IMPORTANT NOTICE
Be sure to follow the update instructions at the end of this post closely, specifically on Windows. This update includes needed changes to instance status and stopping mechanisms that requires all aspects of AMP to be on the latest version to function properly!
Bug Fixes and Improvements
AMP Instance Manager on Windows not detecting instances properly.
ampinstmgr unable to detect running or stop instances on Windows through command line.
Fixed issue where back to back SteamCMD update stages could fail.
Corrected update check logic for SteamCMD games in scheduled tasks.
Additional logging added to SteamCMD update checking.
SteamCMD update checks now verify against the right release stream.
Smart Backup Exclusions begin at the Base Directory instead of Root. Caused issues with Wine games generating backup exclusions when those directories aren’t backed up anyways.
Git LFS is added to the install scripts on Windows for more game support out of the box.
Solved an issue with iptables generating duplicate rules (up to the hundreds of thousands). This should also clean up existing duplicated rules.
The ADS and instance ports are properly added to the firewall if not bound to localhost.
Fixed an issue where stopping an instance would cause cancellation errors and sometimes fail to stop the instance.
SRCDS maps populate correctly now.
Deprecated the Dota 2 and Left 4 Dead 2 SRCDS modules in favor of the generic templates created by @Greelan
S3 backups automatically upload if set to do so.
Fixed multiple CPU usage calculation issues on Linux. This includes solving the metrics not updating properly for games that use Wine or need child process monitoring.
Added ExitMethodWindows to allow for templates that require different shut down methods based on the OS.
WaitForStartupComplete generic update stage adjusted to check for the app startup properly.
We’ve got some cool new features for our first release of 2025 to get things started this year that we’re really excited to share with you.
Geo Filtering
Powered by the Analytics plugin (so Advanced / Enterprise Edition is required) - it is now possible for AMP to provide geo-filtering so that you can either restrict users from specific countries, or only allow users from certain countries. This means you can focus on your local player base, keep people on a more equal footing for latency, and remove language barriers.
This feature is available for most games that log player joins/leaves to the console along with their IP address.
Like the analytics feature itself, this feature doesn’t work behind certain types of tunnels/proxies that obscure the original IP address.
Additional Server Info
Some games (Such as Sunkenland) require extra information for players to connect such as a Server ID. Generic module applications can now capture these pieces of information and show them on AMPs status screen along with the rest of the connection information for easy access.
Log file tailing for Generic Module
For applications that only log to a file and have no other output, AMP can now use those logs as a source for the console and provide live updates.
More control in application templates
Generic module templates can now adjust the value of any AMP plugin setting, not just those of the generic module.
Improved Search
Users and Roles can now be searched for via the search box in the top right corner of AMP to make them easier to find quickly.
Other Fixes
Added an addition setting for S3 backup uploads to improve compatibility with other providers.
Fixed a security issue where a template role was granted access to tabs within an instance, but also gained access in ADS
Match ADS Version is consistently set for Advanced and Enterprise licenses
Steam scheduled update checks accurately verify against the correct directories for generic
Steam scheduled update checks properly verifies if the new build ID is higher rather than not equal to the current version. Prevents update loops when update checking fails
Correct new firewall logic to address null IP Address failures
Reverted a change to port logic that showed the web port in multiple places
Fixed benign null reference exception error on RCON disconnect when app failed to start
Template Role cloning failure corrected
Adjust generic template checks to 60 minutes, already gets the latest when creating instances or updating
There is a known issue with the Steamcmd.net API used for scheduled Steam update checks that it is limited to 2 hours minimum between checks due to caching. We are in talks with them to attempt and solve the issues.
This patch fixes an issue preventing AMP and ampinstmgr from performing downloads properly on Windows systems, and also as an aside - fixes the Player Advancement trigger for the Minecraft module.
This is a smaller update to correct some issues mainly. This fixes an issue with placing game server files in bad locations, so it’s recommended you update the game server inside the instance after running the upgrade to AMP.
Bug Fixes and Improvements
Revert the 60 minute repo fetch change. This caused issues with manually fetching as well. Will be added back in later after reviewing the cause.
Remove mirror references. This was replaced with a CloudFlare CDN.
Fixed an issue with generic config file merging when an integer is in the config file, but can be a float.
Don’t allow new datastores to be created in user directories on Windows.
Added an option to make login tokens not IP sticky.
Fixed an issue where the working directory used the target directory incorrectly.
Allow template values in UpdateSourceTarget.
Known Issues
There is a known issue with the Steamcmd.net API used for scheduled Steam update checks that it is limited to 2 hours minimum between checks due to caching. The owner is making changes to the API to account for the higher load.
This update fixes an important issue that was causing backups to appear successful, but skipped needed files that were in use. The logic was adjusted so the backup will report a failure and recommend the game server to be stopped while performing backups if the issue persists. Please be sure to run a fresh backup after applying this release to ensure you have a good backup!
A note on ARM64 support
ARM64 builds are going to be stalled for roughly another week while we are doing some infrastructure upgrades, but once that’s done they’ll be much more in-step with the rest of AMP. We’ll likely do another update when that happens just to make sure everything is in-step. We’re also putting a new process in to allow for development ARM64 builds the same as there are development x86_64 builds.
Folia Support
We also added support for Folia Minecraft servers. This is a very early version that allows for very large Minecraft servers (200-300 players!) on one machine. This is not one that should be used as a production Minecraft server due to the anticipated bugs and lack of mod support. But it can be a fun one to experiment with pushing the limits on your server! Visit their website for further details on proper use.
Note that Folia is intended for powerful systems with at least 16 cores, and is unlikely to yield significant performance improvements on regular systems.
Bug Fixes and Improvements
Revert backup retry logic. Backups now fail if files are in use and cannot be saved.
Add Folia server support to Minecraft module. This is an alpha server type that is not recommended for most server setups. Use at your own risk.
Clear the Minecraft user list on server startup to account for server crashes showing players still connected.
Minecraft user join properly checks if a user is already connected to avoid duplicated scheduler triggers.
Add NeoForge TPS command handling.
Fix an issue where player join doesn’t trigger for Minecraft users depending on the console output ordering.
Adjust error handling to skip trivial network errors.
This is a minor patch that you only need to upgrade the instance that is impacted by one of these issues. Or to get rid of the update notification because it drives you nuts to know you’re not on the latest version.
Fixed Neoforge TPS command. I apologize! I thought I tested this, but misremembered testing another fix.
Stored SteamCMD credentials should be handled properly for enterprise users. There were issues with improperly prompting during scheduled updates and a few other scenarios.
Adjusted the SteamCMD Password prompt to be a standard password and not one that requires generating or meeting certain password requirements.
Fixed possible null reference exception on BattlEye RCON when the app fails to start.