Windows 10/11 required. The desktop UI requires Rust and the Tauri CLI (
cargo install tauri-cli).
make install-allThis installs:
- Python dependencies (via uv)
- Creates virtual environment
- Installs all required packages
Note: A virtual environment (
.venv/) is created automatically. You do NOT need to activate it manually - allmakecommands use it automatically.
Requires: Rust + Tauri CLI (for the desktop UI). If you only need the Python pipeline, skip to "Run Without Desktop UI" below.
make runOR (same thing):
make devThis will:
- Start the Tauri development server
- Launch the desktop application window
- Automatically start the Python backend as a sidecar
- Open the UI at
tauri://localhost
npm run dev # ❌ This WILL NOT work!Error you'll see:
npm error enoent Could not read package.json: Error: ENOENT: no such file or directory
make run # ✅ This is the correct way!BOT-MMORPG-AI/
├── tauri-ui/ # ← Frontend (Plain HTML/CSS/JavaScript)
│ ├── index.html # Main UI
│ └── main.js # JavaScript (ES modules)
│
├── backend/ # ← Python Backend
│ └── main_backend.py # HTTP API server
│
├── src-tauri/ # ← Tauri (Rust) Desktop Framework
│ ├── src/main.rs # Rust entry point
│ ├── tauri.conf.json # Tauri configuration
│ └── Cargo.toml # Rust dependencies
│
├── src/bot_mmorpg/ # ← Python Package
│ └── scripts/ # AI scripts (collect, train, play)
│
└── Makefile # ← Commands for running the app
This is a Tauri desktop application:
┌────────────────────────────────────────────┐
│ Tauri Desktop Window │
│ ┌──────────────────────────────────────┐ │
│ │ Frontend (tauri-ui/) │ │
│ │ - Plain HTML/CSS/JavaScript │ │
│ │ - No npm, no webpack, no build step │ │
│ │ - Direct ES modules │ │
│ └──────────────────────────────────────┘ │
│ │ │
│ │ HTTP/JSON │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ Backend (Python Sidecar) │ │
│ │ - Starts automatically │ │
│ │ - HTTP server on random port │ │
│ │ - API endpoints for AI functions │ │
│ └──────────────────────────────────────┘ │
└────────────────────────────────────────────┘
Key Points:
- ✅ Frontend uses plain HTML/JavaScript (no npm needed)
- ✅ Backend starts automatically when app launches
- ✅ Communication via HTTP/JSON on localhost
- ✅ No build step for frontend (direct file serving)
This project deliberately avoids Node.js complexity:
npm install → webpack → babel → 1000 packages → build → dist/
Plain HTML/JS → Tauri → Done!
Benefits:
- 🚀 No npm dependency hell
- ⚡ No build time for frontend
- 🎯 Simple, direct development
- 📦 Smaller footprint
make runStarts everything together.
make run-backendRuns just the Python backend server.
# Collect data
make collect-data
# Train model
make train-model
# Test model
make test-modelEdit files in tauri-ui/:
# Edit the HTML
vim tauri-ui/index.html
# Edit the JavaScript
vim tauri-ui/main.jsChanges are automatically reloaded when you save!
Edit backend/main_backend.py:
vim backend/main_backend.pyThen restart the app:
# Stop the app (Ctrl+C)
# Start again
make runEdit scripts in src/bot_mmorpg/scripts/:
vim src/bot_mmorpg/scripts/collect_data.pyChanges take effect on next run (no restart needed).
-
Python 3.10+
python --version
-
Rust + Cargo (for Tauri)
cargo --version
If missing: https://rustup.rs/
-
uv (Python package manager)
make install-uv
- Visual Studio Build Tools (for native Python packages)
- NSIS (for installer builds)
Problem: Wrong command for this project.
Solution: Use make run instead.
Problem: Rust not installed.
Solution:
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Or on Windows
# Download from: https://rustup.rs/
# Then restart terminal
cargo --versionProblem: uv not installed.
Solution:
make install-uv
# Then restart terminalProblem: Python dependencies not installed.
Solution:
make install-allProblem: Backend failed to start or crashed.
Check:
- Look in terminal for Python errors
- Verify Python 3.10+ is installed
- Check that dependencies are installed
Problem: Another instance is running.
Solution:
# Kill other instances
pkill -f main-backend
# Or on Windows
taskkill /F /IM main-backend.exe
# Then try again
make run-
Install all dependencies:
make install-all
-
Install Rust:
# Download from https://rustup.rs/ -
Install Tauri CLI:
cargo install tauri-cli
make build-installerThis creates:
src-tauri/target/release/bundle/nsis/BOT-MMORPG-AI_0.1.5_x64-setup.exe
make verify-installermake test-installer| Command | Description |
|---|---|
make help |
Show all available commands |
make install-all |
Install all dependencies |
make run |
Run the application (dev mode) |
make dev |
Same as make run |
make run-backend |
Run only backend (testing) |
make collect-data |
Run data collection |
make train-model |
Train AI model |
make test-model |
Test trained model |
make build-installer |
Build Windows installer |
make verify-installer |
Verify installer build |
make test-installer |
Test installer package |
make clean |
Clean all build artifacts |
A: Not needed! The frontend is intentionally simple (plain HTML/JS) to avoid build complexity.
A: Just edit tauri-ui/index.html or tauri-ui/main.js. Changes reload automatically.
A: Edit backend/main_backend.py, add your endpoint, restart the app.
A: Not currently set up. The project uses plain JavaScript for simplicity.
A: Models are in artifacts/model/ (created by training) or downloaded to models/ by the installer.
A:
- Frontend: Browser DevTools (F12 in the app window)
- Backend: Check terminal output for Python errors
- Rust: Check terminal for Tauri/Rust errors
# Windows
make artifact
# This creates a full installer at:
# src-tauri/target/release/bundle/nsis/BOT-MMORPG-AI_0.1.5_x64-setup.exeThe installer includes:
- ✅ Tauri desktop application
- ✅ Python backend (bundled)
- ✅ All dependencies
- ✅ Driver installers
- ✅ Component selection wizard
- ✅ Professional UI
Users can just run the installer - no Python, Rust, or dependencies needed!
To run the app:
make install-all # First time only
make run # Start the appNOT this:
npm run dev # ❌ Wrong! This is not a Node.js projectFrontend location:
- ✅
tauri-ui/(correct) - ❌
frontend/(doesn't exist)
Frontend type:
- ✅ Plain HTML/CSS/JavaScript
- ❌ NOT React/Vue/npm-based
Backend:
- ✅ Starts automatically as Tauri sidecar
- ✅ Python HTTP server
- ✅ No manual startup needed
Happy Coding! 🎮✨
If you have questions, check:
UI_BACKEND_INTEGRATION_ANALYSIS.md- Architecture detailsUI_IMPROVEMENTS_SUMMARY.md- UI featuresBUILD_STATUS.md- Build system infoINSTALLER_IMPROVEMENTS.md- Installer features