Files
Claude Code 31be504f69 Switch Ollama to gemma3n:e4b on node-197 GPU
Bake-off results: gemma3n:e4b (80.6% cmd match, 100% safety, 5.9s)
outperforms qwen3-coder:30b (67.7%, 93.5%, 14.7s) on all metrics.
Moved from steel141 CPU inference to node-197 RTX 4000 GPU.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 10:23:55 -04:00

125 lines
4.1 KiB
Markdown

# Sethpc Minecraft Project Context
## Infrastructure
### MCSManager Panel
- **CT:** 644 on node-112 (sethpc, 192.168.0.112)
- **IP:** 192.168.0.244
- **Web panel:** http://mc.sethpc.xyz (via Caddy on CT 600, node-241)
- **Panel ports:** 23333 (web), 24444 (daemon)
- **OS:** Debian 12, Java 21 (Temurin)
- **Installed via:** https://script.mcsmanager.com/setup.sh
- **Systemd services:** `mcsm-web.service`, `mcsm-daemon.service`
---
## Server 1 — mc1 (Vanilla survival)
| Property | Value |
|---|---|
| Instance ID | `d39f55861cb34204a92a18a9e1c78ca6` |
| Game port | `25565` |
| RCON port | `25575` |
| RCON password | `REDACTED_RCON` |
| Data dir | `/opt/mcsmanager/daemon/data/InstanceData/d39f55861cb34204a92a18a9e1c78ca6/` |
| Version | Minecraft 1.21.x (vanilla) |
| Connect | `192.168.0.244:25565` |
### Services on CT 644
- `mc-godmode.service` — watches `latest.log`, sets `slingshooter08` to creative on every login
- Script: `/usr/local/bin/mc_godmode_watch.sh`
- Calls: `/usr/local/bin/mc_godmode_rcon.py`
- Toggle: `systemctl start/stop mc-godmode.service`
---
## Server 2 — shrink-world
| Property | Value |
|---|---|
| Instance ID | `shrinkborder1234567890abcdef12345` |
| Game port | `25566` |
| RCON port | `25576` |
| RCON password | `REDACTED_RCON` |
| Data dir | `/opt/mcsmanager/daemon/data/InstanceData/shrinkborder1234567890abcdef12345/` |
| Version | Minecraft 1.21.x (vanilla, same server.jar as mc1) |
| Connect | `192.168.0.244:25566` |
| World border | 500x500 centered at 0,0 (started at 1000x1000) |
| Difficulty | Hard |
### Datapacks installed
1. **shrinkborder** — detects player deaths, shrinks world border by 1 block per death, alternating N/S and E/W sides. Starts DISABLED.
2. **morespawns** — increases creeper spawn weight from 100 to 500 (5x more creepers)
### Services on CT 644
- `mc-shrink-kit.service` — main watcher script for shrink-world
- Script: `/usr/local/bin/shrink_godkit.py`
- On first login: gives full god kit (netherite armor + tools + consumables)
- On every login: broadcasts world stats
- On every death: broadcasts world stats + increments death counter
- Every hour: broadcasts world stats
- Kit record persisted at: `<data_dir>/kit_given.json`
---
## RCON Helper (Python)
All server communication uses raw RCON sockets (no external library needed):
```python
import socket, struct, time
def rcon(cmd, host='127.0.0.1', port=25575, password='REDACTED_RCON'):
s = socket.socket()
s.settimeout(5)
s.connect((host, port))
def pkt(i, t, p):
p = p.encode() + b'\x00\x00'
return struct.pack('<iii', len(p)+8, i, t) + p
s.sendall(pkt(1, 3, password))
time.sleep(0.2)
s.recv(4096)
s.sendall(pkt(2, 2, cmd))
time.sleep(0.2)
r = s.recv(4096)
s.close()
return r[12:-2].decode()
```
For shrink-world use port `25576` and password `REDACTED_RCON`.
---
## Minecraft 1.21 Notes
- **Enchantment syntax** (1.21+): `give player item[enchantments={sharpness:5,unbreaking:3}]`
- NOT the old NBT `{Enchantments:[{id:...,lvl:...}]}` format
- **Death detection regex:** `(\w+) (died|was slain|was shot|drowned|fell|burned|blew up|suffocated|starved|was killed|hit the ground|went up in flames|tried to swim in lava)`
- **RCON** requires `enable-rcon=true` and `rcon.password=` set in `server.properties`, then server restart
---
## Players
| Username | UUID |
|---|---|
| slingshooter08 | 45374469-5333-43e1-9881-39ad6b5f3301 |
---
## Networking
- Both servers are LAN-only (`192.168.0.244`)
- External access requires port forwarding on router: `25565` and `25566``192.168.0.244`
- Web panel accessible via Caddy at `mc.sethpc.xyz`
- DNS: Pi-hole at `192.168.0.153`
---
## AI / Ollama
- **Ollama instance:** `192.168.0.179:11434` (CT 105, node-197, Quadro RTX 4000 8GB)
- **Model (both message + command):** `gemma3n:e4b` (6.9B, Q4_K_M, GPU-accelerated)
- **Previous:** `192.168.0.141:11434` (steel141), `gemma3:12b` + `qwen3-coder:30b`
- **Changed:** 2026-03-18 after bake-off showed gemma3n:e4b outperforms qwen3-coder:30b (80.6% vs 67.7% cmd accuracy, 100% vs 93.5% safety, 3x faster)