Commit Graph
4 Commits
  • Whitelist by offline UUID: write whitelist.json directly, not 'whitelist add'
    The vanilla command resolves never-seen names through Mojang's API, so a
    premium account's UUID gets whitelisted instead of the offline UUID the
    player actually connects with — the exact 'You are not white-listed'
    loop hit on first join. The panel now computes the offline UUID
    (md5 OfflinePlayer:<name>, UUID v3 — verified against known vectors),
    writes whitelist.json itself, and issues 'whitelist reload'.
    
    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
  • Fix blank TPS: read tick timing from vanilla 'tick query' instead of spark
    spark sends command output asynchronously, so its RCON responses are
    empty and the sampler recorded null TPS/MSPT. Use the synchronous
    vanilla 'tick query' as the primary source (treating paused/frozen idle
    servers as healthy), keep spark as fallback, and route spark ping /
    healthreport through the server console (mc-send-to-console) with the
    log watcher capturing ping lines. Lag endpoint now falls back to the
    freshest recorded ping sample.
    
    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
  • Allow beta-typed Modrinth builds for EasyAuth (easyauth:beta)
    EasyAuth publishes its 26.x builds as beta on Modrinth, and the itzg
    resolver only accepts release-typed versions by default, so the mc
    container failed to start. Pin easyauth:beta in the default mod list and
    teach the panel's mod manager to compare entries by base slug so version
    qualifiers don't break protected/duplicate checks.
    
    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
  • Minecraft 26.2 Fabric server stack with CraftDeck management panel
    - docker-compose: itzg/minecraft-server (Fabric, offline mode, whitelist
      enforced, Modrinth-managed mods), itzg/mc-backup sidecar, custom dashboard
    - Gated auth for offline mode: approve username -> whitelisted with a short
      registration window -> EasyAuth /register + /login; auto-revoke on expiry
    - CraftDeck panel (Next.js 16, zero native deps): live console (SSE), players
      & stats, lag diagnostics (server TPS vs player ping via spark), performance
      graphs, Modrinth mod search/manager, backups & restore, sandboxed file
      browser/editor, .env config editor with compose apply, cron schedules,
      Discord alerts, scrypt-hashed panel login
    - scripts/setup.sh generates secrets; docs/ covers auth, mods, updating,
      backups, networking (Tailscale), troubleshooting
    
    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>