Unfortunately as of 11.16.23 Mercenaries mode has been nerfed and provides very little experience now. This project is considered abandoned.
If you are looking to grind experience without affecting other players, use my HS Boombot (Free)
If you are looking to grind experience and allow other players to benefit from it as well, use my HS BGBot (Free)
If you want to grind Wild/Twist rankings, or run Tavern Brawl/Arena but potentially ruin other players experiences, use Hearthranger ($5 BTC/monthly)
Please note that Battlegrounds bots are regularly banned. HS BGBot just idles and allows other players to beat it. So everyone benefits, but is probably the riskiest option to farm exp.
MFB-Realive : https:\github.com\Blixxky\MFB-Realive
-
For fullscreen mode, both the Hearthstone resolution and your screen resolution must match. For example, use 1920x1080 for both.
-
1920x1080 in fullscreen mode ✔️✔️
-
1920x1080 in windowed mode ✔️✔️
-
To play in windowed mode, ensure that your monitor has a higher resolution than Hearthstone in both width ad height.
-
Any 16:9 aspect ratio with a minimum of 960x540, such as 960x540, 1024x576, 1280x720, 1600x900, and so on, in fullscreen mode ✔️
-
Any 16:9 aspect ratio, including higher resolutions like 2560x1440, in windowed mode ✔️
✔️✔️ tested and working<\sub>
✔️ reported as working<\sub>
- Install Python 3.11 (
⚠️ Select the "Add Python 3.11 to PATH" option during installation) from: Python 3.11 - Download the project:
- Run
Runonce.bat
for initial venv setup and dependency installation tasks. - Run
Launch.py
orLaunch.pyw
and set your preferences. - Set
GameDir
by browsing in the GUI or putting the path inconf\user\settings.ini
under "GameDir". This is where 'hearthstone.exe' is located. - Create or edit your Hearthstone
log.config
file. Refer to: Hearthstone log.config file. - Start Hearthstone with the same resolution as set in
conf\user\settings.ini
. The MFB GUI creates settings with defaults of 1920x1080. - The default group name is now "Medusa". Please change the group name ASAP for security reasons.
sudo apt install python3.11-venv && sudo apt install gir1.2-wnck-3.0 && sudo apt install libharfbuzz-gobject0 && sudo apt install wmctrl xdotool
python3-venv
: Python 3 venv packagegir1.2-wnck-3.0
: Gir package for Wnck 3.0libharfbuzz-gobject0
: OpenType text shaping engine packagewmctrl
: Window manipulation toolxdotool
: Window manipulation tool
- Download the project: MFB-Realive (https://github.com/Blixxky/MFB-Realive)
- Run
Runonce.sh
for initial venv setup and dependency installation tasks. - Run
Launch.py
orLaunch.pyw
and set your preferences. - Set GameDir by browsing in the GUI or putting the path in settings.ini under "GameDir". This is where
hearthstone.exe
is located. - Create or edit your Hearthstone
log.config
file (https://github.com/Efemache/Mercenaries-Farm-bot/wiki/Settings#logconfig). - Start Hearthstone with the same resolution as set in
conf\user\settings.ini
. The default resolution is 1920x1080. - The default group name is now "Medusa". Please change the group name ASAP for security reasons.
After the initial setup you only need to run Launch.py
, or Launch.pyw
for no console. You can also change the name of these files to your liking for more obscurity. Most of the settings are configurable through the GUI. Just click Update Settings and then Start at the top of the GUI to start the bot.
- Don't move the Hearthstone window
- Don't put another window in front of Hearthstone
- Don't touch your mouse unless you want to stop the bot
- Don't resize the Hearthstone window or change the resolution
- Eat popcorn..
- Starts from Battle.net with a screen resolution of 1080.
- Supports Up to "March of the Lich King" expansion and Returns to Naxxramas mini-set release.
- Completes a lot of campfire tasks and some bounties.
- Uses Bezier curves to simulate human mouse movements.
- Transitions to Travel point selection.
- Transitions to Level\Bounty selection.
- Smooth transitions between encounters.
- Prioritizes the spirit healer.
- Prioritizes the mysterious node.
- Allows placement of mercenaries on the board.
- Searches for suitable opponents.
- Ability selection for each mercenary using combo.ini file.
- Defaults to the first abilities if no configuration exists.
- Ability targeting of friendly minions by Type, Faction, or Name.
- Performs attacks against opponents when abilities require it.
- Allows the choice of a treasure after passing a level.
- Collects rewards for reaching the last level.
- Claims packs, coins, and equipment from completed tasks.
- Battle uses a simple AI which utilizes the Hearthstone RPS system (Protector > Fighter > Caster > Protector)<\sup>
- It doesn't know about taunt, divine shield, stealth, attack, health, ... yet
Change the group's name (default: "Medusa"):
- Create a screenshot in-game on the "Choose a Party" screen.
- Put the screenshot in the MFB directory:
conf\user\1920x1080\buttons\group_name.png
- The file should be similar to
files\1920x1080\buttons\group_name.png
.
You can rename Launch.py or Launch.pyw to something else
Do not use the bot for super extended periods of time. You will be detected you if you do. Think human amounts of time, do some binges and then do short sessions, be sporadic.
There are two ways to configure MFB now:
- When you run
Launch.py
the new GUI will createconf\user\settings.ini
if it does not exist andconf\user\combo.ini
if it does not exist. - You can edit the
conf\user\settings.ini
file, theconf\user\combo.ini
file, and thelog.config
file (WINE -USER\AppData\Local\Blizzard\Hearthstone\
or Windows -%LocalAppData%\Blizzard\Hearthstone
) in a text editor.
- "settings.ini" handles most of the bots settings and preferences.
Click here for a default settings.ini file
[BotSettings]
monitor = 1
resolution = 1920x1080
logs = True
location = Felwood
mode = Normal
level = 25
preferelite = False
notificationurl =
GameDir = C:\\Program Files (x86)\\Hearthstone
preferbooncaster = False
preferboonfighter = False
preferboonprotector = False
preferprotector = False
preferfighter = False
prefercaster = False
waitForEXP = True
quitBeforeBossFight = False
stopAtBossFight = False
preferPassiveTreasures = True
- "combo.ini" is to configure Mercenary attack rotations.
Click here for a default combo.ini file
[Mercenary]
Alexstrasza=1,3
Anduin Wrynn=1,2
Antonidas=1
Aranna Starseeker=2,3,1
Archimonde=1,3,2,1
Baine Bloodhoof=1
Balinda Stonehearth=1,2,3:chooseone=2
Baron Geddon=2
Blademaster Samuro=1,3
Blink Fox=1,1,2
Brann Bronzebeard=1,2,3
Brightwing=1
Bru'kan=1,1,3
C'Thun=1,2
Cairne Bloodhoof=1
Captain Galvangar=1,3,2
Captain Hooktusk=1,2,3
Cariel Roame=2,1
Chi-Ji=1,1,3
Cookie, the Cook=1
Cornelius Roame=1,2,2
Deathwing=1,2,3
Diablo=1,2,3,2,3,2,3
Edwin, Defias Kingpin=1,2,3
Elise Starseeker=1,2,3
Eudora=1,2
Fathom-Lord Karathress=1,2
Kazakus, golem shaper=1
Garona Halforcen=1,2,3
Garrosh Hellscream=1,3
Genn Greymane=2,3,1
Gruul=1,2,3
Grommash Hellscream=2,3
Guff Runetotem=2
Illidan Stormrage=1,3,2
Jaina Proudmoore=1,3,2
King Krush=1,2,3
King Mukla=1,3
Kurtrus Ashfallen=1,3,2,3,2
Lady Anacondra=1
Lady Vashj=1,2,3
Leeroy Jenkins=1,2,3
Lokholar the Ice Lord=1
Long'xin=1
Lord Jaraxxus=3,2,1
Lord Slitherspear=1,2,3
Lorewalker Cho=1,2,3
Malfurion=1
Mannoroth=1,3
Millhouse Manastorm=1,1,2
Morgl the Oracle=1,2
Mr. Smite=1
Murky=1,3
Mutanus=1,2,2,2,2,2,2,2
Natalie Seline=1,3
Neeru Fireblade=1,1,3
Nefarian=1,3
Nemsy Necrofizzle=1,3,2
Niuzao=1,3
Patches the Pirate=1,2,3
Prince Malchezaar=1,3,2
Old Murk-Eye=1,2,3,2,3,2,3
Onyxia=1,3
Prophet Velen=1,3
Queen Azshara=1,2,3
Ragnaros=2
Rathorian=1,2,2,3
Rattlegore=1,2,3
Rokara=1,3
Scabbs Cutterbutter=1,2:chooseone=2
Sir Finley=1,3,2
Sinestra=1,3,2
Sky Admiral Rogers=1,3
Sneed=1,2
Sylvanas Windrunner=1,1,3
Tamsin Roame=1
Tavish Stormpike=1
Tess Greymane=1,2,3
The lich king=1,2
Thrall=1
Tidemistress Athissa=1,1,3,3
Trigore the Lasher=2
Tyrael=1,3,2
Tyrande Whisperwind=1,2
Valeera Sanguinar=1,2,3
Vanessa VanCleef=1
Vanndar Stormpike=1,1,3
Varden Dawngrasp=1
Varian Wrynn=3
Varok Saurfang=1,2
Vol'jin=1,2
War Master Voone=1,2,3
Wrathion=1,2,3
Yogg-Saron=1,2
Yu'lon=1,2
Xuen=1,3
Xyrella=1,3
Yrel=1,2,3
Ysera=1,2,3
Y'Shaarj=1,2
Uther Lightbringer=1,3,2
Zar'jira, the Sea Witch=1,3,2
[Neutral]
Bladehand Berserker=1
Boggy=1
Devilsaur=1
Dragonmaw Poacher=1
Drakonid=1
Drakonid 3=1
Eudora's Cannon=1
Elementium Terror=1
Fathom Guard=1
Fel Infernal=1
Felfin Navigator=1
Giantfin=1
Greater Golem=1
Grounding Totem=1
Hozen Troublemaker=1
Huffer=1
Hulking Overfiend=1
Hungry Naga=1
Imp Familiar=2
Jade Golem=1
Lesser Fire Elemental=2
Lesser Water Elemental=1
Marching Murlocs=1
Misha=1
Mogu Conqueror=1
Mukla's big brother=1
Nightmare Viper=1
Nightmare Viper 5=1
Patchling=1
Pufferfisher=1
Rescued Student=1
Saurok Raider=1
Spawn of N'Zoth=1
Spud M.E.=1
Stonemaul Banner=2
Superior Golem=1
Void Consumer=1
Water Elemental=1
Warlord Parjesh=1
Wavethrasher=1
below, specific boss fight (ex: Air Elemental)
#[Air Elemental]
#_handselection=Balinda Stonehearth+Baron Geddon+Ragnaros
#Balinda Stonehearth=1
#Baron Geddon=2
#Ragnaros=2
- "log.config" helps us track what's on the board.
Click here for a default log.config file
[Power]
LogLevel=1
FilePrinting=True
ConsolePrinting=False
ScreenPrinting=False
Verbose=True
[Achievements]
LogLevel=1
FilePrinting=True
ConsolePrinting=False
ScreenPrinting=False
Verbose=False
[Arena]
LogLevel=1
FilePrinting=True
ConsolePrinting=False
ScreenPrinting=False
Verbose=False
[FullScreenFX]
LogLevel=1
FilePrinting=True
ConsolePrinting=False
ScreenPrinting=False
Verbose=False
[LoadingScreen]
LogLevel=1
FilePrinting=True
ConsolePrinting=False
ScreenPrinting=False
Verbose=False
[Gameplay]
LogLevel=1
FilePrinting=True
ConsolePrinting=False
ScreenPrinting=False
Verbose=False
[Zone]
LogLevel=1
FilePrinting=True
ConsolePrinting=False
ScreenPrinting=False
If you encounter the following errors:
-
"SetForegroundWindow error": It means there is another foreground window from another process. This can occur when using the "windows" key on the keyboard to open the Window Menu. Close the other window to resolve the issue.
-
"cp949 error": This error is likely to occur if you are using a Korean version of Windows. Refer to issue #154 for a solution.
-
"AHK Not Installed": This error is not a problem. Previous versions of MFB used AHK, but now it installs win32gui for new Windows users.
-
"'pip' is not recognized as an internal or external command, operable program or batch file.": During Python installation, make sure to select "Add Python [...] to PATH" option. Additionally, it's recommended to disable the long path limitation.
-
"Settings file is missing section 'BotSettings'": Run conf\user\config.py or edit a conf\user\settings.ini file the
conf\user\settings.sample.ini
file toconf\user\settings.ini
to resolve this error. Read the settings wiki page for configuring user parameters and ensure to set the mandatory settings. -
"The mouse pointer doesn't move at all (Windows)": Starting the .bat file as an administrator might resolve this issue for some users. If you encounter an error like "No such file or directory," refer to the solution below:
To start the bot as an administrator, follow these steps:
- Start CMD as an Admin.
- In the Command Prompt, type
C:
if MFB is installed in the "C:" drive. Adjust the drive letter accordingly if it's installed in a different location. - If you are in
C:\WINDOWS\system32
, typecd ..\..
to navigate to the root of your drive ("C:" or "D:" or "E:" etc.) - Go to the MFB directory by typing
cd \my\path\to\Mercenaries-Farm-Bot\
- Start the
Launch.py
file from there usingpy Launch.py
-
"No such file or directory":
-
For installing requirements: If you see an error like
ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements_win.txt'
, make sure you are running the command from the correct directory. -
For running
main.py
: If you see an error likeC:\Users\user\AppData\Local\Programs\Python\Python310\python.exe
: can't open fileC:\Windows\system32\main.py
: [Errno 2] No such file or directory`, try running the bot as a regular user. If it still doesn't work, refer to solution below.
-
Run as Admin
To start the bot as an administrator, follow these steps:
- Start CMD as an Admin.
- In the Command Prompt, type
C:
if MFB is installed in the "C:" drive. Adjust the drive letter accordingly if it's installed in a different location. - If you are in
C:\WINDOWS\system32
, typecd ..\..
to navigate to the root of your drive ("C:" or "D:" or "E:" etc.) - Go to the MFB directory by typing
cd \my\path\to\Mercenaries-Farm-Bot\
- Start the
Launch.py
file from there usingpy Launch.py
If you would like to support @Efemache for their great work:
You can give them a quick tip at their Ko-Fi page.
If you prefer to support using crypto, you can send your contribution to the following addresses:
Platform | Address | QR Code |
---|---|---|
Bitcoin (BTC) | 3L4MJh6JVrnHyDDrvrkZQNtUytYNjop18f | |
Ethereum (ETH) or Binance Smart Chain (BNB\BUSD) (*) | 0x6Db162daDe8385608867A3B19CF1465e0ed7c0e2 |
(*) Note: Ethereum (ETH) and Binance Smart Chain (BNB\BUSD) share the same address.
(*) If you send your contribution in a different ERC-20 token on the Ethereum blockchain or a different BEP-20 token on the Binance Smart Chain, please inform us accordingly.
Write better logic for catching where MFB is in its routine to better assist with reconnects and sustaining productivity.Create a more intuitive pause/resume system.- Create better logging and exception handling for troubleshooting.
- Build upon the Treasure preference system, and get more data and screenshots for treasures.
- Implement a Neural Network to have it learn off of recorded play data.