CLI tool
soulfiremc-com/SoulFire avatar
soulfiremc-com/SoulFire

SoulFire: A Java-Based Minecraft Bot Tool for Server Testing and Automation

Advanced Minecraft Bot Tool. Deploy automated bots for server testing, automation, and development.

616 stars71 forksJavaAGPL-3.0

At a glance

What is it?
SoulFire is an open-source Minecraft bot tool that deploys automated bots for server testing, automation, and development. It supports a wide range of Minecraft versions, account types, and proxies, and offers both GUI and CLI interfaces.
Who is it for?
SoulFire is suitable for server administrators, developers, and testers who need to simulate player load or automate interactions on Minecraft servers they own or have permission to test. It is not appropriate for servers where bot usage is prohibited or where you lack explicit authorization.
Can I use it commercially?
Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
Is it still maintained?
Yes. The repository last received commits 3 days ago.
What is it written in?
Mainly Java, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What SoulFire Solves and Who It Serves

Minecraft server owners and developers often need to simulate many players connecting at once, but doing that manually is slow and unreliable. SoulFire addresses this by providing a tool that deploys automated bots, each acting as a client, to stress-test servers, automate repetitive tasks, or support development workflows. The README positions it for server testing, automation, and development, with a warning that it should only be used on servers you own or have permission to test. The target audience includes server administrators who want to check capacity, plugin developers who need to verify behavior under load, and automation engineers who want to script in-game actions. The tool is Java-based, which makes it cross-platform, and it supports both Java Edition and Bedrock Edition, broadening its reach beyond typical Java-only bot tools.

Core Architecture and Data Flow

SoulFire's core is split between a CLI and a server implementation, with the GUI client living in a separate repository. The README explains that this repository contains only the CLI and server, meaning the GUI is an additional component you must obtain separately if you want a graphical interface. The tool supports configurable sessions, including the number of bots and join delay, which suggests a session manager that spawns multiple bot instances and coordinates their actions. It also includes a plugin system with built-in plugins like AutoRespawn, AutoJump, and ClientSettings, implying an event-driven architecture where plugins hook into bot lifecycle events. For pathfinding, it uses A* with support for diagonal moves, parkour, mining blocks, and placing blocks, which indicates a world model and a pathfinding engine that can navigate complex terrain. The Developer API allows custom plugins using the plugin API and mixins, and there are TypeScript and Python SDKs for connecting over gRPC-Web, streaming bot events, and provisioning a local dedicated server. This suggests a client-server design where the CLI or GUI acts as a control plane, and bots communicate via gRPC-Web for remote management.

Installation and Getting Started

The README points to an installation guide at soulfiremc.com/docs/installation, but does not list specific commands beyond building from source. To build from source, you need Java 25 or later, download the source, and run `./gradlew build`. The resulting jar files are in `client-launcher/build/libs` or `dedicated-launcher/build/libs`. The dedicated launcher is likely for headless server use, while the client launcher is for the GUI. For CLI usage, there is a dedicated guide, and you can run `help` in the GUI or CLI to see available commands. The README also mentions a demo page at demo.soulfiremc.com where you can try the tool before installing. Since the installation guide is external, you would need to consult it for prebuilt binaries or package managers. The build process is straightforward for Java developers, but it requires a recent JDK, which could be a barrier if your environment is on an older LTS version.

Key Features: Accounts, Proxies, and Version Support

SoulFire supports both online and offline mode servers, which means it can connect to servers with or without premium authentication. For accounts, it handles Microsoft accounts via credentials or device code flow, and offline accounts, for both Java and Bedrock editions. This is important because Bedrock support is rare in bot tools. Proxies are supported in HTTP, SOCKS4, and SOCKS5 formats, allowing you to distribute bot connections across different IP addresses, which is useful for load testing from diverse origins. The version support is described as 'almost every Minecraft version,' but the README directs you to the documentation for an up-to-date list. This is a practical approach because Minecraft updates frequently, and maintaining a static list in the README would become outdated. The README also mentions importing accounts and proxies from files, which suggests batch configuration for large-scale deployments.

Plugins and Developer API

The plugin system is a central part of SoulFire's flexibility. Built-in plugins like AutoRespawn, AutoJump, and ClientSettings handle common bot behaviors, so you do not need to write code for basic actions. The Developer API allows you to create custom plugins using the plugin API and mixins, which is a powerful combination for hooking into Minecraft's internals. However, the README warns that SoulFire can include breaking changes, so you must pin your plugin to a specific SoulFire version or update it when SoulFire changes. This is a significant maintenance consideration: if you rely on custom plugins, you cannot upgrade SoulFire freely without checking compatibility. The inclusion of TypeScript and Python SDKs for gRPC-Web suggests that you can build external applications that control bots remotely, which is useful for integrating with existing test frameworks or CI pipelines. The SDKs stream bot events and issue per-bot actions, giving you fine-grained control over individual bots.

Limitations and When It Is the Wrong Tool

The most obvious limitation is the legal and ethical boundary: the README explicitly warns to use the tool only on servers you own or have permission to test, and to ensure your hosting provider allows automated bot testing. Using it on servers without permission could violate terms of service or local laws. Technically, the requirement for Java 25 is a constraint, as many production environments still run Java 17 or 21. The version support is not universal, so if you need to test an older or very new Minecraft version, you must check the documentation first. The plugin API's breaking changes mean that maintaining custom plugins requires ongoing effort. Also, the GUI is in a separate repository, which adds complexity if you want a graphical interface; you need to build or download that component separately. For simple tasks like checking if a server is online, SoulFire is overkill; a basic ping tool would suffice. It is also not suitable for servers that ban automated clients, as bots could be detected and lead to IP bans.

Alternatives and How They Differ

A common alternative to SoulFire is Minecraft's built-in server stress testing tools, such as the `minecraft:test` command or third-party load generators like McStressor. These tools typically focus on simulating connection spikes without full bot behavior, whereas SoulFire provides a full client simulation with pathfinding and plugins. Another alternative is the Botania mod's Corporea system, but that is for in-game automation, not server testing. More relevant is the open-source project Mineflayer, a JavaScript bot library that runs on Node.js. Mineflayer offers a lower-level API for controlling bots, but it lacks the built-in proxy support and multi-version compatibility that SoulFire claims. SoulFire's advantage is its all-in-one package with a GUI, CLI, and plugin system, whereas Mineflayer requires you to write code from scratch. The choice depends on whether you prefer a ready-to-use tool with configuration files or a programming library that gives you full control over bot logic.

Maintenance, Licensing, and Upgrade Costs

SoulFire is under active development, with recent releases in 2026, indicating a maintained project. The README states that breaking changes are possible, so upgrades require checking your plugins and configurations. The license is AGPL-3.0, which has implications if you modify the code: any modified version you distribute must be released under the same license, and if you offer it as a network service, you must provide the source code to users. This is stricter than MIT or Apache, so consider whether that fits your project. The build process uses Gradle, and the repository includes SDKs for TypeScript and Python, which adds to the maintenance surface if you use those. The documentation is external, so you rely on the website for guides, which could change. There is no mention of a changelog in the README, but the release history on GitHub suggests that updates are regular, which is good for bug fixes but requires you to track changes.

Editorial conclusion

SoulFire is suitable for server administrators, developers, and testers who need to simulate player load or automate interactions on Minecraft servers they own or have permission to test. It is not appropriate for servers where bot usage is prohibited or where you lack explicit authorization. Before adopting it, verify that your hosting provider allows automated bot testing, review the version support list for your target Minecraft version, and pin any custom plugins to a specific SoulFire release due to potential breaking changes. The AGPL-3.0 license means any modifications you distribute must be open-sourced, so consider that if you plan to build on top of it.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community notes

Community notes