Overview

Date: 2026-05-11

Time: 15:24

Overview

ftl2-servercraft is a full application built on FTL2 that manages game server lifecycles (Minecraft and Terraria) on Linode infrastructure. It demonstrates FTL2's use as an application infrastructure layer rather than just a scripting tool, combining provisioning automation with a live Textual TUI dashboard and automated watchdog teardown of idle servers.

Key Concepts

Commands and Syntax

Installation and launch:


uv pip install -e .
cp servers.yml.example servers.yml
ftl2-servercraft

Server definition (servers.yml):


servers:
  minecraft-1:
    label: "World 1 (NeoForge)"
    script: neoforge            # selects scripts/neoforge.py
    admin_user: admin
    world_name: world
    linode_type: g6-standard-1
    linode_region: us-east
    config_dir: ~/git/server-configs/minecraft-world-1
    ddns_hostname: world1.example.com
    grace_period: 300           # seconds before idle teardown
    poll_interval: 30           # seconds between player count checks

TUI keybindings: L (launch), R (reconfigure), V (verify), B (backup), S (stop+destroy), W (toggle watchdog), Q (quit)

Required environment variables: LINODETOKEN, LINODEROOTPASS, SLACKTOKEN

Relationships

Exam-Relevant Points