Setting Nodes¶
Note
Any node with a ‘*’ at the end of it is a wild card and using that will make all permissions nodes in that section equal to the value set, treat it like parent inheritance.
Note
To access lets say Privacy.AllowAnalytics of Privacy Nodes we would use “Settings.Core.Privacy.AllowAnalytics” as a string. See the Example below.
1# We are going to access Privacy.AllowAnalytics.
2# ... assume we created our Bridge object and API Params to login.
3import ampapi
4node = "Settings.Core.Privacy.AllowAnalytics"
5res = ADSModule.set_instance_config(instance_name="AMPInstance01", setting_node= node, value= True)
6print(res) # This should be an ActionResult class which we can see the results via its `__repr__` definition.
Note
Here’s another example.. lets say we want InstanceManagement.StopInstances of InstanceManagement Nodes we would use “ADS.InstanceManagement.StopInstances” as a string. See the Example below.
1# We are going to access InstanceManagement.StopInstances.
2# ... assume we created our Bridge object and API Params to login.
3import ampapi
4node = "ADS.InstanceManagement.StopInstances"
5res = ADSModule.set_instance_config(instance_name="AMPInstance01", setting_node= node, value= True)
6print(res) # This should be an ActionResult class which we can see the results via its `__repr__` definition.
Settings Branding Nodes¶
Settings External_Services Nodes¶
- Name: Email ‘From’ address
- Description: The address used for outgoing emails.Node: EmailSenderPlugin.SMTP.EmailFrom
- Name: Pushbullet Access Token
- Node: WebRequestPlugin.WebhookLogins.PushbulletAccessToken
- Name: SMTP Password
- Description: If you’re using GMail - you will need to request an [application specific password](https://security.google.com/settings/security/apppasswords) to send emails via AMP.Node: EmailSenderPlugin.SMTP.Password
- Name: SMTP Server Address
- Node: EmailSenderPlugin.SMTP.Host
- Name: SMTP Server Port
- Node: EmailSenderPlugin.SMTP.Port
- Name: SMTP Username
- Node: EmailSenderPlugin.SMTP.Username
- Name: Use SSL for SMTP
- Node: EmailSenderPlugin.SMTP.UseSSL
Settings File_Manager Nodes¶
- Name: Enable SFTP
- Description: Whether or not SFTP is enabledNode: FileManagerPlugin.SFTP.SFTPEnabled
- Name: Enable SFTP Compression
- Description: Compression increases transfer speeds at the expense of higher CPU usage.Node: FileManagerPlugin.SFTP.EnableCompression
- Name: Enable Websocket Uploads (Experimental)
- Description: Use websockets to perform file transfers. Faster, but may cause issues with certain reverse proxy setups.Node: FileManagerPlugin.SFTP.EnableWebsocketUploads
- Name: Enable direct file transfers
- Description: Bypasses the API for file transfers. A restart of AMP is required for this setting change to take effect.Node: FileManagerPlugin.FileManager.FastFileTransfers
- Name: File Manager Base Path
- Node: FileManagerPlugin.FileManager.BasePath
- Name: SFTP Port
- Description: The port number the SFTP server listens onNode: FileManagerPlugin.SFTP.SFTPPortNumber
- Name: Virtual Directories
- Description: Additional directories to show up as shortcuts inside the file managerNode: FileManagerPlugin.FileManager.AdditionalVirtualDirectories
Settings Instance_Deployment Nodes¶
- Name: Application Port Ranges
- Description: List of ports that can be used by AMP and application servers. Specify port ranges by separating the upper and lower bounds using a colon (e.g. 25565:25665). These ports must not be used by other services outside of AMP.Node: ADSModule.Network.AppPortInclusions
- Name: Automatically reactivate instances
- Description: If an instance fails to start due to a licence failure, ADS will attempt to automatically reactivate it.Node: ADSModule.ADS.AutoReactivate
- Name: Autostart Instances
- Description: When ADS starts, automatically start any instances that should be run on-boot if they’re not already running.Node: ADSModule.ADS.AutostartInstances
- Name: Base URL
- Description: The base URL that instances on this ADS installation should use when generating links to this host. This is used for things like the AMP web interface, SFTP and the AMP API.Node: ADSModule.Network.BaseURL
- Name: Configuration Repositories
- Description: Sources of git repositories to fetch deployment templates from. Use of third party sources is unregulated and entirely at your own risk.Node: ADSModule.ADS.ConfigurationRepositories
- Name: Configure for Traefik
- Description: Apply Traefik labels to docker instances. (Experimental!)Node: ADSModule.Network.UseTraefik
- Name: Create in Docker Containers
- Description: Creates all new instances inside Docker containers transparently.Node: ADSModule.Defaults.UseDocker
- Name: Create local instances
- Description: If disabled, this ADS instance will only pass provision requests to other ADS instances and never create instances locally.Node: ADSModule.Limits.CreateLocalInstances
- Name: Create shared instances
- Description: Created instances use shared AMP core data rather than individual copies.Node: ADSModule.Defaults.CreateAsShared
- Name: Default AMP IP Binding
- Description: Which IP address new AMP instances should use by default.Node: ADSModule.Network.DefaultIPBinding
- Name: Default Application IP Binding
- Description: Which IP address applications deployed by AMP should use by default.Node: ADSModule.Network.DefaultAppIPBinding
- Name: Default Community Discord
- Description: A link to a Discord invite to join a community discord server if not specified for a given instanceNode: ADSModule.Community.DiscordURL
- Name: Default Community Display Name
- Description: The name to display for the community pages if not specified for a given instanceNode: ADSModule.Community.CommunityDisplayName
- Name: Default Community URL
- Description: The URL to use for the community pages if not specified for the instanceNode: ADSModule.Community.CommunityURL
- Name: Default Mount Bindings
- Description: Default container mount bindings to be applied to all new instances when using containers. Use templates {{InstanceName}} or {{InstanceId}} to insert the instance name or ID into the path. It is recommended that the host and container path are the same where possible. The ‘amp’ user must have full read/write access to these paths on the host system.Node: ADSModule.Defaults.DefaultMountBindings
- Name: Default Settings
- Description: Default settings to be applied to all new instances. You can find the Node for any given setting by turning on the [Show development information](setting:Core.Monitoring.ShowDevInfo) setting.Node: ADSModule.Defaults.DefaultSettings
- Name: Default auth server
- Description: The URL of the authentication server to be used by new instancesNode: ADSModule.Defaults.DefaultAuthServerURL
- Name: Default post-create action
- Description: What should the application do by default in newly created instances.Node: ADSModule.Defaults.DefaultPostCreate
- Name: Default release stream
- Description: Which release stream to use by default when creating or updating instancesNode: ADSModule.Defaults.DefaultReleaseStream
- Name: Docker External IP
- Description: Which IP AMP should report for instances created within Docker when no specific IP is specifiedNode: ADSModule.Network.DockerExternalIPBinding
- Name: Enable Community Pages
- Description: Whether or not to enable the community pages feature. This allows users to share their instances with others.Node: ADSModule.Community.EnableCommunityPages
- Name: Exclude new instances from firewall
- Description: If enabled, new instances will not have their required ports added to the system firewall by default.Node: ADSModule.Defaults.ExcludeFromFirewall
- Name: Geographic Location
- Description: The geographic location of this ADS instance. Only used for display purposesNode: ADSModule.Community.GeographicLocation
- Name: Ignore Version Compatibility
- Description: When enabled, ADS will not verify that the instance and ADS are the same version. This will frequently cause compatibility issues.Node: ADSModule.ADS.IgnoreCompatibility
- Name: Instance Hostname
- Description: The hostname that instances on this ADS installation should use displaying a hostname for applications inside instancesNode: ADSModule.Network.InstanceHostname
- Name: Instance Start Delay
- Description: When bulk starting instances, how many milliseconds delay should be inserted between each instance start?Node: ADSModule.ADS.InstanceStartDelay
- Name: Licence Key
- Description: The licence key to use for newly created instancesNode: ADSModule.Defaults.NewInstanceKey
- Name: Metrics Server Port
- Description: The port used by ADS to receive metrics data from instancesNode: ADSModule.Network.MetricsServerPort
- Name: Mode
- Description: ModeNode: ADSModule.ADS.Mode
- Name: Propagate auth server to targets
- Description: If enabled, the Default Auth Server URL will be copied to all targets when they are added to ADSNode: ADSModule.Defaults.PropagateAuthServer
- Name: Propagate repositories
- Description: If enabled, the list of app repositories will be copied to all targetsNode: ADSModule.Defaults.PropogateRepos
- Name: Remote Instance Access Mode
- Description: Which [access mode](https://discourse.cubecoders.com/docs?topic=2268&utm_source=ampsettings&utm_content=accessmode) ADS should use when managing remote instances.Node: ADSModule.Network.AccessMode
- Name: Service Limit
- Description: The maximum number of instances that may exist within this ADS targetNode: ADSModule.Limits.InstanceLimit
- Name: Show deprecated applications
- Description: If enabled, it will be possible to create new instances with legacy or deprecated configurations.Node: ADSModule.ADS.ShowDeprecated
- Name: Traefik domain name
- Description: The wildcard domain to be used to access Traefik managed instances. Must take the format of .domain.tldNode: ADSModule.Network.TraefikDomainWildcard
- Name: Traefik network name
- Description: The docker network to be used for Traefik managed instances.Node: ADSModule.Network.TraefikNetworkName
- Name: Use Host Networking for new Containers
- Description: Binds docker containers directly to the host network adapter by default. Changing this option requires additional configuration changes for new AMP instances to function correctly.Node: ADSModule.Network.UseDockerHostNetwork
Settings Login Nodes¶
- Name:
- Node: Core.Login.UseAuthServer
- Name:
- Node: Core.Login.AuthServerURL
Settings Security_And_Privacy Nodes¶
- Name:
- Node: Core.Security.EnablePassthruAuth
- Name:
- Node: Core.Privacy.PrivacySettingsSet
- Name: Allow Browser Analytics
- Description: Allows analytics to be included in the AMP frontend. Analytics are hosted by CubeCoders and no data is sent to third parties. [Privacy Policy](https://cubecoders.com/PrivacyPolicy)Node: Core.Privacy.AllowAnalytics
- Name: Allow archive operations
- Description: Allow folders to be archived, and archives to be extractedNode: FileManagerPlugin.Security.AllowArchiveOperations
- Name: Allow extension changes
- Description: Allowing extension changes could let a user upload a file as one type, and change it laterNode: FileManagerPlugin.Security.AllowExtensionChange
- Name: Allow user-defined passwords
- Description: For password fields, allow the use of user-defined passwords rather than being limited to randomly generated ones only. Passwords will be subject to strength requirements and should not be shared amongst other services.Node: Core.Security.AllowUserPasswords
- Name: Auto-report errors
- Description: Automatically sends anonymous error report to CubeCoders if AMP encounters an error from which it can’t recover.Node: Core.Privacy.AutoReportFatalExceptions
- Name: Downloadable Extensions
- Description: Which file extensions can be downloaded via the file manager or via SFTPNode: FileManagerPlugin.Security.DownloadableExtensions
- Name: Enhanced Licence Reporting
- Description: If enabled, AMP will include instance names and other information in licence reports. This is useful for providers who wish to track usage of their licences.Node: Core.Privacy.EnhancedLicenceReporting
- Name: Honeypot SFTP Login Attempts
- Description: Automatically bans IP addresses from SFTP logins if they try to login as [common usernames](https://discourse.cubecoders.com/t/honeypot-usernames/2296?utm_source=ampsettings&utm_content=honeypot). Make sure you’re not using any of these names as an AMP username to login.Node: FileManagerPlugin.Security.HoneypotSFTPLogins
- Name: Include exception data in API calls
- Description: If enabled, AMP will include exception data in API responses. This is useful for debugging but may expose sensitive information.Node: Core.Security.IncludeExceptionDataInAPI
- Name: Login rate-limit attempts
- Description: If more than this number attempts occurs within the rate-limit time window, the IP address will be unable to make further login requestsNode: Core.Security.AuthFailureAttemptsInWindow
- Name: Login rate-limit time window
- Description: How many minutes the sliding window should be to check for authentication failures.Node: Core.Security.AuthFailureTimeWindow
- Name: Public Key SFTP logins only
- Description: Disables password-based authentication for SFTP and requires that users have added an RSA public key to their profile.Node: FileManagerPlugin.Security.PublicKeyOnly
- Name: Rate-limit Logins
- Description: If enabled - login attempts will be rate limited after too many failures. If you’re using external tools such as reverse proxies to handle rate limiting you may wish to disable this from within AMPNode: Core.Security.RateLimitLogins
- Name: Require Session IP Stickiness
- Description: When enabled, web sessions are tied to the IP address that initiated them. This improves security, but can cause problems with fast changing/dynamic routing IPs (such as when using Cloudflare and other cloud proxy services)Node: Core.Security.RequireSessionIPStickiness
- Name: Require Token IP Stickiness
- Description: When enabled, ‘Remember Me’ tokens are tied to the IP address that initiated them. This improves security, but can cause problems with fast changing/dynamic routing IPs (such as when using Cloudflare and other cloud proxy services)Node: Core.Security.RequireTokenIPStickiness
- Name: Restrict Archive Extractions
- Description: Only allow extensions in the approved ‘upload’ list to be extracted from archivesNode: FileManagerPlugin.Security.OnlyExtractUploadableExtensionsFromArchives
- Name: Restrict downloadable extensions
- Description: Whether or not the types of files that can be downloaded should be restrictedNode: FileManagerPlugin.Security.RestrictDownloadExtensions
- Name: Restrict uploadable extensions
- Description: Whether or not the types of files that can be uploaded should be restrictedNode: FileManagerPlugin.Security.RestrictUploadExtensions
- Name: Session Timeout
- Description: Sessions will timeout after this length of inactivity.Node: Core.Privacy.SessionTimeout
- Name: Two Factor Authentication
- Description: Server-wide two-factor policyNode: Core.Security.TwoFactorMode
- Name: Uploadable Extensions
- Description: Which file extensions can be Uploaded via the file manager or via SFTPNode: FileManagerPlugin.Security.UploadableExtensions
Settings System_Settings Nodes¶
- Name:
- Node: Core.AMP.MapAllPluginStores
- Name: AMP Theme
- Description: Affects all users - change AMPs visual appearance with different themes.Node: Core.AMP.Theme
- Name: API rate limit
- Description: The number of requests per second to allow the webserver to respond to (AMP must be restarted for changes to this setting to apply)Node: Core.Webserver.APIRateLimit
- Name: Allow GET method for API
- Description: Allows the GET method to be used for API requests. Useful for debugging and development but should not be used in production (AMP must be restarted for changes to this setting to apply)Node: Core.Webserver.AllowGETForAPIEndpoints
- Name: Approved Reverse Proxy Hosts
- Description: IP addresses of authorized reverse proxies for which the X-Forwarded-For header will be honoured.Node: Core.Webserver.ReverseProxyHosts
- Name: CORS Origin
- Description: The origin domain to allow CORS requests from. Should be the URL of your controller in controller/target setups. See [MDN CORS Reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)Node: Core.Webserver.CORSOrigin
- Name: Console Scrollback Period
- Description: How many minutes into the past should the console show when a user logs in. (Affects all users)Node: Core.Monitoring.ConsoleScrollback
- Name: Disable Compression
- Description: Disable compression of responses from the webserver. (AMP must be restarted for changes to this setting to apply)Node: Core.Webserver.DisableCompression
- Name: Enable Fetch/Post Endpoints
- Node: Core.Webserver.EnableFetchPostEndpoints
- Name: Enable Websockets
- Node: Core.Webserver.EnableWebSockets
- Name: First Start
- Node: Core.AMP.FirstStart
- Name: Full process metrics
- Description: Gathers extended information for running AMP processesNode: Core.Monitoring.FullMetricsGathering
- Name: Ignore SMT Cores
- Description: If enabled, SMT cores (Hyperthreading, etc) are ignored when calculating CPU usage of processes. E.g. when disabled a quad core with hyperthreading is treated like an 8 core system, when enabled it’s treated like a 4 core system.Node: Core.Monitoring.IgnoreSMTCores
- Name: Last Special Notice ID
- Node: Core.AMP.LastSpecialNoticeID
- Name: Logging Level
- Description: What level of logging should be used by AMP. The selected log level and all higher levels will be logged.Node: Core.Monitoring.LogLevel
- Name: Metrics polling interval
- Description: How frequently AMP should push metrics data to connected sessionsNode: Core.Monitoring.MetricsPollInterval
- Name: Metrics reporting interval
- Description: How frequently AMP should report metrics data to the controllerNode: Core.Monitoring.MetricsReportingInterval
- Name: Multicore CPU usage calculation
- Description: If enabled, AMP takes into account the number of CPU cores when calculating total CPU usage, otherwise it calculates assuming one core. A restart is required after changing this setting for it to take effect.Node: Core.Monitoring.UseMulticoreCPUCalc
- Name: Previous Version Installed
- Node: Core.AMP.PreviousVersion
- Name: Safe Mode
- Node: Core.AMP.SafeMode
- Name: Schedule Offset
- Description: Offset in seconds to advance or delay execution of scheduled tasks that use time-based triggers.Node: Core.AMP.ScheduleOffsetSeconds
- Name: Scheduler Timezone
- Description: Which time zone to use for the scheduler. Does not affect other AMP componentsNode: Core.AMP.SchedulerTimezoneId
- Name: Show development information
- Description: When enabled, the node names for settings will be visible under each setting. Useful for configuration templates. Applies to all users.Node: Core.Monitoring.ShowDevInfo
- Name: Show support on status
- Description: Affects all users - whether or not the Status tab should show the ‘Help’ buttonNode: Core.AMP.ShowHelpOnStatus
- Name: Shut down properly
- Node: Core.AMP.ShutdownProperly
- Name: Startup Mode
- Description: What AMP should do when it startsNode: Core.AMP.AppStartupMode
- Name: Store IPs as MACs
- Description: Map selected IP addresses to their associated MAC addresses when saving configuration files. Handles dynamic/varying IP address situations.Node: Core.AMP.StoreIPAddressesAsMACAddresses
- Name: User Friendly process metrics
- Description: Reports memory usage only as physical RAM usage, ignoring swap usage. Doesn’t apply when full process metrics is enabled.Node: Core.Monitoring.ReportPhysicalMemoryAsTotal
- Name: Using Reverse Proxy
- Description: Whether or not AMP is configured to be run behind a reverse proxyNode: Core.Webserver.UsingReverseProxy
Settings Updates Nodes¶
- Name: Automatic retry count
- Description: How many times AMP should attempt to automatically retry failed updates if ‘Automatically retry on failure’ is enabled.Node: steamcmdplugin.SteamUpdateSettings.AutomaticRetryLimit
- Name: Automatically retry on failure
- Description: Some applications require multiple attempts at an update to actually update correctly (notably those that use App ID 90). If enabled AMP will retry updates on certain error conditions that would normally indicate failure.Node: steamcmdplugin.SteamUpdateSettings.AutomaticallyRetryOnFailure
- Name: Beta Password
- Description: The password to be used for participating in betas via SteamCMD if required.Node: steamcmdplugin.SteamUpdateSettings.SteamCMDBetaPassword
- Name: Keep SteamCMD scripts
- Description: If enabled, AMP will keep the SteamCMD scripts it uses to update applications. This can be useful for debugging purposes.Node: steamcmdplugin.SteamUpdateSettings.KeepSteamCMDScripts
- Name: Show download speed in bits
- Description: If enabled, download speeds will be shown in bits per second instead of bytes.Node: steamcmdplugin.SteamUpdateSettings.ShowDownloadSpeedInBits
- Name: Steam workshop items
- Description: Item IDs for steam workshop items that should be downloaded/updated when the main application is updated. One per line. Do not use punctuation to separate them.Node: steamcmdplugin.SteamWorkshop.WorkshopItemIDs
- Name: Throttle Downloads
- Description: Limits downloads to a given speed (In megabits/sec) to avoid disrupting other applications. 0 for unlimited.Node: steamcmdplugin.SteamUpdateSettings.ThrottleDownloadSpeed
- Name: Update check method
- Description: Which method AMP should use to check for application updates, by either comparing the build timestamps, or by comparing the build ID from the application manifest.Node: steamcmdplugin.SteamUpdateSettings.UpdateCheckMethod
- Name: Validate SteamCMD Downloads
- Description: If enabled, SteamCMD will validate the game files. Disabling can decrease update times and is required for some modded game servers. Requires an instance restart.Node: steamcmdplugin.SteamUpdateSettings.SteamCMDValidateDownloads