Commit Graph
3 Commits
  • Whitelist: write allowlist.json+whitelist.json, verify after reload, learn UUIDs from logs
    On 26.2 the file whitelist entries load at startup but 'whitelist reload'
    and shutdown saves use the renamed allowlist.json, so panel writes never
    took effect live and got wiped on stop. Now the panel writes both file
    names, verifies the player actually appears in 'whitelist list' after
    reload, falls back to the vanilla add command, and captures each player's
    real UUID from 'UUID of player …' log lines for future entries. The auth
    watcher's self-heal loop reports a loud notification after 3 failed
    retries instead of silently spamming reloads.
    
    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
  • Security page, admin quick controls, and whitelist reload self-healing
    - RCON client retries once on a fresh connection after stale-socket
      timeouts (panel idle overnight held dead sockets, so 'whitelist
      reload' silently failed and approvals needed a server restart)
    - Auth watcher verifies pending players against the LIVE whitelist every
      5s and re-writes/reloads if the server missed it, refunding lost
      window time
    - Log watcher records blocked join attempts (name + IP) with rate-
      limited notifications — scanner bots are now visible in the panel
    - New Security page: blocked-attempt log with one-click IP ban, banned
      players/IPs management, kick-everyone lockdown
    - Player detail modal: ban, op/deop, gamemode switching
    - Overview quick controls: time/weather/difficulty, gamerule toggles
      (keepInventory, mobGriefing, PvP...), broadcast box
    - Settings toggles for blocked-attempt notifications (panel + Discord)
    
    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>