docs: make scaffold server-agnostic

The bot is a universal Minecraft player, not tied to any one server.
Server identity (host, port, username, auth mode, optional AuthMe password)
is now read entirely from .env.

- README: rewritten as universal-bot pitch; auth covered as two dimensions
  (MC auth mode + LLM credential)
- AGENTS.md: identity comes from .env, hard-coded references to pepa
  removed; bootstrap step auto-detects whether the server uses an
  AuthMe-style /register-/login plugin
- .env.example: example values replaced with placeholders, MC_AUTH_MODE
  added (offline | microsoft)
- docs/architecture.md: rephrased target as "any Minecraft Java server",
  added open question on cross-server vs per-server state

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-25 09:52:25 +03:00
co-authored by Claude Opus 4.7
parent 3a025c05ad
commit 4dd8576d5b
4 changed files with 107 additions and 72 deletions
+19 -12
View File
@@ -1,19 +1,25 @@
# --- Minecraft connection -----------------------------------------------------
# The pepa server. Cracked mode — any nickname works.
MC_HOST=play.xmatic.team
# Any Minecraft Java server. The values below are an example — replace them.
MC_HOST=play.example.com
MC_PORT=25565
MC_USERNAME=pepa_pi_bot
MC_VERSION=auto # 'auto' lets mineflayer detect the server's version
MC_VERSION=auto # 'auto' = let mineflayer detect from server
# --- AuthMe (in-game login) ---------------------------------------------------
# Used for /register on first join and /login on subsequent joins.
# Min length is set on the pepa server — keep it ≥ 8 chars.
# NEVER commit a real value; .env is gitignored.
MC_AUTHME_PASSWORD=change-me-to-a-long-password
# --- Minecraft auth -----------------------------------------------------------
# 'offline' — cracked servers (server runs with online-mode=false). Any nick works.
# 'microsoft' — premium / online-mode servers. Mineflayer runs a device-code flow
# on first connect and caches the token under ~/.minecraft-auth/.
MC_AUTH_MODE=offline
# --- Optional: in-game login plugin (AuthMe, nLogin, etc.) --------------------
# Many cracked servers gate gameplay behind an in-chat /register and /login flow.
# Leave blank if your target server doesn't use one.
# Min length is usually 8; use a long random value and never commit it.
MC_AUTHME_PASSWORD=
# --- LLM provider -------------------------------------------------------------
# Set ONE of the following. Pi auto-detects from env.
# OAuth subscriptions (ChatGPT Pro, Claude Max) — leave keys empty and run `pi /login`.
# Set ONE credential below, OR leave them all blank and run `pi /login` for OAuth
# (ChatGPT Pro, Claude Max, etc. — when the provider supports it).
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
GOOGLE_API_KEY=
@@ -27,13 +33,14 @@ PI_DEFAULT_MODEL=gpt-5-mini
# How often (seconds) the autonomous tick prompt fires. Set to 0 to disable.
TICK_INTERVAL_SECONDS=60
# Chat rate limit (messages per minute). Paper's spam kicker triggers around 20/min.
# Chat rate limit (messages per minute). Paper/Spigot spam kickers typically
# trigger around 20/min.
CHAT_RATE_LIMIT_PER_MIN=15
# --- Operator -----------------------------------------------------------------
# In-game nick of the human operator. The bot treats their chat messages as
# higher-priority than other players.
OPERATOR_USERNAME=halofourteen
OPERATOR_USERNAME=your_in_game_nick
# --- Optional: Telegram bridge (future skill, not wired yet) ------------------
# TELEGRAM_BOT_TOKEN=