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

Connect to your SoulFire backend, find a tutorial bot by name, send chat, and stop it. Follow the language guide for the matching SDK, API token, and Minecraft target setup.

TypeScript SDK

Run scoped bot operations with TypeScript and Effect.

Source-compatible installation in the TypeScript guide
bot.ts
import { Effect } from "effect";
import { SoulFire } from "@soulfiremc/sdk";

const baseUrl = process.env.SOULFIRE_URL;
const token = process.env.SOULFIRE_TOKEN;
if (!baseUrl || !token) {
  throw new Error("Set SOULFIRE_URL and SOULFIRE_TOKEN first");
}

const program = Effect.scoped(
  Effect.gen(function* () {
    const client = yield* SoulFire.connect({ baseUrl, token });
    const record = (yield* client.instances()).find(
      (item) => item.friendlyName === "Docs tutorial",
    );
    if (!record) throw new Error("Create the Docs tutorial instance first");
    const instance = client.instance(record.id);
    const account = (yield* instance.bots()).find(
      (item) => item.accountName === "DocsBot_1",
    );
    if (!account) throw new Error("Add the DocsBot_1 account first");
    const bot = instance.bot(account.profileId);

    yield* Effect.addFinalizer(() => bot.stop().pipe(Effect.orDie));
    yield* bot.start();
    yield* bot.waitForOnline();
    yield* bot.chat.send("Hello from the TypeScript tutorial");
    console.log(`Sent chat from ${account.accountName}; stopping the bot`);
  }),
);

await Effect.runPromise(program);
Explore the TypeScript SDK

Python SDK

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

Source-compatible installation in the Python guide
bot.py
import asyncio
import os

from effect_py import EffectGen, Scope, add_finalizer, gen, run_async, scoped
from soulfire import SoulFire, SoulFireOperationError


@gen
def program() -> EffectGen[None, SoulFireOperationError, Scope]:
    client = yield from SoulFire.connect(
        os.environ["SOULFIRE_URL"], token=os.environ["SOULFIRE_TOKEN"]
    )
    instances = yield from client.instances()
    record = next((item for item in instances if item.friendly_name == "Docs tutorial"), None)
    if record is None:
        raise RuntimeError("Create the Docs tutorial instance first")
    instance = client.instance(record.id)
    accounts = yield from instance.bots()
    account = next((item for item in accounts if item.account_name == "DocsBot_1"), None)
    if account is None:
        raise RuntimeError("Add the DocsBot_1 account first")
    bot = instance.bot(account.profile_id)

    yield from add_finalizer(lambda _: bot.stop().or_die())
    yield from bot.start()
    yield from bot.wait_for_online()
    yield from bot.chat.send("Hello from the Python tutorial")
    print(f"Sent chat from {account.account_name}; stopping the bot")


asyncio.run(run_async(scoped(program).or_die()))
Explore the Python SDK

Visual Scripting, No Code Required

Build complex bot behaviors by connecting nodes in a visual editor. Drag and drop from built-in triggers, actions, and data nodes 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"
Visual 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