minecraft-install

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

v1f23bdb317 steps

Steps

auth

Authenticate with Proxmox

keebDev02.auth
Configuration
apiUrl: https://10.0.0.4:8006
username: root
password: ${{ vault.get("proxmox-vault", "password") }}
realm: pam
node: keeb-dev-02
skipTlsVerify: true
lookup-vm

Lookup target VM to populate fleet resource

fleet.lookup

← depends on: auth (on succeeded)

Configuration
apiUrl: https://10.0.0.4:8006
ticket: ${{ model.keebDev02.resource.node.node.attributes.ticket }}
csrfToken: ${{ model.keebDev02.resource.node.node.attributes.csrfToken }}
node: keeb-dev-02
skipTlsVerify: true
install-deps

Install JDK, tmux, bash, curl, unzip on the VM

minecraftInstaller.installDeps

← depends on: lookup-vm (on succeeded)

Configuration
sshHost: ${{ model.fleet.resource.vm[inputs.vmName].attributes.ip }}
sshUser: root
upload-pack

Upload server pack zip to the VM

minecraftInstaller.upload

← depends on: lookup-vm (on succeeded)

Configuration
sshHost: ${{ model.fleet.resource.vm[inputs.vmName].attributes.ip }}
sshUser: root
extract-pack

Extract server pack and discover modloader config

minecraftInstaller.extract

← depends on: install-deps (on succeeded), upload-pack (on succeeded)

Configuration
sshHost: ${{ model.fleet.resource.vm[inputs.vmName].attributes.ip }}
sshUser: root
configure-server

Configure JVM memory, EULA, and server variables

minecraftInstaller.configure

← depends on: extract-pack (on succeeded)

Configuration
sshHost: ${{ model.fleet.resource.vm[inputs.vmName].attributes.ip }}
sshUser: root
start-server

Start the Minecraft server in a tmux session

minecraftGame.startMinecraftServer

← depends on: configure-server (on succeeded)

Configuration
sshHost: ${{ model.fleet.resource.vm[inputs.vmName].attributes.ip }}
sshUser: root
tmuxSession: ${{ inputs.vmName }}
serverDir: ${{ model.minecraftInstaller.resource.server[inputs.vmName].attributes.serverDir }}
startScript: ${{ model.minecraftInstaller.resource.server[inputs.vmName].attributes.startScript }}
logPath: ${{ model.minecraftInstaller.resource.server[inputs.vmName].attributes.logPath }}
serverName: ${{ inputs.vmName }}

Recent Runs (0)

No runs yet.