MiOW2IP — Minecraft Automation Bot GUI
An Electron app that orchestrates Minecraft farming bots with real-time console streaming, native Windows API capture, template matching, and vision-based detection.
A desktop bot controller for Minecraft automation tasks, bridging React UI and Node.js bot scripts with real-time output streaming, global hotkeys (Ctrl+F1–F5), and a native C++ Windows API module for screen capture and input injection.
- Electron 38
- React 19
- TypeScript
- Tailwind CSS 4.1
- React Router 7
- Vite
- Node.js
- C++ (win_api_loader)
- DirectX DXGI
- Ollama (vision API)
- Jimp (image processing)
- Tesseract.js (OCR)
MiOW2IP is an Electron-based launcher and monitor for Minecraft automation bots. The app manages four bot types—fishing, boating, mining, and flooring—each spawned as a forked Node.js process whose stdout/stderr streams directly to the GUI. The UI is built in React 19 with Tailwind CSS, React Router for navigation, and React Icons; it presents real-time console output, bot state tracking, and control buttons on dedicated pages for each bot.
The architecture splits across three layers: Electron main process (Node.js) orchestrates bot lifecycle, manages IPC channels, and handles system integrations; a preload script securely bridges the React renderer to main via contextBridge; React components subscribe to bot events and emit control signals. Global hotkeys (Ctrl+F2 for fishing, Ctrl+F3 for boating, etc.) toggle bots and navigate the app. Bots use environment variables for tuning and interact with the Minecraft window via a native C++ addon (win_api_loader) that wraps DirectX DXGI screen capture, grayscale + contrast preprocessing, template matching, and mouse/keyboard injection.
A utility layer adds recording, replay, and OCR operations: npm run record captures raw RGBA frames decoupled from diff/templating, npm run replay consumes a manifest to re-run detection offline, and npm run ocr processes diffs through Ollama vision. Bots declare intent via stdout markers (INTENT:LOSE_FOCUS), which trigger focus management to prevent accidental input. All bots listen on stdin for graceful SHUTDOWN commands and clean up resources (keys, hotkeys) on exit.
- Electron with forked child processes: four distinct bots (fishing, boating, mining, flooring) run as isolated Node.js processes with stdout/stderr piped to React in real time
- Native Windows integration: C++ addon wraps DirectX DXGI for screen capture, template matching with custom grayscale + contrast preprocessing, and mouse/keyboard input injection
- Global hotkeys (Ctrl+F1–F5) for instant bot control and app navigation without leaving Minecraft
- IPC-based architecture with secure contextBridge, graceful bot shutdown via stdin, and process lifecycle management (SIGTERM/SIGKILL with 2s timeout)
- Utility pipeline: raw RGBA frame recording, offline replay with manifest, and OCR via Ollama vision on captured diffs