the last bot tool you'll ever need.

The best Minecraft bot tool, undetectable and fast.

High performance, multi-version support, plugin system, and open source. SoulFire is a Minecraft bot framework built for speed and scale.

Features

Everything you need to test and automate your Minecraft servers

Easy to use

Native installers for Windows, macOS, and Linux. No Java required. Just download, install, and start botting.

High performance

Built on Fabric with official Minecraft client code. Bots use real physics and real networking. Servers can't tell them apart from real players.

Bring your own accounts

Import Microsoft Java, Microsoft Bedrock, or Offline accounts. Supports device code auth, credentials, and auto-generated offline names.

GitHub

Open Source

Fully open source under AGPL-3.0. Contribute features, report bugs, or fork it for your own projects. Community-driven development.

Release (1.0.0 - latest)
Beta (b1.0 - b1.8.1)
Alpha (a1.0.15 - a1.2.6)
Classic (c0.0.15 - c0.30 including CPE)
April Fools (3D Shareware, 20w14infinite, 25w14craftmine)
Combat Snapshots (Combat Test 8c)
Bedrock Edition 1.21.130 (Some features are missing)
Release (1.0.0 - latest)
Beta (b1.0 - b1.8.1)
Alpha (a1.0.15 - a1.2.6)
Classic (c0.0.15 - c0.30 including CPE)
April Fools (3D Shareware, 20w14infinite, 25w14craftmine)
Combat Snapshots (Combat Test 8c)
Bedrock Edition 1.21.130 (Some features are missing)
Release (1.0.0 - latest)
Beta (b1.0 - b1.8.1)
Alpha (a1.0.15 - a1.2.6)
Classic (c0.0.15 - c0.30 including CPE)
April Fools (3D Shareware, 20w14infinite, 25w14craftmine)
Combat Snapshots (Combat Test 8c)
Bedrock Edition 1.21.130 (Some features are missing)
Release (1.0.0 - latest)
Beta (b1.0 - b1.8.1)
Alpha (a1.0.15 - a1.2.6)
Classic (c0.0.15 - c0.30 including CPE)
April Fools (3D Shareware, 20w14infinite, 25w14craftmine)
Combat Snapshots (Combat Test 8c)
Bedrock Edition 1.21.130 (Some features are missing)

Every version supported

Connect to any Minecraft version ever released: Classic, Alpha, Beta, up to the latest release, including Bedrock Edition and April Fools snapshots.

Kill Aura
Auto Eat
Auto Armor
Auto Totem
Anti AFK
Auto Reconnect
AI Chat Bot
Auto Register
Kill Aura
Auto Eat
Auto Armor
Auto Totem
Anti AFK
Auto Reconnect
AI Chat Bot
Auto Register
Kill Aura
Auto Eat
Auto Armor
Auto Totem
Anti AFK
Auto Reconnect
AI Chat Bot
Auto Register
Kill Aura
Auto Eat
Auto Armor
Auto Totem
Anti AFK
Auto Reconnect
AI Chat Bot
Auto Register

Plugin system

15+ built-in plugins including Kill Aura, Auto Eat, Auto Armor, AI Chat Bot, and more. Build your own Fabric-based plugin when scripting is not enough and you need direct API, protocol, or Mixin access.

Build with the SoulFire SDKs

Install SoulFire locally, create or reuse an instance and bot, then send Hello World. No API token or preconfigured IDs needed. The examples use an offline-mode Minecraft server at 127.0.0.1:25565.

TypeScript SDK

Run a managed local server with Node.js 22+. Use Effect or Promises to control it.

bun add @soulfiremc/sdk effect @effect/platform
bot.ts
import { AccountTypeCredentials } from "@soulfiremc/sdk";
import { SoulFire } from "@soulfiremc/sdk/node/promise";

await using soulfire = await SoulFire.install();
const name = "Hello World";
const existing = (await soulfire.instances()).find(
  (item) => item.friendlyName === name,
);
const instance = existing
  ? soulfire.instance(existing.id)
  : await soulfire.createInstance(name);

const username = "SoulFireBot";
let botId = (await instance.bots()).find(
  (item) => item.accountName === username,
)?.profileId;
if (!botId) {
  for await (const result of instance.loginCredentials({
    service: AccountTypeCredentials.OFFLINE,
    payload: [username],
  })) {
    if (
      result.data.case === "oneSuccess" &&
      result.data.value.account
    ) {
      await instance.addAccounts([result.data.value.account]);
      botId = result.data.value.account.profileId;
    }
  }
}
if (!botId) throw new Error("Could not create an offline bot");

const bot = instance.bot(botId);
await bot.start();
await bot.waitForOnline();
await bot.chat.send("Hello from SoulFire");
Explore the TypeScript SDK

Python SDK

Run a managed local server with Python 3.14+. Use async or sync code to control it.

python -m pip install soulfire
bot.py
from soulfire import SoulFire
from soulfire.common_pb2 import OFFLINE

with SoulFire.install() as soulfire:
    name = "Hello World"
    existing = next(
        (item for item in soulfire.instances()
         if item.friendly_name == name),
        None,
    )
    instance = (
        soulfire.instance(existing.id)
        if existing else soulfire.create_instance(name)
    )

    username = "SoulFireBot"
    bot_id = next(
        (item.profile_id for item in instance.bots()
         if item.account_name == username),
        None,
    )
    if bot_id is None:
        for result in instance.login_credentials(OFFLINE, [username]):
            if result.WhichOneof("data") == "one_success":
                account = result.one_success.account
                instance.add_accounts([account])
                bot_id = account.profile_id
    if bot_id is None:
        raise RuntimeError("Could not create an offline bot")

    bot = instance.bot(bot_id)
    bot.start()
    bot.wait_for_online()
    bot.chat.send("Hello from SoulFire")
Explore the Python SDK

Visual Scripting, No Code Required

Build complex bot behaviors by connecting nodes in a visual editor. Drag and drop from 70+ built-in nodes across 12 categories including triggers, actions, flow control, AI, and more.

SoulFire Script Editor
Running
SoulFire script execution graphOn ChatOutBotMessageContains?InOutStringResultSearch"hello"BranchInCondTrueFalseSend ChatInOutBotMsg"Welcome!"AI ReplyInOutPrompt"Be friendly"Reply
Execution Log
▶ On Chat - Bot_1 received "hello world"
70+ Nodes
12 categories
No Code
Drag & drop
Live Debug
Real-time logs
AI Built-in
LLM integration

CLI Mode for Power Users

Automate bot sessions and control everything from the terminal. Perfect for scripting, headless servers, and keyboard-first workflows.

SoulFire CLI
>

Frequently Asked Questions

Common questions about SoulFire

Partnership

Advanced administration for Minecraft servers without replacing your stack.

EnderDash lets you manage your existing Minecraft servers from one dashboard by installing a single plugin. Run commands, read logs, manage files, invite your whole team, manage players, and keep Ocelot close at hand without changing your current infrastructure or panel.

  • Run commands with tab completion
  • Read logs and manage files
  • Invite your whole team
  • Manage players with Ocelot AI
Visit EnderDash

Works with existing infrastructure and panels.

EnderDash logo

Ready to Get Started?

Join thousands of users who are already testing and automating their Minecraft servers with SoulFire