This fork of mc-bots is a scriptable test client for Minecraft 26.3 and newer, used to drive plugin tests. It changes the following:
- Targets Minecraft 26.3 and needs Java 25. Each JAR speaks one protocol and is named after it,
for example
mc-bots-<version>-mc26.3.jar. - Removes Microsoft account login (
-o); bots use offline accounts. - Takes
--nicksnames in file order, so each bot gets its own name. -jruns join steps in order, separated by&&: chat text,/commandsor the actions below. The same actions work in the console, for example!click 3.--join-delay <ms>sets the minimum time between chat steps (default 1500).--step-timeout <ms>sets how long!await-*steps wait (default 30000).--duration <seconds>runs headless: bots disconnect and the program exits that long after all bots connect. It exits with code 1 if any step failed.- Logs lines for test scripts:
<bot> connected,<bot> opened GUI "<title>",<bot> clicked GUI slot <n>,<bot> finished join stepsand<bot> step failed: .... - Locks and checksum-verifies its dependencies. Download the JAR from
Releases or build it with
./gradlew build.
| Action | Effect |
|---|---|
!wait <ms> |
Pause |
!await-chat <text> |
Wait for a chat or system message containing the text, received after the previous match |
!await-gui [title] |
Wait for an open GUI, optionally one whose title contains the text |
!click <slot> [left|right|shift] |
Click a slot of the open GUI (raw slot number, from 0) |
!close |
Close the open GUI |
!hotbar <0-8> |
Select a hotbar slot |
!use |
Use the held item |
!move <x> <y> <z> |
Move by the given offsets |
!quit |
Disconnect |
java -jar mc-bots-<version>-mc26.3.jar -s 127.0.0.1:25565 -c 1 --duration 60 \
-j "/menu&&!await-gui Shop&&!click 13&&!await-chat Purchased"🤖 A simple open source app written in Java used for stress testing Minecraft servers with bots (fake players).
💥 It can be also used to test plugins or minigames.
✔️ The MC version of the bots is 1.21.7 (supports server 1.21.8)
For older MC versions please look in the releases.
- ✅ Connect as many bots as you want
- ✅ Use SOCKS4 or SOCKS5 proxies from file or URL
- ✅ Receive colored or noncolored chat
- ✅ Set connection delay
- ✅ Set messages or commands on join
- ✅ Generate random or real looking nicknames or load from file
- ✅ Online (premium) account support with login using Microsoft
- ✅ Control all or selected bots
Minimal Java version: 17
Use of pre-compiled jar from releases:
java -jar mc-bots.jar -s <server address> [arguments]
When running, you can write a chat message to the terminal to send it by all bots.
java -jar mc-bots-1.2.17.jar -s 192.168.0.189:25565 -p BOT_ -d 4000 5000 -c 30 -r
This will connect 30 bots to server at 192.168.0.189:25565 with delay 4000-5000 ms and will use real-looking nicknames prefixed with BOT_
-c <count> The count of bots to connect, default is 1
-d <min> <max> Set the minimum and maximum connection delay range in ms, default is 4000-5000
-j <message> Messages or commands to send on join, separated by &&, does not work with -m or -x option
-p <prefix> Custom bot nickname prefix eg. BOT_
-r Generate real looking nicknames instead of random ones
-n Do not use color in terminal - useful when the terminal does not support it
-m Minimal run - do not use any listeners, will not receive chat, useful for large amounts of bots
-x The most minimal run - No listeners, no control, no chat - useful for large amounts of bots for better performance
-t <type> Set proxy type - SOCKS4 or SOCKS5
-l <path> Set proxy list file
-g Try to simulate gravity by falling down
-o Use online (premium) account (login with Microsoft OAuth)
-ar <delay> Set auto-respawn delay (default is 100 ms, set to -1 to disable)
--nicks <file> Set nicknames file
Commands can be typed to the console. They are prefixed with . or !.
Without the prefix it will be sent as a chat message!
.list or .ls - list all connected bots
.control <nick> or .ctrl <nick> - select one or multiple bots to control
.exit <limit> or .leave <limit> - disconnect all or specified number of bots
This app is made for educational and testing purposes only.
This app can be used like spambots.
I am not responsible for any abuse.

