{"id":2031,"date":"2026-07-18T06:45:07","date_gmt":"2026-07-18T13:45:07","guid":{"rendered":"http:\/\/macdaddy4sure.ai\/?p=2031"},"modified":"2026-07-18T06:45:07","modified_gmt":"2026-07-18T13:45:07","slug":"minecraft-plugin-and-dqn-training-guide","status":"publish","type":"post","link":"http:\/\/macdaddy4sure.ai\/index.php\/2026\/07\/18\/minecraft-plugin-and-dqn-training-guide\/","title":{"rendered":"Minecraft Plugin and DQN Training Guide"},"content":{"rendered":"\n<p>This guide explains how the _AugmentedIntelligence Minecraft Spigot plugin, bridge, Minecraft DQN, client controller, and MathNN neural policy fit together.<\/p>\n\n\n\n<p>Related documentation:<\/p>\n\n\n\n<p><em>[text]<br><\/em>docs\/MinecraftPluginOperations.md = quick operator reference, full command list, config switches, troubleshooting<br>docs\/MinecraftIntegration.md&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = bridge vs. RCON integration overview<br>docs\/ReinforcementLearning.md&nbsp;&nbsp;&nbsp;&nbsp; = RL hub (MathNN, curriculum, executive plans)<br>docs\/MathNN.md&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = neural policy modes and rl net commands<br>minecraft_spigot_plugin\/README.md = plugin build\/deploy quick reference<\/p>\n\n\n\n<p>The recommended architecture for your current lab is:<\/p>\n\n\n\n<p><em>[text]<br><\/em>EARTH&nbsp;&nbsp; 10.0.0.151 = _AI host, Minecraft client, DQN, optional MathNN<br>JUPITER 10.0.0.153 = Minecraft\/Spigot server, AI bridge plugin<br>NEPTUNE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = optional always-on AI\/training server later<\/p>\n\n\n\n<p>The practical target is:<\/p>\n\n\n\n<p><em>[text]<br><\/em>JUPITER plugin observes world\/player state<br>JUPITER plugin sends rewards\/events to _AI<br>_AI DQN\/MathNN chooses an action<br>EARTH client controller presses keys\/mouse in your Minecraft client<br>JUPITER plugin keeps providing safety, arena, goal, and replay data<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Components<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Spigot Plugin<\/h3>\n\n\n\n<p>Location:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft_spigot_plugin\/<\/p>\n\n\n\n<p>Runtime command aliases:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai<br>\/aibridge<\/p>\n\n\n\n<p>Required permission:<\/p>\n\n\n\n<p><em>[text]<br><\/em>augmentedintelligence.admin<\/p>\n\n\n\n<p>The plugin runs on the Minecraft server. It is responsible for:<\/p>\n\n\n\n<p><em>[text]<br><\/em>observations<br>events and rewards<br>safety checks<br>training arenas<br>goal profiles<br>coach mode<br>memory markers<br>replay logging<br>manual safe actions<br>optional context from common Spigot plugins such as Vault, WorldGuard, Citizens, Jobs, Quests, Towny, Factions, mcMMO, CoreProtect, PlotSquared, and BentoBox<\/p>\n\n\n\n<p>It is not meant to run heavy neural training. Training belongs in _AI.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Native Bridge<\/h3>\n\n\n\n<p>The bridge is inside _AI. It listens for the Spigot plugin and receives JSON-lines messages.<\/p>\n\n\n\n<p>Useful commands:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft bridge configure 0.0.0.0 8765 YOUR_TOKEN true<br>minecraft bridge start<br>minecraft bridge status<br>minecraft bridge stop<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Minecraft DQN<\/h3>\n\n\n\n<p>Minecraft DQN is inside _AI. It reads the latest Minecraft state, chooses actions, records transitions, and trains from rewards.<\/p>\n\n\n\n<p>Useful commands:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn status<br>minecraft dqn player YourMinecraftName<br>minecraft dqn observe<br>minecraft dqn eval<br>minecraft dqn step<br>minecraft dqn train 1000<br>minecraft dqn off<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Client Controller<\/h3>\n\n\n\n<p>Client control lets DQN play through the Minecraft client running on EARTH.<\/p>\n\n\n\n<p>Useful commands:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn control client<br>minecraft dqn client status<br>minecraft dqn client focus on<br>minecraft dqn client foreground on<br>minecraft dqn client hold 900<br>minecraft dqn client mine-hold 1800<br>minecraft dqn client use-hold 350<br>minecraft dqn client mine<br>minecraft dqn client place<br>minecraft dqn client slot 1<br>minecraft dqn client look-up<br>minecraft dqn unstuck on<br>minecraft dqn wall-guard status<\/p>\n\n\n\n<p>Client control sends local keyboard\/mouse input to the Minecraft window. Movement actions hold their keys for movement_hold_ms so walking and sprinting feel continuous while _AI waits for the next server observation. The Spigot plugin still provides observations, rewards, wall\/collision sensors, safety events, arenas, goals, and replay logs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">MathNN \/ RLAgentNet<\/h3>\n\n\n\n<p>MathNN is the in-process neural-network backend. RLAgentNet wraps it as a reusable DQN learner for agents such as Minecraft, driving, gaming FPS, and strategy.<\/p>\n\n\n\n<p>Useful commands:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn net on<br>minecraft dqn net status<br>minecraft dqn net save minecraft_mathnn_checkpoint.txt<br>minecraft dqn net load minecraft_mathnn_checkpoint.txt<\/p>\n\n\n\n<p>MathNN brings:<\/p>\n\n\n\n<p><em>[text]<br><\/em>neural Q-value prediction<br>better generalization than simple tables or tiny hardcoded models<br>shared RL infrastructure<br>save\/load checkpoints<br>future offline replay training<br>metrics such as loss and observe count<\/p>\n\n\n\n<p>MathNN does not press keys. It decides actions. The client controller executes those actions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Executive Functions planner (high-level steps)<\/h3>\n\n\n\n<p>Minecraft DQN can advance <strong>Executive Functions<\/strong> plan steps alongside low-level<\/p>\n\n\n\n<p>motor actions. Setting a goal seeds a Minecraft-tagged plan (wall-guard, net on,<\/p>\n\n\n\n<p>observe, vision status, etc.). Each train\/eval step advances one executive<\/p>\n\n\n\n<p>step by default (setup\/safety only \u2014 nested train\/step from the planner is blocked).<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn plan on<br>minecraft dqn goal mine iron_ore<br>minecraft dqn plan detail<br>minecraft dqn plan next 2<br>minecraft dqn train 1000<br>minecraft dqn plan status<br>minecraft dqn plan steps 1<br>minecraft dqn plan off<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Build<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Build The Spigot Plugin<\/h3>\n\n\n\n<p>From the repo root:<\/p>\n\n\n\n<p><em>[powershell]<br><\/em>cd minecraft_spigot_plugin<br>gradle jar<\/p>\n\n\n\n<p>If Gradle is not on PATH, use the local Gradle launcher:<\/p>\n\n\n\n<p><em>[powershell]<br><\/em>.\\gradle\\bin\\gradle.bat jar<\/p>\n\n\n\n<p>The jar is written to:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft_spigot_plugin\/build\/libs\/AugmentedIntelligenceSpigotBridge-2.0.0.jar<\/p>\n\n\n\n<p>Copy that jar to JUPITER:<\/p>\n\n\n\n<p><em>[text]<br><\/em>&lt;minecraft-server&gt;\/plugins\/<\/p>\n\n\n\n<p>Restart the Minecraft server after replacing the jar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Build _AI<\/h3>\n\n\n\n<p>Build the Visual Studio project after native code changes. In this workspace the project is:<\/p>\n\n\n\n<p><em>[text]<br><\/em>_AugmentedIntelligence.vcxproj<\/p>\n\n\n\n<p>The Minecraft client controller is included in the project as:<\/p>\n\n\n\n<p><em>[text]<br><\/em>MinecraftClientController.cpp<br>MinecraftClientController.hpp<\/p>\n\n\n\n<p>For a focused bridge compile after editing Minecraft bridge code, use MSBuild&#8217;s selected-file target:<\/p>\n\n\n\n<p><em>[powershell]<br><\/em>&amp; &#8220;C:\\Program Files\\Microsoft Visual Studio\\18\\Community\\MSBuild\\Current\\Bin\\MSBuild.exe&#8221; `<br>&nbsp; _AugmentedIntelligence.vcxproj `<br>&nbsp; \/p:Configuration=Debug `<br>&nbsp; \/p:Platform=x64 `<br>&nbsp; \/t:ClCompile `<br>&nbsp; \/p:SelectedFiles=MinecraftSpigotBridge.cpp `<br>&nbsp; \/p:CL_MPCount=1<\/p>\n\n\n\n<p>Use the full Visual Studio build before shipping a complete _AI binary. The selected-file compile only proves that the bridge source compiles against the current project settings.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Network Setup<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">EARTH<\/h3>\n\n\n\n<p>EARTH runs _AI and the Minecraft client.<\/p>\n\n\n\n<p>Inside _AI:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft bridge configure 0.0.0.0 8765 YOUR_LONG_SHARED_TOKEN true<br>minecraft bridge start<br>minecraft bridge status<\/p>\n\n\n\n<p>PowerShell as Administrator on EARTH:<\/p>\n\n\n\n<p><em>[powershell]<br><\/em>Remove-NetFirewallRule -DisplayName &#8220;AI Spigot Bridge 8765 from JUPITER&#8221; -ErrorAction SilentlyContinue<br><br>New-NetFirewallRule `<br>&nbsp; -DisplayName &#8220;AI Spigot Bridge 8765 from JUPITER&#8221; `<br>&nbsp; -Direction Inbound `<br>&nbsp; -Protocol TCP `<br>&nbsp; -LocalPort 8765 `<br>&nbsp; -RemoteAddress 10.0.0.153 `<br>&nbsp; -Action Allow `<br>&nbsp; -Profile Any<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">JUPITER<\/h3>\n\n\n\n<p>JUPITER runs the Minecraft\/Spigot server.<\/p>\n\n\n\n<p>In:<\/p>\n\n\n\n<p><em>[text]<br><\/em>plugins\/AugmentedIntelligenceBridge\/config.yml<\/p>\n\n\n\n<p>Set:<\/p>\n\n\n\n<p><em>[yaml]<br><\/em>bridge:<br>&nbsp; host: &#8220;10.0.0.151&#8221;<br>&nbsp; port: 8765<br>&nbsp; token: &#8220;YOUR_LONG_SHARED_TOKEN&#8221;<br>&nbsp; server-id: &#8220;jupiter-survival&#8221;<\/p>\n\n\n\n<p>Then restart the Minecraft server or run:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai reload<br>\/ai connect<br>\/ai status<\/p>\n\n\n\n<p>Test from JUPITER:<\/p>\n\n\n\n<p><em>[powershell]<br><\/em>Test-NetConnection 10.0.0.151 -Port 8765<\/p>\n\n\n\n<p>You want:<\/p>\n\n\n\n<p><em>[text]<br><\/em>TcpTestSucceeded : True<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Plugin Configuration Reference<\/h2>\n\n\n\n<p>The plugin config is generated at:<\/p>\n\n\n\n<p><em>[text]<br><\/em>plugins\/AugmentedIntelligenceBridge\/config.yml<\/p>\n\n\n\n<p>The bridge section should point from JUPITER to EARTH:<\/p>\n\n\n\n<p><em>[yaml]<br><\/em>bridge:<br>&nbsp; host: &#8220;10.0.0.151&#8221;<br>&nbsp; port: 8765<br>&nbsp; token: &#8220;YOUR_LONG_SHARED_TOKEN&#8221;<br>&nbsp; server-id: &#8220;jupiter-survival&#8221;<br>&nbsp; reconnect-seconds: 5<br>&nbsp; observation-period-ticks: 20<br>&nbsp; send-all-players: true<br>&nbsp; primary-player: &#8220;&#8221;<\/p>\n\n\n\n<p>Important safety and action defaults:<\/p>\n\n\n\n<p><em>[yaml]<br><\/em>safety:<br>&nbsp; enabled: true<br>&nbsp; block-unsafe-ai-actions: true<br>&nbsp; allow-teleport-nudges: true<br>&nbsp; allow-effects: true<br>&nbsp; allow-weather: false<br>&nbsp; allow-time: false<br>&nbsp; allow-save: true<br>&nbsp; allow-return-to-memory: false<br>&nbsp; restrict-build-to-arena: false<br><br>actions:<br>&nbsp; dry-run: false<br>&nbsp; smooth-server-movement: true<br>&nbsp; smooth-move-ticks: 8<br>&nbsp; smooth-move-speed: 0.28<br>&nbsp; sneak-ticks: 30<\/p>\n\n\n\n<p>Keep these defaults conservative during early training:<\/p>\n\n\n\n<p><em>[text]<br><\/em>safety.enabled=true<br>safety.allow-return-to-memory=false<br>safety.allow-weather=false<br>safety.allow-time=false<br>arena.allow-world-edit=false<br>chat.require-mention=true<br>chat.listen-all=true<br>chat.listen-forward=true<\/p>\n\n\n\n<p>Only enable arena.allow-world-edit when you are ready for \/ai arena build<\/p>\n\n\n\n<p>to place blocks in the world. Only enable safety.allow-return-to-memory when<\/p>\n\n\n\n<p>you want action 92 to teleport a player to \/ai memory mark base.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Plugin Commands<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Bridge<\/h3>\n\n\n\n<p><em>[text]<br><\/em>\/ai help<br>\/ai status<br>\/ai connect<br>\/ai disconnect<br>\/ai reload<br>\/ai observe<br>\/ai monitor<br>\/ai debug [player]<br>\/ai explain [player]<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Plugin Integrations<\/h3>\n\n\n\n<p><em>[text]<br><\/em>\/ai integrations status<br>\/ai integrations scan<br>\/ai integrations list<br>\/ai integrations payload [player]<br>\/ai integrations observe on|off<br>\/ai integrations events on|off<br>\/ai integrations commands on|off<br>\/ai integrations args on|off<\/p>\n\n\n\n<p>Use integration fields as curriculum context, not as direct control. WorldGuard, GriefPrevention, Towny, Factions, Residence, and PlotSquared explain protected regions or claims. Vault, Jobs, Quests, mcMMO, Citizens, and MythicMobs can become reward or objective signals. Command observation is off by default; enable it only when you want metadata about allowlisted plugin commands included in bridge events.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Manual Actions<\/h3>\n\n\n\n<p><em>[text]<br><\/em>\/ai action &lt;id&gt; [player]<br>\/ai dryrun on<br>\/ai dryrun off<br>\/ai qvalues [player]<\/p>\n\n\n\n<p>Current plugin-side action IDs:<\/p>\n\n\n\n<p><em>[text]<br><\/em>0&nbsp; observe<br>1&nbsp; smooth_forward<br>2&nbsp; smooth_back<br>3&nbsp; smooth_strafe_left<br>4&nbsp; smooth_strafe_right<br>5&nbsp; jump<br>6&nbsp; smooth_sprint_forward<br>7&nbsp; turn_left<br>8&nbsp; turn_right<br>9&nbsp; break_target_block<br>10 place_target_block<br>11 client_hotbar_1<br>12 client_hotbar_2<br>13 client_hotbar_3<br>14 client_hotbar_4<br>15 client_hotbar_5<br>16 client_hotbar_6<br>17 client_hotbar_7<br>18 client_hotbar_8<br>19 client_hotbar_9<br>20 smooth_jump_forward<br>21 smooth_jump_sprint_forward<br>22 smooth_forward_left<br>23 smooth_forward_right<br>24 look_up<br>25 look_down<br>26 sneak<br>27 swim_up<br>28 swim_down<br>29 eat_food<br>30 select_best_tool<br>31 place_torch<br>32 equip_shield<br>33 use_item<br>34 open_close_door<br>35 look_at_nearest_hostile<br>36 look_at_nearest_item<br>37 look_at_nearest_player<br>38 pickup_nearest_item<br>39 craft_basic_tools<br>40 smelt_ore<br>41 sleep_at_night<br>42 return_safe_zone<br>43 return_arena_center<br>90 retreat<br>91 extinguish<br>92 return_to_base<br>93 coach_ping<br>94 clear_weather<br>95 set_day<br>96 save_world<\/p>\n\n\n\n<p>Actions 11 through 19 are client hotbar actions and only have an effect when _AI is controlling the Minecraft client. Action 92 is disabled by default. Enable:<\/p>\n\n\n\n<p><em>[yaml]<br><\/em>safety:<br>&nbsp; allow-return-to-memory: true<\/p>\n\n\n\n<p>only if you want the plugin to teleport players to \/ai memory mark base.<\/p>\n\n\n\n<p>Actions 94 and 95 require safety.allow-weather: true and<\/p>\n\n\n\n<p>safety.allow-time: true. These stay disabled by default so training cannot<\/p>\n\n\n\n<p>silently change server weather or time.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Safety<\/h3>\n\n\n\n<p><em>[text]<br><\/em>\/ai safety<br>\/ai safety on<br>\/ai safety off<br>\/ai safety build-zone on<br>\/ai safety build-zone off<\/p>\n\n\n\n<p>Safety checks include:<\/p>\n\n\n\n<p><em>[text]<br><\/em>low health<br>low food<br>nearby hostiles<br>near lava<br>fall risk<br>burning<br>dead player<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Coach<\/h3>\n\n\n\n<p><em>[text]<br><\/em>\/ai coach on<br>\/ai coach off<br>\/ai coach status<br>\/ai coach explain [player]<br>\/ai explain [player]<\/p>\n\n\n\n<p>Coach mode gives local survival advice and is useful during early training.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">LLM Chat<\/h3>\n\n\n\n<p>The plugin can forward player chat to _AI, where the configured LLM\/router generates a concise Minecraft chat reply. Each chat prompt includes the player message plus Minecraft context: health, food, biome, selected item, active goal, arena, safety state, nearby players, nearby hostiles, nearest memory, player preference, and recent transcript.<\/p>\n\n\n\n<p>Default player usage:<\/p>\n\n\n\n<p><em>[text]<br><\/em>!ai what should I do next?<br>@ai where is base?<\/p>\n\n\n\n<p>Core plugin controls:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai chat status<br>\/ai chat on<br>\/ai chat off<br>\/ai chat trigger !ai<br>\/ai chat mention @ai<br>\/ai chat require-mention on<br>\/ai chat scope private<br>\/ai chat scope nearby<br>\/ai chat scope team<br>\/ai chat scope global<br>\/ai chat cooldown 3<br>\/ai chat model llama3<br>\/ai chat system survival_coach<br>\/ai chat ask what should I do next?<br>\/ai chat transcript YourPlayer 12<br>\/ai chat clear-memory YourPlayer<br>\/ai chat mute PlayerName<br>\/ai chat unmute PlayerName<br>\/ai chat preference YourPlayer short tactical survival advice<br>\/ai chat metrics<\/p>\n\n\n\n<p>_AI bridge controls:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft bridge chat status<br>minecraft bridge chat metrics<br>minecraft bridge chat on<br>minecraft bridge chat off<br>minecraft bridge chat cooldown 3<br>minecraft bridge chat model llama3<br>minecraft bridge chat system survival_coach<br>minecraft bridge chat clear YourPlayer<br>minecraft bridge chat say @a hello from _AI<\/p>\n\n\n\n<p>Training use:<\/p>\n\n\n\n<p><em>[text]<br><\/em>!ai collect wood<br>!ai mine iron<br>!ai return to base<br>!ai survive<br>!ai start flatwalk training<br>!ai next phase<br>!ai good<br>!ai bad<br>!ai try turn left when blocked<br>!ai remember this as base<br>!ai what happened last run<br>!ai why did you do that<\/p>\n\n\n\n<p>With chat.require-mention=true, the bot only <strong>replies<\/strong> when a player uses !ai \/ @ai. With chat.listen-all=true (default), ordinary player chat is still <strong>read<\/strong>: it is stored in transcripts and passively forwarded to _AI for context (expect_reply=false), so the next mention can use recent server chat. Use \/ai chat mode listen for that setup, \/ai chat mode mention to ignore unmentioned chat entirely, or \/ai chat mode all to answer every line. Use chat.scope=private while training one player, nearby for small co-op testing, and global only for operator announcements.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Memory<\/h3>\n\n\n\n<p><em>[text]<br><\/em>\/ai memory mark base<br>\/ai memory mark mine<br>\/ai memory mark village<br>\/ai memory list<br>\/ai memory nearest<br>\/ai memory remove base<\/p>\n\n\n\n<p>Memory markers are stored per player in:<\/p>\n\n\n\n<p><em>[text]<br><\/em>plugins\/AugmentedIntelligenceBridge\/memory.yml<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Replay Logging<\/h3>\n\n\n\n<p><em>[text]<br><\/em>\/ai replay start<br>\/ai replay status<br>\/ai replay stop<br>\/ai replay file<br>\/ai replay export<\/p>\n\n\n\n<p>Replay logs are JSONL files under:<\/p>\n\n\n\n<p><em>[text]<br><\/em>plugins\/AugmentedIntelligenceBridge\/replay\/<\/p>\n\n\n\n<p>These logs are useful for offline training and debugging.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Goals<\/h3>\n\n\n\n<p><em>[text]<br><\/em>\/ai goal list<br>\/ai goal set survive_60 [player]<br>\/ai goal set mob_avoidance [player]<br>\/ai goal set collect_wood [player]<br>\/ai goal set mine_iron [player]<br>\/ai goal set return_to_base [player]<br>\/ai goal status [player]<br>\/ai goal clear [player]<br>\/ai goal suggest [player]<\/p>\n\n\n\n<p>Goal profiles currently include:<\/p>\n\n\n\n<p><em>[text]<br><\/em>survive_60<br>mob_avoidance<br>collect_wood<br>mine_iron<br>return_to_base<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quests<\/h3>\n\n\n\n<p><em>[text]<br><\/em>\/ai quest suggest [player]<br>\/ai quest start [player]<\/p>\n\n\n\n<p>Quest commands choose a goal based on the player state.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Follow Mode<\/h3>\n\n\n\n<p><em>[text]<br><\/em>\/ai follow &lt;target-player&gt; [follower]<br>\/ai follow stop [follower]<br>\/ai follow status [follower]<\/p>\n\n\n\n<p>Follow mode is useful for guided data collection. Let the bot follow a real player through routes you want it to learn, keep replay logging enabled, then repeat the same area without follow mode during DQN training.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">HUD<\/h3>\n\n\n\n<p><em>[text]<br><\/em>\/ai hud on<br>\/ai hud off<br>\/ai hud status<\/p>\n\n\n\n<p>The HUD shows training-relevant state in-game, including goal, arena, follow status, health, food, held item, target block, and position.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Curriculum, Teaching, And Metrics<\/h3>\n\n\n\n<p><em>[text]<br><\/em>\/ai curriculum list<br>\/ai curriculum start [phase] [player]<br>\/ai curriculum next [player]<br>\/ai curriculum reset [player]<br>\/ai curriculum stop [player]<br>\/ai curriculum status [player]<br>\/ai teach start [player]<br>\/ai teach stop [player]<br>\/ai teach good [note] [player]<br>\/ai teach bad [note] [player]<br>\/ai teach try &lt;hint&gt; [player]<br>\/ai metrics status [player]<br>\/ai metrics actions [player]<br>\/ai metrics reward [player]<br>\/ai metrics recent [player]<br>\/ai metrics prometheus<br>\/ai metrics export<br>\/ai metrics dashboard<br>\/ai ml status [player]<br>\/ai ml systems<br>\/ai ml train replay<br>\/ai ml behavior [player]<br>\/ai ml bc [player]<br>\/ai ml reward [player]<br>\/ai ml stuck [player]<br>\/ai ml nav [player]<br>\/ai ml planner [player]<br>\/ai ml player [player]<br>\/ai ml coach [player]<br>\/ai ml death [player]<br>\/ai ml roles<br>\/ai ml anomaly<br>\/ai ml grief [player]<br>\/ai ml memory [player]<br>\/ai ml mathnn [player]<br>\/ai ml vision request [player]<br>\/ai ml quest [player]<br>\/ai ml council [player]<br>\/ai ml export<br>\/ai ml dashboard<\/p>\n\n\n\n<p>The curriculum runner creates\/starts phase arenas and applies the matching goal profile. Teaching commands write replay records and send small reward\/correction events. Metrics track action distribution, repeated-action loops, reward totals, death snapshots, and dashboard export data.<\/p>\n\n\n\n<p>The \/ai ml commands add lightweight server-side models around that data. They do not replace the DQN or MathNN learner in _AI; they provide live summaries and bridge requests:<\/p>\n\n\n\n<p><em>[text]<br><\/em>replay trainer = scans bounded replay JSONL files and summarizes observations\/actions\/events<br>behavior cloning = counts demonstrated and successful actions into action priors<br>reward model = summarizes events, rewards, and teach good\/bad feedback<br>stuck classifier = detects low-motion and blocked-direction states<br>navigability model = scores forward\/left\/right\/back and terrain signatures<br>hierarchical planner = chooses a local plan from safety, stuck state, goal, and memory<br>player model = tracks chat intent, preferences, rough skills, spam\/toxicity signals<br>roles\/council = suggests miner\/builder\/guard\/coach\/explorer roles for online players<br>anomaly\/grief = watches server tick timing and rapid block edits outside arenas<br>coach\/death = sends structured bridge requests for LLM session coaching and death review<br>mathnn\/vision = sends bridge requests for `_AI`\/EARTH-side neural or screenshot systems<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Arenas<\/h3>\n\n\n\n<p><em>[text]<br><\/em>\/ai arena create survival 12<br>\/ai arena start survival survive_60 YourMinecraftName<br>\/ai arena status YourMinecraftName<br>\/ai arena reset YourMinecraftName<br>\/ai arena stop YourMinecraftName<\/p>\n\n\n\n<p>By default, arena creation only records an arena marker. It does not edit blocks.<\/p>\n\n\n\n<p>The command below edits the world only if enabled:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai arena build survival flat<br>\/ai arena build survival hallway<br>\/ai arena build survival wall<br>\/ai arena build survival steps<br>\/ai arena build survival bridge<br>\/ai arena build survival pit<br>\/ai arena build survival obstacle<br>\/ai arena build survival random<\/p>\n\n\n\n<p>To enable block editing:<\/p>\n\n\n\n<p><em>[yaml]<br><\/em>arena:<br>&nbsp; allow-world-edit: true<\/p>\n\n\n\n<p>Keep this off until you are ready to let the plugin place floor\/fence\/torch blocks.<\/p>\n\n\n\n<p>Use flat for first movement tests, wall and hallway for stuck recovery, steps and pit for jump timing, bridge for block placement and path correction, and obstacle for mixed navigation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Operator Utilities<\/h3>\n\n\n\n<p><em>[text]<br><\/em>\/ai kit miner [player]<br>\/ai kit builder [player]<br>\/ai kit survival [player]<br>\/ai kit torch [player]<br>\/ai kit clear [player]<br>\/ai path [player]<br>\/ai route &lt;from-marker&gt; &lt;to-marker&gt; [player]<br>\/ai mob spawn &lt;zombie|skeleton|spider|creeper&gt; [count] [player]<\/p>\n\n\n\n<p>Kits are training aids for controlled sessions. path reports why forward,<\/p>\n\n\n\n<p>left, right, or back is blocked from the player&#8217;s current yaw. route measures<\/p>\n\n\n\n<p>distance between two memory markers in the same world. mob spawn is for<\/p>\n\n\n\n<p>controlled survival-pressure tests; keep counts low and use arenas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">DQN Commands<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Observation and Planning<\/h3>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn status<br>minecraft dqn player YourMinecraftName<br>minecraft dqn observe<br>minecraft dqn eval<br>minecraft dqn dry-run<br>minecraft dqn qvalues<br>minecraft dqn explain 10<\/p>\n\n\n\n<p>Meanings:<\/p>\n\n\n\n<p><em>[text]<br><\/em>observe = read latest state<br>eval&nbsp;&nbsp;&nbsp; = choose\/check current policy mode<br>dry-run = choose action without sending it<br>qvalues = show the compact DQN&#8217;s top legal action values<br>explain = show planned action plus top legal Q-values<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Single-Step Training<\/h3>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn step<\/p>\n\n\n\n<p>step does one RL cycle:<\/p>\n\n\n\n<p><em>[text]<br><\/em>observe current state<br>choose one action<br>send that action<br>observe next state<br>collect reward\/event feedback<br>store transition<br>train once if mode=train<br>stop<\/p>\n\n\n\n<p>Use step for early testing.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Autonomous Training<\/h3>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn train 1000<\/p>\n\n\n\n<p>train [interval_ms] starts a background loop that repeatedly runs step.<\/p>\n\n\n\n<p>Stop it with:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn off<\/p>\n\n\n\n<p>or:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn eval<br>minecraft dqn observe<\/p>\n\n\n\n<p>Change the delay:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn interval 2000<\/p>\n\n\n\n<p>Check whether it is running:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn status<\/p>\n\n\n\n<p>Look for:<\/p>\n\n\n\n<p><em>[text]<br><\/em>mode=train<br>auto_train=running<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Control Modes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Server Control<\/h3>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn control server<\/p>\n\n\n\n<p>Actions are sent to the Spigot bridge or RCON. This is useful for server automation and safe allowlisted actions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Client Control<\/h3>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn control client<\/p>\n\n\n\n<p>Actions are sent as keyboard\/mouse input to your local Minecraft client on EARTH.<\/p>\n\n\n\n<p>Client action mapping:<\/p>\n\n\n\n<p><em>[text]<br><\/em>0 observe<br>1 W \/ forward<br>2 S \/ back<br>3 A \/ strafe left<br>4 D \/ strafe right<br>5 space \/ jump<br>6 ctrl+W \/ sprint forward<br>7 mouse turn left<br>8 mouse turn right<br>9 left click \/ attack<br>10 right click \/ use or place<br>11 hotbar slot 1<br>12 hotbar slot 2<br>13 hotbar slot 3<br>14 hotbar slot 4<br>15 hotbar slot 5<br>16 hotbar slot 6<br>17 hotbar slot 7<br>18 hotbar slot 8<br>19 hotbar slot 9<br>20 W+space \/ jump forward<br>21 ctrl+W+space \/ sprint jump forward<br>22 W+A \/ forward left<br>23 W+D \/ forward right<br>24 mouse look up<br>25 mouse look down<\/p>\n\n\n\n<p>Useful client commands:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn client status<br>minecraft dqn client focus on<br>minecraft dqn client foreground on<br>minecraft dqn client title Minecraft<br>minecraft dqn client hold 900<br>minecraft dqn client mine-hold 1800<br>minecraft dqn client use-hold 350<br>minecraft dqn client mine<br>minecraft dqn client action 9<br>minecraft dqn client place<br>minecraft dqn client action 10<br>minecraft dqn client release<br>minecraft dqn wall-guard on<br>minecraft dqn wall-guard status<\/p>\n\n\n\n<p>Recommended for client control:<\/p>\n\n\n\n<p><em>[text]<br><\/em>Minecraft window open on EARTH<br>Minecraft connected to JUPITER<br>Minecraft window in foreground<br>_AI running on EARTH<br>Spigot bridge connected<br>wall_guard=on<br>movement_hold_ms=900<\/p>\n\n\n\n<p>When wall_guard=on, DQN avoids choosing client movement actions that the plugin reports as blocked. Blocked movement attempts are also penalized in the reward function so the policy learns to turn, back up, strafe, jump, or attack instead of holding forward into a wall.<\/p>\n\n\n\n<p>minecraft dqn client hold &lt;milliseconds&gt; controls how long movement keys stay down for forward, back, strafe, and sprint actions. Sprint holds W plus left control for this duration. minecraft dqn client mine-hold &lt;milliseconds&gt; controls how long the left mouse button is held for the client_mine_hold action, which is what lets the DQN break blocks instead of only tapping attack. minecraft dqn client use-hold &lt;milliseconds&gt; controls how long right mouse is held for the client_place_hold action. Use minecraft dqn client mine or minecraft dqn client action 9 to manually test mining, minecraft dqn client place or minecraft dqn client action 10 to manually test right-click block placement\/use, and minecraft dqn client slot &lt;1-9&gt; to test hotbar selection. Use minecraft dqn client release if you ever need to force held movement or mouse input up.<\/p>\n\n\n\n<p>Server-side movement actions can be smoothed by the Spigot plugin instead of teleporting one block at a time:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai movement status<br>\/ai movement smooth on<br>\/ai movement ticks 8<br>\/ai movement speed 0.28<\/p>\n\n\n\n<p>Additional plugin features:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai follow &lt;target-player&gt; [follower]<br>\/ai hud on<br>\/ai safety build-zone on<br>\/ai replay file<br>\/ai arena build &lt;name&gt; hallway|wall|steps|bridge|pit|obstacle<\/p>\n\n\n\n<p>The plugin observation includes target block, target distance\/hardness, placeable-face, hotbar slot, selected item count, inventory tool flags, food\/block availability, wood\/cobblestone\/torch counts, yaw\/pitch, and local block-grid signals. These fields give the DQN enough context to learn when to mine, place, switch hotbar slots, jump, or turn.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Hybrid Control<\/h3>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn control both<\/p>\n\n\n\n<p>This sends client actions and server actions. Use this only for debugging because it can double-apply effects.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">MathNN Training<\/h2>\n\n\n\n<p>Enable MathNN-backed neural DQN:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn net on<br>minecraft dqn net status<\/p>\n\n\n\n<p>Save\/load:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn net save minecraft_mathnn_checkpoint.txt<br>minecraft dqn net load minecraft_mathnn_checkpoint.txt<\/p>\n\n\n\n<p>MathNN is useful because it can learn a state-to-Q-values function:<\/p>\n\n\n\n<p><em>[text]<br><\/em>state -&gt; Q(action 0), Q(action 1), &#8230; Q(action N)<\/p>\n\n\n\n<p>That lets the agent generalize across similar states. The built-in compact DQN can work for smoke tests, but MathNN is the better long-term backend.<\/p>\n\n\n\n<p>Recommended MathNN workflow:<\/p>\n\n\n\n<p><em>[text]<br><\/em>1. Run plugin replay logging.<br>2. Train with single-step DQN in a controlled arena.<br>3. Enable MathNN with minecraft dqn net on.<br>4. Run short autonomous training windows.<br>5. Save checkpoints after stable behavior.<br>6. Later, train offline on NEPTUNE from replay logs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">First Safe Training Run<\/h2>\n\n\n\n<p>Use this sequence when starting fresh.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">In Minecraft<\/h3>\n\n\n\n<p><em>[text]<br><\/em>\/ai status<br>\/ai safety<br>\/ai coach on<br>\/ai memory mark base<br>\/ai replay start<br>\/ai dryrun on<br>\/ai arena create survival 12<br>\/ai arena start survival survive_60 YourMinecraftName<br>\/ai goal status YourMinecraftName<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">In _AI<\/h3>\n\n\n\n<p><em>[text]<br><\/em>minecraft bridge status<br>minecraft dqn player YourMinecraftName<br>minecraft dqn control client<br>minecraft dqn client status<br>minecraft dqn client focus on<br>minecraft dqn client hold 900<br>minecraft dqn client mine-hold 1800<br>minecraft dqn client use-hold 350<br>minecraft dqn client mine<br>minecraft dqn client place<br>minecraft dqn observe<br>minecraft dqn dry-run<\/p>\n\n\n\n<p>If dry-run looks sane:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai dryrun off<\/p>\n\n\n\n<p>Then run single steps:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn step<br>minecraft dqn status<\/p>\n\n\n\n<p>Repeat manually 10 to 20 times.<\/p>\n\n\n\n<p>If it behaves safely:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn train 1000<\/p>\n\n\n\n<p>Stop it:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn off<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Training Curriculum<\/h2>\n\n\n\n<p>Train one behavior at a time. Do not start in open survival and expect useful learning: the action space includes movement, camera control, mining, placing, and hotbar selection, so the early reward signal must be simple and repeatable.<\/p>\n\n\n\n<p>Use this rule for promotion:<\/p>\n\n\n\n<p><em>[text]<br><\/em>Promote only when the agent completes the current phase 3 runs in a row without death, safety intervention, or repeated wall pushing.<\/p>\n\n\n\n<p>Use this rule for rollback:<\/p>\n\n\n\n<p><em>[text]<br><\/em>If the agent dies twice in 10 minutes or gets stuck for more than 30 seconds, stop training, reset the arena, and go back one phase.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Standard Session Setup<\/h3>\n\n\n\n<p>Run this at the start of every training session.<\/p>\n\n\n\n<p>In Minecraft:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai status<br>\/ai safety on<br>\/ai coach on<br>\/ai hud on<br>\/ai replay start<br>\/ai memory mark base<br>\/ai integrations status<\/p>\n\n\n\n<p>In _AI:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft bridge status<br>minecraft dqn player YourMinecraftName<br>minecraft dqn control client<br>minecraft dqn client focus on<br>minecraft dqn client hold 900<br>minecraft dqn client mine-hold 1800<br>minecraft dqn client use-hold 350<br>minecraft dqn wall-guard on<br>minecraft dqn unstuck on<br>minecraft dqn observe<br>minecraft dqn status<\/p>\n\n\n\n<p>Use MathNN once the basic loop is stable:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn net on<br>minecraft dqn net status<\/p>\n\n\n\n<p>Keep training windows short. Start with minecraft dqn train 1000, stop after 2 to 5 minutes, inspect behavior, then continue. Faster intervals such as 250 or 500 are useful only after observations are clearly updating and the client is responding correctly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Phase 0: Bridge And Sensor Baseline<\/h3>\n\n\n\n<p>Goal:<\/p>\n\n\n\n<p><em>[text]<br><\/em>prove the plugin, bridge, observations, rewards, and replay logging work before learning starts<\/p>\n\n\n\n<p>Commands:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai observe<br>\/ai debug YourMinecraftName<br>minecraft bridge status<br>minecraft dqn observe<br>minecraft dqn dry-run<\/p>\n\n\n\n<p>Watch for:<\/p>\n\n\n\n<p><em>[text]<br><\/em>connected=yes<br>observations increasing<br>health and food correct<br>target_block_type present<br>hotbar_slot present<br>blocked={&#8230;} present<br>plugin_integrations_count present<\/p>\n\n\n\n<p>Promote when:<\/p>\n\n\n\n<p><em>[text]<br><\/em>three consecutive observe calls show fresh state<br>dry-run selects an action without sending it<br>replay logging is active<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Phase 1: Manual Client Calibration<\/h3>\n\n\n\n<p>Goal:<\/p>\n\n\n\n<p><em>[text]<br><\/em>prove every physical input works through your Minecraft client on EARTH<\/p>\n\n\n\n<p>Commands:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn control client<br>minecraft dqn client status<br>minecraft dqn client focus on<br>minecraft dqn client action 1<br>minecraft dqn client action 6<br>minecraft dqn client action 7<br>minecraft dqn client action 8<br>minecraft dqn client action 20<br>minecraft dqn client action 21<br>minecraft dqn client look-up<br>minecraft dqn client look-down<br>minecraft dqn client slot 1<br>minecraft dqn client slot 2<br>minecraft dqn client mine<br>minecraft dqn client place<br>minecraft dqn client release<\/p>\n\n\n\n<p>Promote when:<\/p>\n\n\n\n<p><em>[text]<br><\/em>forward and sprint move smoothly<br>turn actions rotate the camera<br>look up\/down changes pitch<br>hotbar slots change<br>left mouse holds long enough to break a soft block<br>right mouse places or uses the held item<\/p>\n\n\n\n<p>If movement is choppy, raise the hold time:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn client hold 1100<\/p>\n\n\n\n<p>If mining only taps, raise the mine hold:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn client mine-hold 2400<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Phase 2: Flat Arena Locomotion<\/h3>\n\n\n\n<p>Goal:<\/p>\n\n\n\n<p><em>[text]<br><\/em>learn that forward, turn, strafe, jump, and sprint affect position without danger<\/p>\n\n\n\n<p>In Minecraft:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai arena create flatwalk 12<br>\/ai arena build flatwalk flat<br>\/ai arena start flatwalk survive_60 YourMinecraftName<br>\/ai goal set survive_60 YourMinecraftName<\/p>\n\n\n\n<p>In _AI:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn observe<br>minecraft dqn step<br>minecraft dqn status<\/p>\n\n\n\n<p>Run 10 to 20 manual steps first. Then:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn train 1000<\/p>\n\n\n\n<p>Promote when:<\/p>\n\n\n\n<p><em>[text]<br><\/em>the player moves around the arena instead of idling<br>health remains stable<br>blocked movement is rare<br>no death or safety intervention occurs for 3 short runs<\/p>\n\n\n\n<p>Save a baseline checkpoint:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn save<br>minecraft dqn net save minecraft_phase02_flatwalk.txt<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Phase 3: Wall And Hallway Recovery<\/h3>\n\n\n\n<p>Goal:<\/p>\n\n\n\n<p><em>[text]<br><\/em>learn not to hold forward into walls and learn to turn, back up, strafe, jump, or mine when blocked<\/p>\n\n\n\n<p>Use a simple wall first:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai arena create walltest 10<br>\/ai arena build walltest wall<br>\/ai arena start walltest survive_60 YourMinecraftName<br>\/ai goal set survive_60 YourMinecraftName<\/p>\n\n\n\n<p>Then use a hallway:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai arena create hallway 12<br>\/ai arena build hallway hallway<br>\/ai arena start hallway survive_60 YourMinecraftName<\/p>\n\n\n\n<p>In _AI:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn wall-guard on<br>minecraft dqn unstuck on<br>minecraft dqn train 1000<\/p>\n\n\n\n<p>Watch for:<\/p>\n\n\n\n<p><em>[text]<br><\/em>blocked_forward changing correctly<br>turn_left or turn_right after blocked_forward<br>back, strafe, jump_forward, or break_target_block when blocked<br>stuck_ticks staying low in minecraft dqn status<\/p>\n\n\n\n<p>Promote when:<\/p>\n\n\n\n<p><em>[text]<br><\/em>the agent recovers from a wall contact within 5 seconds<br>it does not repeatedly press forward into the same wall<br>it can travel through the hallway for 3 runs without manual rescue<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Phase 4: Jump Timing And Uneven Terrain<\/h3>\n\n\n\n<p>Goal:<\/p>\n\n\n\n<p><em>[text]<br><\/em>learn jump_forward, sprint_jump_forward, pitch control, and recovery around ledges<\/p>\n\n\n\n<p>Use steps first:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai arena create steps 12<br>\/ai arena build steps steps<br>\/ai arena start steps survive_60 YourMinecraftName<\/p>\n\n\n\n<p>Then use a pit:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai arena create pit 12<br>\/ai arena build pit pit<br>\/ai arena start pit survive_60 YourMinecraftName<\/p>\n\n\n\n<p>Train slowly:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn train 1000<\/p>\n\n\n\n<p>Promote when:<\/p>\n\n\n\n<p><em>[text]<br><\/em>the agent climbs simple steps<br>the agent avoids repeatedly falling into the pit<br>fall-risk safety events are rare<br>the agent uses jump_forward or sprint_jump_forward when elevation changes<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Phase 5: Target Block Mining<\/h3>\n\n\n\n<p>Goal:<\/p>\n\n\n\n<p><em>[text]<br><\/em>learn when looking at a breakable block should trigger mining instead of movement<\/p>\n\n\n\n<p>Manual setup:<\/p>\n\n\n\n<p><em>[text]<br><\/em>put a wooden, dirt, stone, or low-hardness target block inside the arena<br>put the correct tool in hotbar slot 1 or slot 2<br>face the player toward the target block<\/p>\n\n\n\n<p>Commands:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn client slot 1<br>minecraft dqn client mine<br>minecraft dqn observe<br>\/ai goal set collect_wood YourMinecraftName<br>minecraft dqn train 1000<\/p>\n\n\n\n<p>Watch for:<\/p>\n\n\n\n<p><em>[text]<br><\/em>target_block_type is not air<br>target_block_breakable=true<br>target_block_distance is reasonable<br>has_pickaxe or has_axe is true when the tool is carried<br>block_break events appear in replay logs<\/p>\n\n\n\n<p>Promote when:<\/p>\n\n\n\n<p><em>[text]<br><\/em>the agent breaks visible soft blocks reliably<br>it does not mine air for long periods<br>it switches away from movement when a useful target block is directly in front<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Phase 6: Block Placement And Bridging<\/h3>\n\n\n\n<p>Goal:<\/p>\n\n\n\n<p><em>[text]<br><\/em>learn hotbar selection, right-click placement, and correction around gaps<\/p>\n\n\n\n<p>Manual setup:<\/p>\n\n\n\n<p><em>[text]<br><\/em>put blocks in hotbar slot 2 or slot 3<br>stand near a safe gap or bridge arena<\/p>\n\n\n\n<p>Commands:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai arena create bridge 12<br>\/ai arena build bridge bridge<br>\/ai arena start bridge survive_60 YourMinecraftName<br>minecraft dqn client slot 2<br>minecraft dqn client place<br>minecraft dqn observe<br>minecraft dqn train 1000<\/p>\n\n\n\n<p>Watch for:<\/p>\n\n\n\n<p><em>[text]<br><\/em>has_placeable_blocks=true<br>target_placeable_face=true near usable faces<br>block_place events in replay logs<br>fewer falls after placement begins<\/p>\n\n\n\n<p>Promote when:<\/p>\n\n\n\n<p><em>[text]<br><\/em>the agent places blocks only near valid faces<br>it crosses or repairs simple gaps in 3 consecutive runs<br>it does not spam right-click into empty air<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Phase 7: Resource Goals<\/h3>\n\n\n\n<p>Goal:<\/p>\n\n\n\n<p><em>[text]<br><\/em>connect movement, camera control, hotbar, mining, and inventory changes to goal rewards<\/p>\n\n\n\n<p>Start with wood:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai goal set collect_wood YourMinecraftName<br>minecraft dqn train 1000<\/p>\n\n\n\n<p>Then use stone or iron when tools and target blocks are available:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai goal set mine_iron YourMinecraftName<br>minecraft dqn train 1000<\/p>\n\n\n\n<p>Watch for:<\/p>\n\n\n\n<p><em>[text]<br><\/em>wood_count or cobblestone_count increasing<br>block_break events with positive rewards<br>less random movement after target blocks appear<\/p>\n\n\n\n<p>Promote when:<\/p>\n\n\n\n<p><em>[text]<br><\/em>inventory counts increase during training<br>the agent faces and mines useful blocks more often than empty space<br>the agent survives the resource task without repeated rescue<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Phase 8: Survival Pressure<\/h3>\n\n\n\n<p>Goal:<\/p>\n\n\n\n<p><em>[text]<br><\/em>learn to avoid damage, hunger, hostiles, lava, fire, and fall risk<\/p>\n\n\n\n<p>Start on easy, controlled terrain:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai goal set mob_avoidance YourMinecraftName<br>\/ai safety on<br>minecraft dqn train 1000<\/p>\n\n\n\n<p>Increase difficulty gradually:<\/p>\n\n\n\n<p><em>[text]<br><\/em>add one hostile nearby<br>train for 2 minutes<br>reset the arena<br>repeat<\/p>\n\n\n\n<p>Watch for:<\/p>\n\n\n\n<p><em>[text]<br><\/em>nearby_hostiles<br>health changes<br>food changes<br>safety events<br>death events<br>retreat or evasive movement<\/p>\n\n\n\n<p>Promote when:<\/p>\n\n\n\n<p><em>[text]<br><\/em>the agent avoids repeated damage<br>it moves away from danger more often than toward it<br>death does not dominate replay logs<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Phase 9: Return To Base And Follow Mode<\/h3>\n\n\n\n<p>Goal:<\/p>\n\n\n\n<p><em>[text]<br><\/em>learn recovery behavior around a known base marker and player-guided sessions<\/p>\n\n\n\n<p>Commands:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai memory mark base<br>\/ai goal set return_to_base YourMinecraftName<br>\/ai follow YourMinecraftName BotPlayer<br>\/ai follow status BotPlayer<br>minecraft dqn train 1000<\/p>\n\n\n\n<p>Use follow mode as a guided data collection tool. Walk routes that demonstrate useful behavior, keep replay logging on, then train in the same area without follow mode.<\/p>\n\n\n\n<p>Promote when:<\/p>\n\n\n\n<p><em>[text]<br><\/em>the agent stays near the player during guided sessions<br>the agent recovers toward base after wandering<br>follow mode can be stopped without the agent immediately getting lost<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Phase 10: Mixed Obstacle Arena<\/h3>\n\n\n\n<p>Goal:<\/p>\n\n\n\n<p><em>[text]<br><\/em>combine movement, mining, placing, hotbar use, survival sensors, and stuck recovery<\/p>\n\n\n\n<p>Commands:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai arena create mixed 16<br>\/ai arena build mixed obstacle<br>\/ai arena start mixed survive_60 YourMinecraftName<br>\/ai goal suggest YourMinecraftName<br>minecraft dqn net on<br>minecraft dqn train 1000<\/p>\n\n\n\n<p>Training pattern:<\/p>\n\n\n\n<p><em>[text]<br><\/em>2 minutes train<br>minecraft dqn off<br>minecraft dqn status<br>\/ai replay status<br>\/ai arena reset YourMinecraftName<br>repeat 3 to 5 times<\/p>\n\n\n\n<p>Promote when:<\/p>\n\n\n\n<p><em>[text]<br><\/em>the agent survives the mixed arena<br>it uses several different actions instead of one dominant action<br>stuck recovery works without constant manual intervention<br>reward trend improves over repeated runs<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Phase 11: Open Survival Trials<\/h3>\n\n\n\n<p>Goal:<\/p>\n\n\n\n<p><em>[text]<br><\/em>test whether arena skills transfer to normal gameplay<\/p>\n\n\n\n<p>Rules:<\/p>\n\n\n\n<p><em>[text]<br><\/em>keep safety on<br>keep replay logging on<br>start close to base<br>train in 2 to 5 minute windows<br>stop after any death<br>save checkpoints only after stable runs<\/p>\n\n\n\n<p>Commands:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai memory mark base<br>\/ai goal suggest YourMinecraftName<br>minecraft dqn train 1000<br>minecraft dqn off<br>minecraft dqn save<br>minecraft dqn net save minecraft_open_survival_candidate.txt<\/p>\n\n\n\n<p>Promote when:<\/p>\n\n\n\n<p><em>[text]<br><\/em>the agent can move, recover from obstacles, mine simple targets, place blocks, and survive short windows near base<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Checkpoint Discipline<\/h3>\n\n\n\n<p>Use a checkpoint per phase. Do not overwrite the last good checkpoint during experiments.<\/p>\n\n\n\n<p>Suggested names:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft_phase02_flatwalk.txt<br>minecraft_phase03_hallway.txt<br>minecraft_phase04_steps.txt<br>minecraft_phase05_mining.txt<br>minecraft_phase06_placement.txt<br>minecraft_phase10_mixed.txt<br>minecraft_open_survival_candidate.txt<\/p>\n\n\n\n<p>Save after stable behavior:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn save<br>minecraft dqn net save minecraft_phase03_hallway.txt<\/p>\n\n\n\n<p>Load the last stable checkpoint after a bad run:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn off<br>minecraft dqn net load minecraft_phase03_hallway.txt<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Reading Training Health<\/h3>\n\n\n\n<p>Good signs:<\/p>\n\n\n\n<p><em>[text]<br><\/em>observations increase every step<br>actions vary by context<br>wall contacts become shorter<br>block_break and block_place rewards appear when expected<br>death events are rare<br>reward improves over repeated short runs<\/p>\n\n\n\n<p>Bad signs:<\/p>\n\n\n\n<p><em>[text]<br><\/em>same action repeats forever<br>obs counter does not change<br>dry-run is still enabled<br>Minecraft client is not foreground<br>wall_guard is off during obstacle phases<br>replay is mostly death, damage, or blocked movement<\/p>\n\n\n\n<p>When behavior degrades:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn off<br>minecraft dqn client release<br>\/ai arena reset YourMinecraftName<br>minecraft dqn observe<br>minecraft dqn dry-run<\/p>\n\n\n\n<p>Then return to the last phase that was stable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Plugin ML Systems<\/h2>\n\n\n\n<p>The current system supports client movement, hotbar selection, looking, mining, placing, target-block observations, inventory observations, unstuck recovery, arenas, follow mode, HUD, replay logging, plugin integration context, MathNN-backed DQN in _AI, and plugin-side ML telemetry.<\/p>\n\n\n\n<p>Run these after a training session:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai ml train replay<br>\/ai ml status YourMinecraftName<br>\/ai ml behavior YourMinecraftName<br>\/ai ml reward YourMinecraftName<br>\/ai ml stuck YourMinecraftName<br>\/ai ml nav YourMinecraftName<br>\/ai ml planner YourMinecraftName<br>\/ai ml death YourMinecraftName<br>\/ai ml export<\/p>\n\n\n\n<p>Use these during multiplayer or open-survival tests:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai ml roles<br>\/ai ml council YourMinecraftName<br>\/ai ml anomaly<br>\/ai ml grief YourMinecraftName<br>\/ai ml coach YourMinecraftName<\/p>\n\n\n\n<p>Use these to hand work back to _AI or the EARTH client controller:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai ml mathnn YourMinecraftName<br>\/ai ml vision request YourMinecraftName<\/p>\n\n\n\n<p>\/ai ml mathnn packages replay and model context for the _AI process where MathNN checkpoints and neural training belong. \/ai ml vision request packages a request for client-side screenshot\/OCR\/object\/minimap perception; a headless Spigot server cannot see the Minecraft client window.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Bridge Not Connected<\/h3>\n\n\n\n<p>Check _AI:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft bridge status<\/p>\n\n\n\n<p>Check plugin:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai status<\/p>\n\n\n\n<p>Test from JUPITER:<\/p>\n\n\n\n<p><em>[powershell]<br><\/em>Test-NetConnection 10.0.0.151 -Port 8765<\/p>\n\n\n\n<p>Common causes:<\/p>\n\n\n\n<p><em>[text]<br><\/em>wrong plugin host<br>token mismatch<br>EARTH firewall blocking TCP 8765<br>_AI bridge not started<br>plugin not loaded<br>duplicate or malformed bridge section in config.yml<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">DQN Does Not Move<\/h3>\n\n\n\n<p>Check:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn status<br>minecraft dqn client status<br>\/ai dryrun off<br>\/ai safety<\/p>\n\n\n\n<p>Common causes:<\/p>\n\n\n\n<p><em>[text]<br><\/em>mode is not train<br>auto_train is stopped<br>control mode is server instead of client<br>Minecraft window is not foreground<br>dry-run is enabled<br>safety is blocking actions<br>chosen action is observe\/no-op<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Client Control Fails<\/h3>\n\n\n\n<p>Run:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn client status<\/p>\n\n\n\n<p>If no window is found:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn client title Minecraft<\/p>\n\n\n\n<p>If the window is not foreground:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn client focus on<\/p>\n\n\n\n<p>Then click into the Minecraft client and try:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn step<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">DQN Walks Into Walls<\/h3>\n\n\n\n<p>Stop the loop first:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn off<\/p>\n\n\n\n<p>Verify that the plugin is sending blocked-direction sensors:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn observe<\/p>\n\n\n\n<p>Look for:<\/p>\n\n\n\n<p><em>[text]<br><\/em>obs=123<br>blocked={f:yes,l:no,r:no,b:no}<\/p>\n\n\n\n<p>Then make sure the client wall guard is on:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn wall-guard status<br>minecraft dqn wall-guard on<\/p>\n\n\n\n<p>Test one action at a time:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn dry-run<br>minecraft dqn step<\/p>\n\n\n\n<p>If blocked={&#8230;} never appears in observe, rebuild and reinstall the Spigot plugin jar on JUPITER, restart the server, and reconnect the bridge.<\/p>\n\n\n\n<p>If obs= does not change between steps, the DQN is training faster than the server is sending observations. The native step loop waits for a fresh observation after executed actions, but you should still prefer minecraft dqn train 500 or minecraft dqn train 1000 until behavior is stable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Training Gets Player Killed<\/h3>\n\n\n\n<p>Stop immediately:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn off<\/p>\n\n\n\n<p>Reset:<\/p>\n\n\n\n<p><em>[text]<br><\/em>\/ai arena reset YourMinecraftName<br>\/ai safety<\/p>\n\n\n\n<p>Then return to single-step testing:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn observe<br>minecraft dqn dry-run<br>minecraft dqn step<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">MathNN Not Learning<\/h3>\n\n\n\n<p>Check:<\/p>\n\n\n\n<p><em>[text]<br><\/em>minecraft dqn net status<br>minecraft dqn status<\/p>\n\n\n\n<p>Common causes:<\/p>\n\n\n\n<p><em>[text]<br><\/em>MathNN not enabled<br>not enough transitions<br>no reward signal<br>too much dry-run<br>training in uncontrolled survival<br>death loops dominating replay<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Operational Notes<\/h2>\n\n\n\n<p>Keep these rules:<\/p>\n\n\n\n<p><em>[text]<br><\/em>Use client control when you want the AI to play as your Minecraft client.<br>Use server control when you want safe plugin\/RCON actions.<br>Use single-step before autonomous train.<br>Use arenas before normal survival.<br>Use replay logs before long training.<br>Use MathNN once the action\/reward loop is stable.<\/p>\n\n\n\n<p>The most reliable training loop is:<\/p>\n\n\n\n<p><em>[text]<br><\/em>plugin observes<br>plugin sends reward events<br>_AI DQN\/MathNN chooses action<br>client controller presses keys<br>plugin records outcome<br>replay logs preserve the session<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This guide explains how the _AugmentedIntelligence Minecraft Spigot plugin, bridge, Minecraft DQN, client controller, and MathNN neural policy fit together. Related documentation: [text]docs\/MinecraftPluginOperations.md = quick operator reference, full command list, config switches, troubleshootingdocs\/MinecraftIntegration.md&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = bridge vs. RCON integration overviewdocs\/ReinforcementLearning.md&nbsp;&nbsp;&nbsp;&nbsp; = RL hub (MathNN, curriculum, executive plans)docs\/MathNN.md&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = neural policy modes and rl net commandsminecraft_spigot_plugin\/README.md = [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2031","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts\/2031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/comments?post=2031"}],"version-history":[{"count":1,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts\/2031\/revisions"}],"predecessor-version":[{"id":2032,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts\/2031\/revisions\/2032"}],"wp:attachment":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/media?parent=2031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/categories?post=2031"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/tags?post=2031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}