Overview
The game-server endpoints, with a playground that sends real requests.
Each page carries the full request and response schema and a Try it panel that sends a real request to the live API with whatever key you paste in.
The playground is not a sandbox. A restart sent from this page restarts the real
server, and a delete deletes the real files.
Servers
Requires game-servers.read, or game-servers.manage to act.
GET /game-servers— list your game serversGET /game-servers/{id}— read one server with live statePOST /game-servers/{id}/power— start, stop, restart or killPOST /game-servers/{id}/command— send a console commandGET /game-servers/{id}/logs— read recent console outputPOST /game-servers/{id}/socket— websocket credentials for the console and file tail
Files
Requires game-servers.files.read, or game-servers.files.manage to write — see
Files for how paths, large transfers and remote downloads
work.
GET …/files— list a directoryGET …/files/stat— read one entry's metadataGET …/files/contents— read a filePUT …/files/contents— write a filePUT …/files/rename— rename or move entriesPOST …/files/copy— copy an entry beside itselfPOST …/files/delete— delete entriesPOST …/files/compress— compress into an archivePOST …/files/decompress— extract an archivePOST …/files/create-folder— create a directoryPOST …/files/chmod— change permissions
Transfers and remote downloads
GET …/files/download— get a direct download URLGET …/files/upload— get a direct upload URLPOST …/files/pull— download a URL onto the serverGET …/files/pull— list downloads in flightDELETE …/files/pull/{identifier}— cancel a download
Backups
Requires game-servers.backups.read, or game-servers.backups.manage to write.
Everything here finishes on the node after the response — see the notes on
each page. There is no delete: backups are removed in the portal only, so a
leaked key always leaves a server's restore points behind.
GET …/backups— list backupsGET …/backups/{backup}— poll one backupPOST …/backups— start a backupPOST …/backups/{backup}/restore— restore over the serverPOST …/backups/{backup}/lock— toggle the lockGET …/backups/{backup}/download— get a direct download URL
SSH
Requires game-servers.ssh.manage. Grants a shell on a container mounting the
server's data directory — see WebSockets for the
lighter-weight ways to watch a server.
GET …/ssh— read the current sessionPOST …/ssh— start a sessionDELETE …/ssh— stop the session
Mods
Requires game-servers.mods.read, or game-servers.mods.manage to change what
loads. One contract across every game with a mod manager — Arma Reforger, DayZ,
Minecraft and Rust — with meta.manager on each response naming the one that
answered, and so what an id looks like.
Except on Rust, where Oxide hot-loads, a change only takes effect on the next
start: each one reports restart_required, and restarting is
POST …/power.
GET …/mods— list what is installedGET …/mods/search— search the game's cataloguePOST …/mods/install— install a mod and its required dependenciesPOST …/mods/toggle— enable or disable one, keeping it installedPOST …/mods/uninstall— remove one
Settings
Requires game-servers.settings.read, or game-servers.settings.manage to
write. Two kinds, one ability pair: the egg's startup variables (player cap,
server name, the switches the panel exposes) and the game's own settings
files through the schema-driven editor.
Both write all-or-nothing, and both refuse a value by name rather than dropping it: a variable that is unknown or not editable, a setting the game locks, a port the server does not own. Passwords read back empty — they can be set, not read — and a save can carry the hashes from the read to be refused if someone changed a file in between.
GET …/startup— read the startup command and every variable, with its rulesPUT …/startup— change variablesGET …/settings— read the settings schema with current valuesPUT …/settings— change settingsGET …/scenarios— Arma Reforger: the scenarios the server can runGET …/scenario-rotation— Arma Reforger: read the scenario rotationPUT …/scenario-rotation— Arma Reforger: set the rotation; see Scenario rotation