Skip to main content

Minecraft

@keeb/minecraftv2026.10.15.2· 7d agoBEHAVIORSWORKFLOWSSKILLSACCEPTED WARNINGS
01README

Minecraft server control + installer + metrics collection (https://github.com/keeb/swamp-minecraft)

02Behaviors2
@keeb/minecraft/serverv2026.10.15.2minecraft_server.ts

Global Arguments

ArgumentTypeDescription
sshHost?stringSSH hostname/IP (set via CEL from lookup model)
sshUser?stringSSH user (default 'root')
tmuxSession?stringtmux session name
serverDir?stringServer directory path
startScript?stringStart script relative to serverDir
logPath?stringPath to latest.log
serverName?stringResource instance name for writeResource
fn say(message?: string)
Broadcast a message to Minecraft players via the server console
ArgumentTypeDescription
message?stringMessage to broadcast
fn op(playerName?: string)
Grant operator status to a Minecraft player
ArgumentTypeDescription
playerName?stringPlayer name to op
fn deop(playerName?: string)
Revoke operator status from a Minecraft player
ArgumentTypeDescription
playerName?stringPlayer name to deop
fn drawImage(imagePath?: string, width?: number, anchorPlayer?: string, x?: number, y?: number, z?: number, facing?: enum, dimension?: string, orientation?: enum, distance?: number, alphaThreshold?: number, name?: string, packFormat?: number)
Draw a PNG into the world as block art (concrete/wool/terracotta) via a generated datapack function, anchored on a player or fixed coordinates
ArgumentTypeDescription
imagePath?stringLocal path to a PNG (transparent pixels are skipped)
width?numberWidth in blocks; height keeps the image aspect ratio
anchorPlayer?stringAnchor on this online player's current position/facing (overrides x/y/z/facing/dimension)
x?numberAnchor x
y?numberAnchor y
z?numberAnchor z
facing?enumDirection the viewer at the anchor looks
dimension?stringDimension id
orientation?enumUpright wall in front of the anchor, or flat on the ground
distance?numberBlocks between the anchor and the art
alphaThreshold?numberAverage alpha below this leaves the block untouched
name?stringFunction name: swampdraw:<name> (re-runnable later)
packFormat?numberDatapack format; 0 = detect from the server jar's version.json
fn warnShutdown()
Broadcast a shutdown warning to Minecraft players and wait 30 seconds
fn stopMinecraftServer()
Gracefully stop a Minecraft server running in a tmux session via SSH, then wait for java to exit
fn status()
Query Minecraft server status: player count and names
fn startMinecraftServer()
Start a Minecraft server in a tmux session via SSH on a running VM
fn collectMetrics()
Collect player metrics and write Prometheus textfile + JSON log

Resources

server(infinite)— Minecraft server operation result
metrics(infinite)— Minecraft player metrics collection result
drawing(infinite)— Block-art image drawn into the world by drawImage
@keeb/minecraft/installerv2026.10.15.2minecraft_installer.ts

Global Arguments

ArgumentTypeDescription
sshHoststringSSH hostname/IP (set via CEL from fleet)
sshUser?stringSSH user
fn installDeps(vmName: string, javaPackage?: string)
Install required packages (JRE, tmux, bash, curl, unzip) on the VM
ArgumentTypeDescription
vmNamestringVM name (used as resource instance name)
javaPackage?stringAlpine JRE package (e.g. openjdk25-jre for MC 26.x packs)
fn upload(vmName: string, localPath: string)
Upload a server pack zip to the VM via rsync
ArgumentTypeDescription
vmNamestringVM name (used as resource instance name)
localPathstringLocal path to the server pack zip
fn extract(vmName: string, remotePath: string, serverDir?: string)
Extract server pack zip, discover modloader config and start script
ArgumentTypeDescription
vmNamestringVM name (used as resource instance name)
remotePathstringRemote path to the server pack zip
serverDir?stringDirectory to extract into
fn installFtb(vmName: string, packId?: string, versionId?: string, serverDir?: string)
Install an FTB modpack server via FTB's server installer (for packs that don't publish a server zip), using system Java
ArgumentTypeDescription
vmNamestringVM name (used as resource instance name)
packId?stringFTB modpack ID (required)
versionId?stringFTB version ID (empty = latest release)
serverDir?stringDirectory to install into
fn configure(vmName: string, serverDir: string, jvmMemory?: string)
Configure JVM memory, EULA, and server variables
ArgumentTypeDescription
vmNamestringVM name (used as resource instance name)
serverDirstringServer directory
jvmMemory?stringJVM memory (e.g. 10G)

Resources

ftbInstall(infinite)— FTB server installer result (pack/version installed)
deps(infinite)— Package install result
upload(infinite)— Server pack upload result
server(infinite)— Discovered server config (modloader, start script, paths)
config(infinite)— Server configuration result (JVM, EULA)
03Workflows7
@keeb/start-minecrafte85aaef3-20fd-4cf9-b255-e9cf895d4066

Start a Minecraft server by VM name

mainAuth, start VM via fleet, then start Minecraft server
1.authkeebDev02.auth— Authenticate with Proxmox via keebDev02
2.ensure-vm-runningfleet.start— Start VM if stopped and wait for IP
3.start-minecraftminecraftGame.startMinecraftServer— Start Minecraft server and wait for ready
4.annotategrafanaHub.createAnnotation— Create Grafana annotation
@keeb/stop-minecraft4e11e3ef-8854-4d31-a980-fd572f97c3e0

Stop a Minecraft server by VM name

mainAuth, look up VM via fleet, warn players, stop Minecraft, stop VM
1.authkeebDev02.auth— Authenticate with Proxmox via keebDev02
2.lookupfleet.lookup— Find VM by name and populate vmid/IP
3.warn-playersminecraftGame.warnShutdown— Broadcast shutdown warning to Minecraft players
4.stop-minecraftminecraftGame.stopMinecraftServer— Gracefully stop Minecraft server process
5.stop-vmfleet.stop— Shut down the VM
6.annotategrafanaHub.createAnnotation— Create Grafana annotation
@keeb/reboot-minecraft7d166515-1eb3-4128-9c64-3249bc3cd645

Reboot a Minecraft server by VM name

mainAuth, gracefully stop Minecraft, stop VM, restart and start Minecraft
1.authkeebDev02.auth— Authenticate with Proxmox via keebDev02
2.lookupfleet.lookup— Find VM by name and populate vmid/IP
3.warn-playersminecraftGame.warnShutdown— Broadcast shutdown warning to Minecraft players
4.stop-minecraftminecraftGame.stopMinecraftServer— Gracefully stop Minecraft server process
5.stop-vmfleet.stop— Shut down the VM
6.ensure-vm-runningfleet.start— Start VM and wait for IP
7.start-minecraftminecraftGame.startMinecraftServer— Start Minecraft server and wait for ready
8.annotategrafanaHub.createAnnotation— Create Grafana annotation
@keeb/status-minecraftb1dc5f5d-baec-4b33-818a-59df0501469b

Check Minecraft server status by VM name

mainAuth, lookup VM IP, then check Minecraft server status
1.authkeebDev02.auth— Authenticate with Proxmox
2.lookup-vmfleet.lookup— Look up VM IP from fleet
3.check-statusminecraftGame.status— Check Minecraft server status
@keeb/minecraft-install7469bfde-1b52-4b7f-a3a5-1aa8200077f0

Install and start a Minecraft server from a server pack zip on any VM

mainInstall deps, upload pack, extract, configure, start server
1.authkeebDev02.auth— Authenticate with Proxmox
2.lookup-vmfleet.lookup— Lookup target VM to populate fleet resource
3.install-depsminecraftInstaller.installDeps— Install JDK, tmux, bash, curl, unzip on the VM
4.upload-packminecraftInstaller.upload— Upload server pack zip to the VM
5.extract-packminecraftInstaller.extract— Extract server pack and discover modloader config
6.configure-serverminecraftInstaller.configure— Configure JVM memory, EULA, and server variables
7.start-serverminecraftGame.startMinecraftServer— Start the Minecraft server in a tmux session
8.enable-monitoringmonitoringAgent.enableTextfileCollector— Enable node-exporter textfile collector for metrics
@keeb/minecraft-install-ftb00ae2e00-9c10-4dd5-8924-0dc4238db6a8

Install an FTB modpack server (via FTB's server installer) on any VM — deps, install, EULA + JVM config. Start with start-minecraft.

mainInstall deps, run FTB installer, configure
1.authkeebDev02.auth— Authenticate with Proxmox
2.lookup-vmfleet.lookup— Lookup target VM to populate fleet resource
3.install-depsminecraftInstaller.installDeps— Install JRE, tmux, bash, curl, unzip on the VM
4.install-ftbminecraftInstaller.installFtb— Run FTB server installer (modloader + mods, system Java)
5.configure-serverminecraftInstaller.configure— Configure JVM memory, EULA
@keeb/collect-game-metricsd417e25d-e8df-468b-95f6-2d03739c82a8

Collect player metrics from all configured game servers

collectAuth, sync fleet, collect metrics from each game server
1.authkeebDev02.auth— Authenticate with Proxmox
2.sync-fleetfleet.sync— Sync all VMs into fleet (populates IPs)
3.collect-allthemonsallthemonsMinecraft.collectMetrics— Collect Minecraft player metrics from allthemons
4.collect-calamitycalamityTerraria.collectMetrics— Collect Terraria player metrics from calamity
5.collect-infinityinfinityMinecraft.collectMetrics— Collect Minecraft player metrics from infinity
6.collect-evolutionevolution-minecraft.collectMetrics— Collect Minecraft player metrics from evolution (FTB Evolution 2)
04Skills1
minecraft1 file
05Previous Versions9
2026.10.15.1

Added 1 workflows

2026.07.18.1
2026.05.25.1
2026.04.22.3
2026.04.22.2
2026.03.02.3
2026.03.02.2
2026.03.02.1
2026.02.27.1
06Stats
A
93 / 100
Downloads
59
Archive size
56.7 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License1/2partial

    no SPDX license declared

  • Verified public repository2/2earned

08Platforms
09Labels