Files
Seth 8ee8be9cc0 Initial commit — Minecraft AI God plugin
- mc_aigod.py: main watcher script (log tail, RCON, two-call LLM)
- Two-call LLM split: qwen3-coder:30b for commands, gemma3:12b for messages
- Divine intervention timer (Poisson process, configurable avg/day)
- Prayer memory (persistent, last 10 exchanges)
- Rolling server log context (last 20 min events)
- Live player context (inventory with rarity, health, food, pos, XP)
- /pray and bible chat detection (no slash — vanilla 1.21 compatible)
- Login notice, bible help system
- debug_commands toggle (in-game command display via tellraw)
- Auto-fix for transposed give command syntax
- JSON repair fallback for truncated LLM responses
- Sentence-aware message chunking for long responses
- mc-aigod.service systemd unit
- mc_aigod_shrink.json example config
- README.md full implementation guide
- Minecraft_Ai_God.md full design document
2026-03-15 19:02:16 -04:00

105 lines
3.4 KiB
Markdown

# Minecraft Quick Command Reference
## RCON — Send a command from CT 644
### Server 1 (mc1, port 25575)
```bash
ssh pve112 "pct exec 644 -- python3 -c \"
import socket, struct, time
def rcon(cmd):
s = socket.socket(); s.settimeout(5); s.connect(('127.0.0.1', 25575))
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,'REDACTED_RCON')); 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()
print(rcon('YOUR COMMAND HERE'))
\""
```
### Server 2 (shrink-world, port 25576)
Same as above but use port `25576` and password `REDACTED_RCON`.
---
## Player Commands
| Action | Command |
|---|---|
| Teleport player | `tp <player> <x> <y> <z>` |
| Give item | `give <player> <item> <count>` |
| Set gamemode | `gamemode creative/survival/spectator <player>` |
| Get player position | `data get entity <player> Pos` |
| List online players | `list` |
| Get world border size | `worldborder get` |
| Set world border | `worldborder set <size>` |
| Shrink world border | `worldborder add -<amount> <seconds>` |
## God Kit (1.21 syntax)
```
give <player> netherite_helmet[enchantments={protection:4,unbreaking:3,mending:1,respiration:3,aqua_affinity:1}]
give <player> netherite_chestplate[enchantments={protection:4,unbreaking:3,mending:1}]
give <player> netherite_leggings[enchantments={protection:4,unbreaking:3,mending:1}]
give <player> netherite_boots[enchantments={protection:4,unbreaking:3,mending:1,feather_falling:4,depth_strider:3}]
give <player> netherite_sword[enchantments={sharpness:5,unbreaking:3,mending:1,looting:3,fire_aspect:2,sweeping_edge:3}]
give <player> bow[enchantments={power:5,unbreaking:3,infinity:1,flame:1,punch:2}]
give <player> netherite_pickaxe[enchantments={efficiency:5,unbreaking:3,mending:1,fortune:3}]
give <player> netherite_axe[enchantments={efficiency:5,unbreaking:3,mending:1,sharpness:5}]
give <player> arrow 64
give <player> golden_apple 64
give <player> totem_of_undying 4
give <player> ender_pearl 16
give <player> cooked_beef 64
```
---
## Shrinkborder Datapack (in-game, op required)
| Command | Effect |
|---|---|
| `/function shrinkborder:enable` | Start death-shrinking |
| `/function shrinkborder:disable` | Stop death-shrinking |
| `/function shrinkborder:reset` | Reset border to 1000x1000, disable shrinking |
---
## Services on CT 644
```bash
# Access CT
ssh pve112 "pct exec 644 -- bash"
# God mode watcher (mc1 - slingshooter08 auto creative)
systemctl start/stop/status mc-godmode.service
# Shrink world kit watcher (shrink-world - auto kit on first join + stats)
systemctl start/stop/status mc-shrink-kit.service
# MCSManager itself
systemctl start/stop/status mcsm-web.service
systemctl start/stop/status mcsm-daemon.service
```
---
## Datapacks — Deploy to shrink-world server
```bash
# From this machine (CT 629), copy a datapack folder to the server
DEST=/opt/mcsmanager/daemon/data/InstanceData/shrinkborder1234567890abcdef12345/world/datapacks/
# Then reload in-game or via RCON:
# datapack enable "file/<packname>"
# reload
```
---
## Kit Record — Reset a player's first-join kit
```bash
ssh pve112 "pct exec 644 -- cat /opt/mcsmanager/daemon/data/InstanceData/shrinkborder1234567890abcdef12345/kit_given.json"
# To reset a specific player (edit the JSON):
ssh pve112 "pct exec 644 -- nano /opt/mcsmanager/daemon/data/InstanceData/shrinkborder1234567890abcdef12345/kit_given.json"
```