A python save editor for the mobile game The Battle Cats
Join the discord server if you want to suggest new features, report bugs or get help on how to use the editor (please read the below tutorials / watch the latest tutorial video first before asking for help).
Lethal's editor for giving me inspiration to start the project and it helped me work out how to patch the save data and edit cf/xp: https://www.reddit.com/r/BattleCatsCheats/comments/djehhn/editoren/
Beeven and csehydrogen's open source code, which helped me figure out how to patch save data: beeven/battlecats, csehydrogen/BattleCatsHacker
Everyone who's given me saves, which helped to test save parsing/serialising and to test/develop new features
If you have a pc: watch a Tutorial video, or scroll down for a text tutorial
If you only have an android device: read the Android text tutorial
If you only have an ios device: watch the IOS tutorial video (Made by Viarules, NOTE: Some people have said that ish is really slow, and you should use a-shell instead)
You no longer need a rooted device nor a rooted android emulator.
Although if you want to get unbanned / fix the elsewhere error you will still need one. I recommend LDPlayer, Nox, or MEmu if needed. Bluestacks is also an option but is more difficult to root as it doesn't have a built in option.
-
Install python (You'll need version 3.9 and up) https://www.python.org/downloads/
-
Enter the command:
py -m pip install -U battle-cats-save-editor
into command prompt or another terminal to install the editor (NOT the Windows Python app). If that doesn't work then usepython3
orpython
instead ofpy
in the command -
Enter the command:
py -m BCSFE_Python
to run the editor. If that doesn't work then usepython3
orpython
instead ofpy
in the command -
Look below for the tutorial that you need, or watch here for a video
If you don't have a rooted device or an emulator setup then do this:
-
Go into the game and look in the top right of the screen and record / remember the game version
-
Go into the in-game transfer system in
Settings-> Data Transfer
and clickBegin Data Transfer
-
In the editor use the option called
Download save data from the game using transfer and confirmation codes
(enter the corresponding number, not the name itself) -
Enter the game version that you are using,
en
=english,kr
=korean,ja
=japanese,tw
=taiwan. -
Enter your transfer code
-
Enter your confirmation code
-
Enter the game version that you recorded earlier in step 5. If you entered everything in correctly it should work and you should be able to select a place to put the save
-
If you get a parsing error please join the discord server and report it in #bug-reports and / or dm me your save file (preferably not transfer codes)
-
Edit what you want
-
Go into the
Save Management
option and selectSave changes and upload to game servers (get transfer and confirmation codes)
. It may take some time -
Enter those codes into the game's transfer system (click on
Resume Data Transfer
) (You may need toCancel Data Transfer
in-game before doing so) -
If you press play you may get a
The current Save Data is in violation
message, if so press ok and try again and it should go away, if it doesn't look at the tutorial below
If you can't upload your save data using the in-game system because your are banned or the This save data is currently active elsewhere
message appears, you will need direct access to the save data:
If you don't have a rooted device:
-
You will need to get one of the emulators listed earlier, I recommend LD Player because I know that it works with this method. If you change the default install location, make sure to keep a note of it for it later
-
Enable
root permission
in the settings and underADB Debugging
selectOpen local connection
. You will need to restart LD Player for the changes to work -
Open the editor and select the option named
Use adb to pull the save from a rooted device
and enter your game version
-
-
If you get the option to add adb to your path, select enter
y
. -
The editor will look for adb in default install directories of common emulators and add it automatically
-
If it fails, then you will need to either
-
Enter the path to your emulator's install directory, it might look like
C:\LDPlayer\LDPlayer4.0
-
Download adb with from here. Extract the zip and copy the folder path (not adb.exe itself) into the editor
-
-
Now rerun the editor and try the option again. If it still doesn't work you'll need to manually do it, using the tutorial below.
-
If you get a parsing issue please join the discord server and report it in #bug-reports and / or dm me your save file (preferably not transfer codes)
-
Edit what you want
-
Go into save management and select an option to push save data to the game
-
Enter the game and you should see changes
To use the options in the editor to get and push your save data to the game, you will need to have adb in your path system environment variable. The editor will try to do this automatically, but it may not work. So do this if it doesn't (If you're not using windows look up how to do this):
-
If you are using an emulator: Go to your emulator's install directory, if you're using LDPlayer it will most likely be in
C:/LDPlayer/LDPlayer4.0
. Then findadb
in that folder (other emulators might have it in thebin
directory) -
If you aren't using an emulator Download the Android SDK Platform Tools ZIP file for Windows, and unzip it.
-
Copy the path to the folder that you are in (not adb.exe itself)
-
Then open the windows start menu and search:
edit the system environment variables
and press enter. -
Then click on the
Environment Variables
button. -
Then in the
System variables
box find the variable namedPath
, then click on theedit
button. -
Then click
New
and paste the path into it. -
Click
Ok
thenOk
again thenOk
again. -
Relaunch powershell and maybe restart your whole pc, and try the command again.
If this method is too difficult, just use a root file explorer instead
and manually get the files that you want. The path that you will need is: /data/data/jp.co.ponos.battlecatsen/files/SAVE_DATA
How to fix "This save data is currently active elsewhere" or "The current Save Data is in violation"
-
You will need to get access to save data so you will need a rooted device / emulator, so look at the first part of the
Using a rooted device
tutorial. -
Select the option in
Inquiry Code / Token
toFix elsewhere error / Unban account
-
It may take some time but after, you should be able to choose one of the options in save management to push the save data to the game.
-
If you press play you may get a
The current Save Data is in violation
message, if so press ok and try again and it should go away, if it doesn't then either you've done something wrong or the process didn't work. You may need to follow the tutorial in the second part of the old help video here (3:40) and use theOld Fix elsewhere error / Unban account (needs 2 save files)
feature instead
You can get banned for editing in any amount of cat food, rare tickets, platinum tickets or legend tickets.
The way you fix it is the same method as the elsewhere fix, so just follow that.
-
Instead of editing in platinum tickets use the
Platinum Shards
feature -
Instead of editing in rare tickets use the
Normal Ticket Max Trade Progress (allows for unbannable rare tickets)
feature -
Instead of hacking in cat food, just edit everything in that you can buy with cat food, e.g battle items, catamins, xp, energy refills (leaderships), etc. If you really want catfood then you can clear and unclear catnip missions with the feature
Catnip Challenges / Missions
then entering 1 when asked. You'll need to collect the catfood in-game after each clear though -
Instead of hacking in tickets, just hack in the cats/upgrades you want directly
If you don't have a pc to install and run the editor you can use Termux.
-
Download F-Droid - You can download the Termux apk directly but then it won't automatically update
-
Install F-Droid
-
Open it and wait for it to finish
Updating repositories
-
Tap the green search button in the bottom right and search for
Termux
-
Tap
Termux Terminal emulator with packages
-
Tap
INSTALL
and thenOPEN
once installed -
Once opened enter the command
pkg install python
-
If that doesn't work then read this: https://stackoverflow.com/a/71097459
-
Then run
python -m pip install -U battle-cats-save-editor
-
If that doesn't work then run
pkg upgrade
and try again -
Then run
python -m BCSFE_Python
-
You can then use the editor like normal (If asked to enter the path to a save file, then just enter
SAVE_DATA
)
If you want the latest features and don't mind bugs then you can install the editor from the github.
-
Download Git
-
Run the following commands: (You may have to replace
py
withpython
orpython3
)
git clone https://github.com/fieryhenry/BCSFE-Python.git
py -m pip install -e BCSFE-Python/
py -m BCSFE_Python
If you want to use the editor again all you need to do is run the py -m BCSFE_Python
command
Then if you want the latest changes you only need to run git pull
in the downloaded BCSFE-Python
folder. (use cd
to change the folder)