What you need
- CubeCoders AMP, version 2.4 or newer, reachable over the network from the computer running Stream Deck. Either an ADS controller, which shows you every instance across all of its targets, or a single standalone instance.
- Stream Deck software 7.1 or newer, on Windows 10+ or macOS 12+.
- An AMP user account for the plugin. Make a dedicated one rather than reusing your own.
Any Stream Deck works: the original, Mini, XL, Stream Deck +, Neo, and Stream Deck Mobile on a phone or tablet.
1. Install the plugin
Install it from the Elgato Marketplace. Stream Deck loads it automatically; there is nothing to configure on disk. The current release is 1.1.8, for Stream Deck 7.1 or later on Windows and macOS.
2. Create an AMP user for the plugin
You can use your own admin account, but a dedicated user is better. It keeps the plugin's access limited, and it makes AMP's audit log show clearly what came from the Stream Deck.
In AMP, go to Configuration → User Management and create a user, for example
streamdeck. Then in Configuration → Role Management, give its role:
| Permission | Needed for |
|---|---|
| Access to the instances you want on the deck | everything; without it the plugin can see a server but not control it |
| Start, Stop, Restart, Kill, Sleep | the power keys |
| Update | the Update key |
| Console access | Console Command keys |
| Backup creation | the Backup key |
| Manage instances | the "AMP instance process" commands, if you use them |
The one that catches people out: instance access is granted per instance, not once globally. If a key shows "Login ignored (access?)" or "No instance access", that server is missing from the role's instance list. Everything else can look fine while this is wrong, because the controller-level tiles still work.
If your AMP account uses two-factor authentication, that is fine. You will enter a code once, and only once.
3. Add your first key and connect
Drag an Instance key onto your Stream Deck from the AMP Server Control category, then open its settings. Expand Connections at the bottom. There are three connection slots, A, B and C, shared by every AMP key you ever create, so you only fill this in once. Complete slot A:
| Field | What to put in it |
|---|---|
| A: Name | Anything you like. It appears on tiles, for example Game servers |
| A: AMP URL | Your AMP address including the port, for example http://amp.example.com:8080 |
| A: Username | The AMP user from step 2 |
| A: Password | That user's password |
| A: 2FA code | Only if the account uses two-factor. A current code from your authenticator |
| A: Saved login | Leave empty. The plugin fills this in for you |
| A: Self-signed cert | Tick only if your AMP uses HTTPS with a certificate your computer does not trust |
| Refresh every | How often tiles update, 5 to 60 seconds. 10 is a good default |
The key connects within a few seconds. Instance then lists every server the account can see, grouped by target if you run a controller. Pick one.
About that password
The plugin signs in once, then asks AMP for a long-lived login token and stores it in Saved login. Your 2FA field is cleared at that point, so you never enter a code again. The password stays stored because AMP asks for a separate sign-in when a key talks to an individual server.
Everything is held by the Stream Deck app's own settings store on your computer, and is only ever sent to the AMP address you typed. Nothing goes anywhere else.
If you change the account's password in AMP later, the saved token stops working. The key will say "Password needed"; clear Saved login, retype the password, and it recovers.
4. The four actions
Instance
A live tile for one server. It shows the game, the server's name, its state, CPU and RAM while it is running, and how many players are online when the game reports it. The colour bar and the dot follow AMP's state, so Starting, Running, Stopping, Sleeping, Failed and a stopped instance all look different at a glance.
| Setting | Options |
|---|---|
| Short press | Open the instance detail page (default), Open the instance in AMP, Refresh the tile |
| Hold 2 s to | Nothing (default), Start if stopped, stop if running, Start the server, Stop the server, Restart the server, Kill the server |
Leave the key's title empty. The tile draws its own text.
Instance Command
One key, one command. Choose from:
- Server: start, stop, restart, start-if-stopped-stop-if-running, kill, sleep, update, take a backup
- AMP instance process: start, stop or restart the AMP instance itself, rather than the game inside it
Confirm by decides how careful the key is:
| Option | Behaviour |
|---|---|
| Holding the key for 2 seconds | The default. A hint appears, and the command runs only if you keep holding |
| Pressing twice within 3 seconds | First press hints, the second runs it |
| Nothing, run immediately | For keys you trust |
The key greys out when the command does not apply, for example Start while the server is already running. While a command runs the key shows its progress, then the result: done, running, stopped, updated, or the exact error AMP gave.
Update is worth knowing about. It stops the server, waits until AMP confirms it has stopped, updates, then starts it again only if it was running beforehand. Updating a server while it is still running patches game files underneath the live process, which leaves AMP and the real server disagreeing about what is running. This plugin never does that, and it will abort rather than update a server it could not confirm as stopped.
Backup title accepts {date} and {name}, so Stream Deck {date} produces titles you can find later.
Console Command
Sends any console line to a server, exactly as if you typed it into AMP's console tab. Put the line in
Command, for example say Restarting in 5 minutes. The server has to be running.
Confirmation is optional and off by default.
Controller Overview
Shows how many servers are running out of the total, how many players are online across everything, and how many servers have failed. Press it to open a page listing every instance.
5. The generated pages
Two pages are built for you and installed the first time you use them. Stream Deck asks permission to install them; accept it.
The instance list opens from a Controller Overview key: one live tile per server, a Back key, and previous and next keys when you have more servers than keys. Press any server to open its detail page.
The detail page opens from a list tile or from any Instance key. It gives you, on one screen:
- the server's name and state, uptime, and player names where the game reports them
- CPU, RAM and disk use
- live CPU, RAM and player graphs covering the last 30 minutes
- the address and port players connect to
- Open in AMP, and Refresh
- hold-to-confirm Start, Stop, Restart, Kill, Sleep, Update and Backup
Back returns you to the list, or to your own page if you came straight from an Instance key. Layouts are included for every Stream Deck model, so a Mini gets a smaller arrangement of the same information.
6. Stream Deck + and Multi Actions
On a Stream Deck +, an Instance key works as a dial. Rotate it to switch between CPU, RAM and players; push it or tap the screen to open that server in AMP. The detail page uses all three dials at once.
Instance Command and Console Command work inside Multi Actions. Inside one they run immediately when their step is reached, without waiting for a confirmation you cannot give. That makes sequences easy: warn players on the console, wait, then restart.
More than one AMP
Use connection slots B and C for other AMP installations, then pick the slot on each key. Each slot can be a controller or a standalone instance.
Troubleshooting
Problems are reported on the key itself, so you can see at a glance which server is unhappy and why.
| The key says | What it means |
|---|---|
| set up in key settings | No connection details yet. Open the key's settings and fill in Connections |
| connecting… | Talking to AMP. If it stays like this for more than a few seconds, check the URL |
| pick an instance | Connected, but this key has no server selected |
| instance not found | The selected server no longer exists, or the account lost access to it |
| Not an AMP URL | Something answered, but it was not AMP. Check the port; AMP is usually 8080 |
| DNS failed | The hostname does not resolve. Check the spelling, or use an IP address |
| Connection refused | Nothing is listening there. Check the port, and that AMP is running |
| Host unreachable | No network route. Check firewalls and VPNs |
| Timeout | AMP did not answer in time. Usually a slow or blocked network path |
| TLS certificate | HTTPS with a certificate your computer does not trust. Tick Self-signed cert |
| Login refused | AMP rejected the sign-in. Check the username and password |
| Password needed | The saved token expired, usually after a password change. Retype the password |
| 2FA code needed | Put a current authenticator code in the 2FA code field |
| No instance access / Login ignored (access?) | The AMP role has no access to that specific server. See step 2 |
| Account disabled / Password change required | Sort the account out in AMP first |
| Login backed off | Too many failed sign-ins in a row. It retries by itself, and pressing the key retries at once |
| Crashed on start | The server started and then exited. Its own console will say why |
| Did not stop; update aborted | The server would not stop, so the update was refused rather than risk a broken install |
| press an overview key | A page key is sitting on a normal page. These belong on the generated pages |
Two general tips:
- Tiles refresh on a shared timer, so one AMP call serves every key on that connection. Setting Refresh every lower makes tiles livelier at the cost of more requests.
- Only one command runs per server at a time. Press a second key while one is working and it will say busy.
Frequently asked
Does it work with any game?
Yes. Servers are discovered from AMP itself, so anything AMP can run appears automatically, including new ones you add later. Player counts and player names depend on what each game reports to AMP; some report both, some only a count, some neither.
Do I need to open a port or install anything on the server?
No. The plugin talks to AMP's normal web address, the same one you use in a browser.
Does it work over the internet or a VPN?
Yes, wherever AMP is reachable from your computer. A VPN or a mesh network such as Tailscale works fine.
Is my password sent anywhere else?
No. It goes only to the AMP address you enter, and is stored by the Stream Deck app on your own computer.
Is this made by CubeCoders?
No. It is an independent plugin and is not affiliated with or endorsed by CubeCoders.
Something is still wrong.
Email support@teatimeservers.ca with what the key says and what
you expected. The plugin also writes a log; on Windows it is under
%APPDATA%\Elgato\StreamDeck\Plugins\com.deaddesk.amp.sdPlugin\logs.