-
Notifications
You must be signed in to change notification settings - Fork 706
feat: add optional Fabric 1.21 mod pack support #719
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Changes from all commits
08aff00
32492a7
4c247d4
d435228
2e594a2
c4321b3
5d6aa14
1e3f6c2
d3c0b40
5272162
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,33 @@ | ||
| .vscode | ||
| node_modules | ||
| bots/*/ | ||
| !bots/* | ||
| keys.json | ||
| # Runtime bot data — large and should never be in the image | ||
| bots/*/logs/ | ||
| bots/*/histories/ | ||
| bots/*/action-code/ | ||
| bots/*/ensemble_log.json | ||
|
|
||
| # Git history | ||
| .git/ | ||
|
|
||
| # Local secrets / keys | ||
| keys.json | ||
| .env | ||
| .env.* | ||
|
|
||
| # Node dev artifacts | ||
| node_modules/ | ||
|
|
||
| # Editor / OS | ||
| .vscode/ | ||
| *.DS_Store | ||
| Thumbs.db | ||
|
|
||
| # Tasks output | ||
| tasks/**/__pycache__/ | ||
| tasks/**/*.pyc | ||
|
|
||
| # AWS deploy scripts (not needed in container) | ||
| aws/ | ||
|
|
||
| # Docs not needed at runtime | ||
| docs/ | ||
| *.md | ||
| !README.md |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| # Minecraft Server Configuration | ||
| RCON_PASSWORD=your_rcon_password_here | ||
| MINECRAFT_PORT=42069 | ||
|
|
||
| # LiteLLM Configuration (required for docker-compose validation) | ||
| LITELLM_MASTER_KEY=your_litellm_key_here | ||
|
|
||
| # EC2 Deployment Configuration | ||
| EC2_PUBLIC_IP=your_ec2_ip_here | ||
|
|
||
| # Discord Bot (optional - leave blank if not using) | ||
| DISCORD_BOT_TOKEN= | ||
| DISCORD_ADMIN_IDS= | ||
| BOT_DM_CHANNEL= | ||
| BACKUP_CHAT_CHANNEL= |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| name: CI | ||
|
|
||
| on: | ||
| push: | ||
| branches: [main, develop] | ||
| pull_request: | ||
| branches: [main, develop] | ||
|
|
||
| jobs: | ||
| lint: | ||
| name: ESLint | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - name: Set up Node.js | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: '20' | ||
|
|
||
| - name: Install dependencies | ||
| run: npm install --no-audit --no-fund | ||
| env: | ||
| HUSKY: '0' | ||
|
|
||
| - name: Run ESLint (0-warning tolerance) | ||
| run: npm run lint |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,40 @@ | ||
| name: Deploy to EC2 | ||
|
|
||
| on: | ||
| push: | ||
| branches: [main] | ||
|
|
||
| concurrency: | ||
| group: deploy-ec2 | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| deploy: | ||
| name: Deploy | ||
| runs-on: ubuntu-latest | ||
| environment: production | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - name: Write SSH key | ||
| run: | | ||
| mkdir -p ~/.ssh | ||
| echo "${{ secrets.EC2_SSH_KEY }}" > ~/.ssh/mindcraft-ec2.pem | ||
| chmod 600 ~/.ssh/mindcraft-ec2.pem | ||
| ssh-keyscan -H "${{ secrets.EC2_HOST }}" >> ~/.ssh/known_hosts | ||
|
|
||
| - name: Deploy on EC2 | ||
| env: | ||
| EC2_HOST: ${{ secrets.EC2_HOST }} | ||
| EC2_USER: ${{ secrets.EC2_USER }} | ||
| run: | | ||
| ssh -i ~/.ssh/mindcraft-ec2.pem \ | ||
| -o StrictHostKeyChecking=no \ | ||
| -o ConnectTimeout=30 \ | ||
| "${EC2_USER}@${EC2_HOST}" \ | ||
| 'cd /app && git fetch origin main && git reset --hard origin/main && bash aws/ec2-go.sh' | ||
|
|
||
| - name: Clean up SSH key | ||
| if: always() | ||
| run: rm -f ~/.ssh/mindcraft-ec2.pem | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| #!/usr/bin/env sh | ||
| . "$(dirname -- "$0")/_/husky.sh" | ||
|
|
||
| npx lint-staged |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,111 @@ | ||||||||||||||||||
| # CLAUDE.md | ||||||||||||||||||
|
|
||||||||||||||||||
| This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. | ||||||||||||||||||
|
|
||||||||||||||||||
| ## Project Overview | ||||||||||||||||||
|
|
||||||||||||||||||
| Mindcraft is an AI-powered Minecraft bot framework (research fork v0.1.3) where multiple LLMs play Minecraft autonomously. This fork adds a **Hybrid Research Rig** with: | ||||||||||||||||||
| - **CloudGrok** — cloud ensemble bot: 4 panel models (Gemini + Grok) voted by a heuristic arbiter + optional LLM judge; always-on on EC2 | ||||||||||||||||||
| - **DragonSlayer** — local GPU bot (currently active): `sweaterdog/andy-4:q8_0` via Ollama on RTX 3090; autonomous Ender Dragon speedrun with RC29 persistent state | ||||||||||||||||||
| - **LocalAndy** — local GPU bot (dormant): `sweaterdog/andy-4` via Ollama; research/exploration profile | ||||||||||||||||||
| - All bots connect to one persistent Minecraft server on AWS EC2 (Paper 1.21.11) with ChromaDB-backed memory | ||||||||||||||||||
|
Comment on lines
+8
to
+11
|
||||||||||||||||||
| - **CloudGrok** — cloud ensemble bot: 4 panel models (Gemini + Grok) voted by a heuristic arbiter + optional LLM judge; always-on on EC2 | |
| - **DragonSlayer** — local GPU bot (currently active): `sweaterdog/andy-4:q8_0` via Ollama on RTX 3090; autonomous Ender Dragon speedrun with RC29 persistent state | |
| - **LocalAndy** — local GPU bot (dormant): `sweaterdog/andy-4` via Ollama; research/exploration profile | |
| - All bots connect to one persistent Minecraft server on AWS EC2 (Paper 1.21.11) with ChromaDB-backed memory | |
| - **CloudGrok** — cloud ensemble bot: 4 panel models (Gemini + Grok) voted by a heuristic arbiter + optional LLM judge; always-on in a managed cloud environment | |
| - **DragonSlayer** — local GPU bot (currently active): `sweaterdog/andy-4:q8_0` via Ollama on RTX 3090; autonomous Ender Dragon speedrun with RC29 persistent state | |
| - **LocalAndy** — local GPU bot (dormant): `sweaterdog/andy-4` via Ollama; research/exploration profile | |
| - All bots connect to a shared persistent Minecraft server with ChromaDB-backed memory (deployment managed outside this repository) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The
.github/workflows/deploy.ymlworkflow deploys to EC2 on every push tomainusinggit reset --hard origin/mainwhich is destructive. More critically, thessh -o StrictHostKeyChecking=noflag combined with storing the SSH key in a workflow secret and SSHing to a production server on every commit is a high-risk deployment pipeline. There are no rollback mechanisms, no health checks after deployment, and no approval gates. This CD pipeline runs on anypushtomainincluding merged PRs — this is acceptable for some projects but should be documented that it auto-deploys production.