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
This commit is contained in:
+104
@@ -0,0 +1,104 @@
|
||||
# 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"
|
||||
```
|
||||
Reference in New Issue
Block a user