{
  "servers": [
    {
      "name": "mc1",
      "type": "vanilla",
      "version": "1.21.x",
      "game_port": 25565,
      "rcon_port": 25575,
      "host": "192.168.0.244",
      "difficulty": "easy",
      "gamemode": "survival",
      "max_players": 20,
      "online_mode": false,
      "whitelist": true,
      "pvp": true,
      "notes": "Main vanilla survival server. MCSManager-managed. autoStart + autoRestart enabled."
    },
    {
      "name": "shrink-world",
      "type": "vanilla",
      "version": "1.21.x",
      "game_port": 25566,
      "rcon_port": 25576,
      "host": "192.168.0.244",
      "difficulty": "hard",
      "gamemode": "survival",
      "max_players": 20,
      "online_mode": false,
      "whitelist": true,
      "pvp": true,
      "datapacks": ["shrinkborder (world border shrinks on death)", "morespawns (5x creeper spawns)"],
      "notes": "Hardcore-style challenge server. World border starts at 500x500."
    },
    {
      "name": "paper-ai",
      "type": "paper",
      "version": "1.21.11",
      "game_port": 25567,
      "rcon_port": 25577,
      "host": "192.168.0.244",
      "difficulty": "hard",
      "gamemode": "survival",
      "max_players": 20,
      "online_mode": false,
      "whitelist": true,
      "pvp": true,
      "plugins": ["FastAsyncWorldEdit", "LuckPerms"],
      "ai_services": ["mc-aigod-paper.service (God/sudo AI)", "mc-langgraph-gateway.service (session gateway)"],
      "training_role": "Primary training/eval server for playtesters. Has full AI God + sudo + LangGraph gateway.",
      "notes": "Paper fork with AI God, sudo translator, and world observation tools."
    },
    {
      "name": "paper-dev",
      "type": "paper",
      "version": "1.21.11",
      "game_port": 25568,
      "rcon_port": 25578,
      "host": "192.168.0.244",
      "difficulty": "peaceful",
      "gamemode": "creative",
      "max_players": 50,
      "online_mode": false,
      "whitelist": false,
      "pvp": false,
      "world_type": "flat",
      "training_role": "Secondary training server for bot-driven data collection and destructive testing. No auth required.",
      "notes": "Offline dev server for AI training bots. Superflat, no mobs."
    }
  ],
  "infrastructure": {
    "ct_id": 644,
    "node": "node-112",
    "ip": "192.168.0.244",
    "java_version": "21 (Temurin)",
    "panel": "MCSManager at mc.sethpc.xyz",
    "bot_framework": "/opt/mc-ai-bots/ (Mineflayer, Node.js v20)"
  },
  "players": [
    {"username": "slingshooter08", "uuid": "45374469-5333-43e1-9881-39ad6b5f3301", "role": "admin/owner"}
  ],
  "version_notes": {
    "enchantment_syntax": "1.21+: give player item[enchantments={name:level}]. Old NBT format {Enchantments:[...]} is INVALID.",
    "effect_syntax": "1.13+: Must use 'effect give <target> <effect>'. Bare 'effect <target> <effect>' is INVALID.",
    "weather_values": "Only valid values: clear, rain, thunder. 'storm', 'rainstorm' are INVALID.",
    "execute_as_vs_at": "'execute as' changes executor (@s) but NOT position. 'execute at' changes position. Use 'at' for relative coordinates.",
    "data_get_blocks": "'data get block' only works on block entities (chests, signs). For regular blocks, use 'execute if block' to test type."
  }
}
