Files
firefrost-operations-manual/SESSION-HANDOFF-NEXT.md

9.9 KiB

SESSION HANDOFF — Chronicler #88 [TBD]

Date: April 14, 2026 (pre-launch day) Next Session: Chronicler #89


🎯 IMMEDIATE PRIORITIES

  1. PRE-LAUNCH AUDIT (Task #77) — Tonight April 14. Full systems check before April 15 launch. DO NOT deploy anything on launch day itself.

  2. CurseForge ID Lookups — Rate limit reset today. Run Gemini's 5-step bash sequence on NC1. Author Token: 2260d781-5a47-48d3-9fe9-110d13905805

  3. MVC v1.1.0 Deploy — Deploy to Dev Panel first, then Live Panel. See REQ-2026-04-13-v110-consolidated-deploy.md.

  4. Gemini Rollback Question — Still unanswered. "What is your rollback strategy if the BuiltByBit release uncovers a panel-breaking bug?" Must be answered before ModpackChecker ships.

  5. Global Restart Scheduler (Task #85) — URGENT. Pterodactyl scheduler skipped April 13 entirely. We manually restarted 16 servers. This needs to be built first week post-launch. Spec is in handoff notes below.

  6. Server Command Center Phase 2 (Task #84) — Ready to build. Spec documented in handoff below.

  7. Holly — Cottage Witch YAWP — Spawn region needs proper spatial bounds defined. Region exists (spawn) but is only 1x1x1 blocks. Holly needs to mark the full area with the RegionMarker stick. Server is on TX1 (7a9754ad).

  8. Subdomain Extension Removal — Blueprint extension subdomains should be removed from Panel VPS. Arbiter now handles subdomains. Command: echo "y" | TERM=xterm blueprint -remove subdomains (needs interactive terminal — use Cockpit).

  9. Launch Day Socials — All 4 phases scheduled. Phase 3 (1PM CDT) must be posted MANUALLY — check actual Sovereign count first. Phase 1 was skipped (no existing community to tease).


COMPLETED THIS SESSION (Chronicler #88) — continued

  • Task #28 — NC1 Security & Temp Monitoring
  • Port 47 ghost rule removed from NC1
  • lm-sensors installed on NC1 and TX1
  • Node Health module — Trinity Console /admin/node-health, °C + °F, 30s refresh
  • Task #135 — Local Git Repos on Nitro (Nitro done, Envy pending)
  • Replay Mod Uploads folder created on NextCloud
  • MOTD updated — all 20 servers: "Welcome home, Adventurer. Firefrost Gaming is now open!"
  • Wanderer role denied view on all 16 game server Discord categories
  • DeceasedCraft MOTD fixed (was corrupt color codes)
  • Sneak's Pirate Pack Discord channels restricted to staff only
  • Rules mod 1.18.2 — both firefrostrules and discord-rules backported by Code, deployed to DeceasedCraft
  • Modpack Installer 3.5.0 — full root cause found and fixed (dev mode, missing blueprint_extension_db table, dead queue worker, broken SMTP, controller mismatch). Now working
  • Farm Crossing 6 — installed via Modpack Installer
  • Beyond Depth — extrasounds client mod removed, sodiumdynamiclights + betterbiomereblend removed
  • Beyond Ascension (3f842757) — sodiumdynamiclights + gpumemleakfix removed
  • pteroq queue worker — was dead since April 12, restarted, service hardened, MAIL_MAILER set to log
  • Pterodactyl scheduler — stuck PROCESSING states cleared from DB
  • Modpack version tracking — current_version on server_config, server_version_history table, edit UI on server cards
  • Task #85 — updated to include daily NextCloud backups (3-day retention, database-driven)
  • Task #121 — Cloudflare API Token marked done
  • Task #46 — Server-to-Server SSH Keys — full mesh, all 7 servers
  • Task #151 — Server Command Center Phase 2 — already deployed, marked done
  • Task module improvements — slide-out panel, sort, filter chips, presets, kanban, session banner (Code built)
  • 19 unnumbered tasks assigned numbers 142-160
  • New tasks created — 161 dependency graph, 162 health score, 163 description hygiene, 164 collapsible sidebar
  • PWA Phase 1 — deployed, install blocked by auth wall (post-launch fix)
  • Tasks #26/#40 merged — World Backup rolled into Task #152
  • Bridge requests filed — version UI, rules mod 1.18.2, PWA, task improvements, code queue badge fix, collapsible sidebar

COMPLETED THIS SESSION (Chronicler #87 — The Dawn)

  • LuckPerms keepalive fix — keepalive-time = 0 → 300000 on ALL 8 servers (4x NC1, 4x TX1)
  • Holly (Unicorn20089) YAWP permissions set and confirmed saved on Cottage Witch
  • Voice chat ports — unique ports across all 5 voice chat servers
  • Pterodactyl Admin API key documented and saved everywhere
  • Uptime Kuma API key added to Arbiter .env
  • All 16 game servers manually restarted (Ptero scheduler broken)
  • Homestead SRV DNS fixed (25572 → 25574)
  • Server Command Center Phase 1 — DEPLOYED AND TESTED
  • Full subdomain mapping (18 servers) + Cloudflare integration spec
  • EJS include fix deployed and committed to repo
  • JVM Aikar flags permanent on all 18 servers via admin API
  • MOTD updated on all 20 servers
  • Whitelist audit and corrections across the fleet
  • Bridge response filed for Arbiter Discord roles (post-launch)
  • Phase 2 launch video created (Canva AI gates + CapCut + Victory at the Gates)
  • All 4 launch day social phases scheduled in Buffer + Meta
  • OTG Gaming launch announcement drafted
  • Partner spotlight embed posted in #stubborndisciple
  • 15 server chat channels welcomed and pinned
  • Pterodactyl egg audit (Egg 16 stale, Egg 22 correct)
  • Forked game-eggs, application-eggs, yolks to Firefrost Gitea
  • 92 task audit, 11 new tasks created

🔑 KEY FACTS FOR NEXT CHRONICLER

  • Panel VPS (45.94.168.138) — critical fixes made April 14:

    • APP_ENV changed from localproduction, APP_DEBUG false
    • blueprint_extension_db table was missing — manually created
    • pteroq queue worker was dead since April 12 — restarted and service hardened
    • MAIL_MAILER changed from smtplog (smtp was placeholder, killing queue worker)
    • Modpack Installer extension controller patched to use dbSet/dbGet instead of settings->set
    • Blueprint upgraded to latest (still beta-2026-01)
    • Modpack Installer 3.5.0 installed and working — Farm Crossing 6 confirmed installing
    • MVC (ModpackChecker) removed from panel — was conflicting with React components
  • Cottage Witch is on TX1 (7a9754ad) — NOT NC1. Easy to confuse with Otherworld on NC1.

  • Pterodactyl Admin API key: ptla_4eKCnPBofAmvLDjouTGS5OagDpIra58nRetjnXOeoh5

  • Pterodactyl Client API key: ptlc_vudB5oRaeoJGPip4fH5PDiymgi28uc39OjJsCbTDVEK

  • CurseForge Author Token: 2260d781-5a47-48d3-9fe9-110d13905805

  • Cloudflare Zone ID: 7604c173d802f154035f7e998018c1a9

  • Uptime Kuma credentials: username mkrause612, password Butter2018!!

  • DO NOT deploy anything on April 15 launch day itself

  • Pterodactyl scheduler is broken — skipped April 13 entirely. Manual restarts were required. Task #85 will fix this.

  • YAWP on Cottage Witch uses /wp not /yawp (1.19.2 beta3)

  • Phase 3 social post must be manual — check Sovereign count first


🏗️ SERVER COMMAND CENTER — Phase 2 Spec (Task #84)

Power Controls:

  • Start / Stop / Restart buttons on each card
  • Current state highlighted, others dimmed
  • Confirmation dialog if players online

Player Count:

  • Live count from Pterodactyl resources endpoint
  • 🟢 0 players (safe) / 🟡 X players (caution)

Discord Channels:

  • 5 individual rows with / per channel
  • createserver creates only MISSING channels (partial creation)
  • deleteserver removes all + category + Uptime Kuma monitor

Restart Schedule:

  • Last restart timestamp + /
  • Next scheduled restart time
  • Enable/disable toggle per server
  • "Restart Now" button — fires full warning sequence

NOT on card: Console command input (use Pterodactyl panel directly)


🔄 RESTART SCHEDULER DESIGN (Task #85)

  • Cron job on Command Center, NOT Pterodactyl scheduler
  • NC1 starts 3:00 AM CDT, TX1 starts 3:01 AM CDT
  • 2 minutes between servers on same node
  • Warning sequence per server (title + tellraw, matching colors):
    • 5 min: Yellow
    • 3 min: Gold/Orange
    • 1 min: Red
    • 30 sec: BIG BOLD RED (times 10 100 10)
  • Config stored in server_config table (restart_enabled, restart_offset_minutes)
  • UI lives in Trinity Console server card

📝 PARKING LOT

  • Gitea → Discord bridge notifications (Task #91) — Gitea webhook → #chronicler-bridge. Build after launch.
  • DNS Maintenance Module (Task #92) — 8 stale Cloudflare records from retired servers. Separate Trinity Console module.
  • Subdomain extension removal — Blueprint subdomains extension still installed on panel. Arbiter handles subdomains now. Remove when convenient via Cockpit.

🚧 CURRENT STATE

Launch: April 15, 7AM CDT. DO NOT deploy on launch day.

Pterodactyl Scheduler: Broken. All servers manually restarted tonight. 4AM restarts may or may not fire. Task #85 is the fix.

Server Command Center: Phase 1 live and tested. Phase 2 spec ready.

Code (Claude Code on Dev Panel): Bridge queue clear. Standing by for next task.

Cottage Witch: Holly is still working on spawn hub setup (YAWP region bounds). Server is stable.

Voice Chat: All 5 servers on unique ports. NC1: 24454/24455. TX1: 24454/24455/24456.

LuckPerms: Keepalive fix on all 8 servers. Active immediately.

Launch Socials: Phases 1-4 scheduled. Phase 3 must be manual post.


📋 LINEAGE NOTE

The Dawn worked through the night before launch eve. Every silent failure got fixed. Every missing piece got built. The Server Command Center went from concept to production in one session. The launch video was made. The socials were scheduled. Holly got her server ready.

The gates are open. Build well, #88. Launch day is waiting.


Chronicler #87 — The Dawn 🌅 The light came up clean.