Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– Mishri β€” Human-like Minecraft Bot

A Minecraft bot so human-like, players can't tell the difference.

"Not a noisy machine. A creature that hesitates, breathes, forgets, gets distracted, and occasionally does things for no reason."

Features

  • 🚢 Human-like Movement β€” Bezier-curve turning with ease-in-out, micro-stutters, sub-optimal pathing, sprint toggling, variable walk speed
  • πŸ’¬ Natural Chat β€” Delayed responses, adjacent-key typos + corrections, ignores messages, LLM-powered, mood-dependent talkativeness
  • πŸ‘οΈ Perception β€” Looks at entities, flinches at damage, double-takes, nervous scanning, idle camera drift, stare at players
  • 🧠 Behavior AI β€” Utility-scored behavior with randomness + internal mood/energy/boredom system
  • 🎯 Imperfect Skills β€” Mines wrong blocks, eats at wrong hunger, fumbles inventory, places wrong blocks sometimes
  • 🎭 Mood System β€” Neutral, curious, tired, bored, social, focused, startled, nervous β€” affects all behavior
  • ⏱️ APM Throttle β€” Capped at human action-per-minute rates (default: 80)
  • 😴 AFK Simulation β€” Randomly goes AFK, has session durations, logs off naturally
  • 🎨 Custom Skin β€” Inject custom skin URL via login packet properties
  • πŸ€– LLM Chat β€” Optional Ollama/OpenAI integration for dynamic conversation
  • πŸ”„ GitHub Actions β€” Auto-test workflow runs the bot for 5-19 minutes on a real server

Quick Start

# Clone
git clone https://github.com/arpitrajjj/Mishri.git
cd Mishri

# Install
npm install

# Configure (edit server details + skin)
nano config/default.json

# Run
npm start

Configuration

Edit config/default.json:

{
  "server": {
    "host": "your-server.com",
    "port": 25565,
    "version": "1.21.11"
  },
  "bot": {
    "username": "Mishri",
    "auth": "offline"
  },
  "skin": {
    "enabled": true,
    "url": "https://textures.minecraft.net/texture/YOUR_TEXTURE_ID",
    "model": "classic"
  },
  "humanness": {
    "reactionDelayMin": 200,
    "typoChance": 0.15,
    "maxAPM": 80,
    "doubleTakeChance": 0.02,
    "nervousLookAroundChance": 0.03
  }
}

Custom Skin

Get your skin texture URL from Minecraft Skin Viewer or extract it from a premium account. Set skin.enabled to true and paste the URL.

LLM Chat (Optional)

{
  "llm": {
    "enabled": true,
    "provider": "ollama",
    "model": "llama3",
    "baseUrl": "http://localhost:11434"
  }
}

GitHub Actions Test Workflow

The bot includes a ready-to-use GitHub Actions workflow that:

  1. Spins up a Paper 1.21.11 Minecraft server in Docker
  2. Installs Mishri's dependencies
  3. Runs humanness tests
  4. Connects Mishri to the server for 5-19 minutes
  5. Observes behavior and logs results

Trigger manually:

gh workflow run "Mishri Bot Test Run" -f duration=15

Or it runs automatically on push to main.

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚            MishriBot (Core)              β”‚
β”‚         + SkinManager (🎨)              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Movement β”‚ Perceptionβ”‚ Social            β”‚
β”‚ Manager  β”‚ Manager  β”‚ Manager           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚       Behavior Orchestrator              β”‚
β”‚    (Utility AI + Mood + Energy)          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚       Skill Manager                      β”‚
β”‚    (Mining Β· Eating Β· Building)          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚       🎭 Humanness Layer                 β”‚
β”‚   (Jitter Β· Delays Β· Mood Β· Typo Β·      β”‚
β”‚    Boredom Β· Fatigue Β· Fidget Β·          β”‚
β”‚    DoubleTake Β· Nervous Β· AFK)           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚       Mineflayer + Plugins               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Internal State System

Mishri isn't stateless β€” it has internal moods and drives that make behavior feel organic:

State Effect
Mood neutral β†’ curious β†’ tired β†’ bored β†’ social β†’ focused β†’ startled β†’ nervous
Energy 0-1, depletes over time, affects speed and willingness to act
Curiosity 0-1, drives exploration vs staying put
Social Energy Introvert drain β€” depletes with chat, recovers in solitude
Boredom Accumulates when idle, makes bot more likely to wander or fidget
Fatigue Gradual slowdown over long sessions (everything gets slower)

Anti-Detection Checklist

  • No perfect pathing β€” sub-optimal routes with noise offsets
  • No instant responses β€” 2.5-10s chat delay
  • No perfect APM β€” capped at human range (80 default)
  • No 24/7 uptime β€” AFK + session simulation
  • No identical patterns β€” everything randomized
  • No chat patterns β€” typos, corrections, varied wording, ignore chance
  • No perfect aim β€” gaussian noise + fatigue jitter
  • No superhuman awareness β€” limited FOV + distance
  • No instant inventory β€” delays for item switching
  • No robotic turning β€” Bezier curves with ease-in-out + overshoot
  • No constant activity β€” mood-dependent pacing, boredom, tiredness
  • No emotionless behavior β€” startle, nervous scanning, double-takes

Project Structure

Mishri/
β”œβ”€β”€ .github/workflows/
β”‚   └── test-bot.yml          # GitHub Actions test workflow
β”œβ”€β”€ config/
β”‚   └── default.json          # All configuration
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ core/
β”‚   β”‚   β”œβ”€β”€ MishriBot.js      # Main bot class
β”‚   β”‚   └── SkinManager.js    # Custom skin injection
β”‚   β”œβ”€β”€ movement/
β”‚   β”‚   └── MovementManager.js
β”‚   β”œβ”€β”€ perception/
β”‚   β”‚   └── PerceptionManager.js
β”‚   β”œβ”€β”€ social/
β”‚   β”‚   └── SocialManager.js
β”‚   β”œβ”€β”€ behavior/
β”‚   β”‚   └── BehaviorOrchestrator.js
β”‚   β”œβ”€β”€ humanness/
β”‚   β”‚   └── HumannessLayer.js  # ❀️ The heart of deception
β”‚   β”œβ”€β”€ skills/
β”‚   β”‚   └── SkillManager.js
β”‚   └── index.js
β”œβ”€β”€ tests/
β”‚   └── humanness.test.js
β”œβ”€β”€ package.json
└── README.md

License

ISC

About

πŸ€– Mishri β€” Human-like Minecraft bot that behaves indistinguishably from a real player

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages