# Battle Cats Save File Editor
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/M4M53M4MN)
BCSFE is a python command line save editor for The Battle Cats.
Join the [discord server](https://discord.gg/DvmMgvn5ZB) 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](https://www.youtube.com/watch?v=Kr6VaLTXOSY) first before
asking for help).
## Thanks to
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](https://github.com/beeven/battlecats), [csehydrogen/BattleCatsHacker](https://github.com/csehydrogen/BattleCatsHacker)
Everyone who's given me saves, which helped to test save loading/saving and to
test/develop new features
## How to use
If you have a pc: watch a [Tutorial video](https://www.youtube.com/watch?v=Kr6VaLTXOSY),
or scroll down for a text tutorial
If you only have an android device: read the [Android text tutorial](#android-tutorial)
If you only have an ios device: watch the [IOS tutorial
video](https://www.youtube.com/watch?v=xw-uOqQRYJ8) (Made by Viarules, NOTE:
Some people have said that ish is really slow, and you should use a-shell
instead)
## Main tutorial
1. Install python (You'll need version 3.9 and up) <https://www.python.org/downloads/>
1. Follow the `Install from source` instructions below as 3.0.0 isn't on pypi
yet
1. Enter the command: `py -m bcsfe` to run the editor. If that doesn't work
then use `python3` or `python` instead of `py` in the command
1. Go into the in-game transfer system in `Settings-> Data Transfer` and
click `Begin Data Transfer`
1. In the editor use the option called `Download save file using transfer and
confirmation code` (enter the corresponding number, not the name itself)
1. Enter your transfer code
1. Enter your confirmation code
1. Select the country code that you are using, `en`=english,
`kr`=korean, `jp`=japanese, `tw`=taiwanese.
1. Edit what you want. Note that in most cases, if you want to exit the current
input you can enter `q` and press enter to go back to the previous menu
1. Go into the `Save Management` option and select `Save changes and upload to
game servers (get transfer and confirmation codes)`. It may take some time, it
may also fail, if it does then try again
1. Enter those codes into the game's transfer system (click on
`Resume Data Transfer`) (You may need to `Cancel Data Transfer`
in-game before doing so)
### Using a rooted device via adb
1. Add adb to your PATH environment variable, or edit the config to set ADB path
to the full path of the adb executable. You can download adb from
[adb](https://developer.android.com/studio/releases/platform-tools)
1. Open the editor and select the option named `Pull save file from device
using adb` and enter your game version, or select the option named
`Select save file from file` and select a copy of your save data
1. Edit what you want
1. Go into save management and select an option to push save data to the game
1. Enter the game and you should see changes
### Using a rooted device directly
1. You need to be running the editor on the device itself, so you'll need to
follow the [Android tutorial](#android-tutorial) to install the editor
1. Open the editor and select the option named `Pull save file from root
storage`
1. Edit what you want
1. Go into save management and select an option to push save data to the game
1. Enter the game and you should see changes
### How to unban your account
1. Select the option in `Account` to `Unban account` or
just upload the save data to the game servers again
1. 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.
#### How to prevent a ban in the future
- 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
## Android Tutorial
If you don't have a pc to install and run the editor you can use Termux.
1. Download [F-Droid](https://f-droid.org/F-Droid.apk) - You can download the
Termux apk directly but then it won't automatically update. You cannot
download Termux from the Play Store because it does not work
1. Install F-Droid
1. Open it and wait for it to finish `Updating repositories`
1. Tap the green search button in the bottom right and search for `Termux`
1. Tap `Termux Terminal emulator with packages`
1. Tap `INSTALL` and then `OPEN` once installed
1. Once opened enter the command `pkg install python`
1. If that doesn't work then read this: <https://stackoverflow.com/a/71097459>
1. Then follow the `Install from source` instructions below
1. If that doesn't work then run `pkg upgrade` and try again
1. Then run `python -m bcsfe`
1. Note that the editor might complain about not being to run tkinter, but you
can ignore that and just enter `SAVE_DATA` when asked to enter the path to a
save file
1. You can then use the editor like normal
### Install from source
If you want the latest features then you can install the editor from the github.
1. Download [Git](https://git-scm.com/downloads)
2. Run the following commands: (You may have to replace `py` with `python` or `python3`)
```batch
git clone https://github.com/fieryhenry/BCSFE-Python.git
cd BCSFE-Python
git checkout 3.0.0
pip install -e .
py -m bcsfe
```
If you want to use the editor again all you need to do is run the `py -m bcsfe` 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)
## Documentation
- [Custom Locales](https://github.com/fieryhenry/ExampleEditorLocale)
- [Custom Themes](https://github.com/fieryhenry/ExampleEditorTheme)
I only have documentation for the locales and themes atm, but I will probably
add more documentation in the future.
Raw data
{
"_id": null,
"home_page": null,
"name": "bcsfe-kr",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "battle cats, save editor, hacking",
"author": "fieryhenry, CintagramABP",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/e3/b1/99fc8e10f702b524019e1f852e33c106f74d4205bf5d631e109de238a917/bcsfe_kr-3.0.0b2.tar.gz",
"platform": null,
"description": "# Battle Cats Save File Editor\r\n\r\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/M4M53M4MN)\r\n\r\nBCSFE is a python command line save editor for The Battle Cats.\r\n\r\nJoin the [discord server](https://discord.gg/DvmMgvn5ZB) if you want to suggest\r\nnew features, report bugs or get help on how to use the editor (please read the\r\nbelow tutorials / watch the latest\r\n[tutorial video](https://www.youtube.com/watch?v=Kr6VaLTXOSY) first before\r\nasking for help).\r\n\r\n## Thanks to\r\n\r\nLethal's editor for giving me inspiration to start the project and it helped me\r\nwork out how to patch the save data and edit cf/xp: <https://www.reddit.com/r/BattleCatsCheats/comments/djehhn/editoren/>\r\n\r\nBeeven and csehydrogen's open source code, which helped me figure out how to\r\npatch save data: [beeven/battlecats](https://github.com/beeven/battlecats), [csehydrogen/BattleCatsHacker](https://github.com/csehydrogen/BattleCatsHacker)\r\n\r\nEveryone who's given me saves, which helped to test save loading/saving and to\r\ntest/develop new features\r\n\r\n## How to use\r\n\r\nIf you have a pc: watch a [Tutorial video](https://www.youtube.com/watch?v=Kr6VaLTXOSY),\r\nor scroll down for a text tutorial\r\n\r\nIf you only have an android device: read the [Android text tutorial](#android-tutorial)\r\n\r\nIf you only have an ios device: watch the [IOS tutorial\r\nvideo](https://www.youtube.com/watch?v=xw-uOqQRYJ8) (Made by Viarules, NOTE:\r\nSome people have said that ish is really slow, and you should use a-shell\r\ninstead)\r\n\r\n## Main tutorial\r\n\r\n1. Install python (You'll need version 3.9 and up) <https://www.python.org/downloads/>\r\n\r\n1. Follow the `Install from source` instructions below as 3.0.0 isn't on pypi\r\n yet\r\n\r\n1. Enter the command: `py -m bcsfe` to run the editor. If that doesn't work\r\nthen use `python3` or `python` instead of `py` in the command\r\n\r\n1. Go into the in-game transfer system in `Settings-> Data Transfer` and\r\nclick `Begin Data Transfer`\r\n\r\n1. In the editor use the option called `Download save file using transfer and\r\nconfirmation code` (enter the corresponding number, not the name itself)\r\n\r\n1. Enter your transfer code\r\n\r\n1. Enter your confirmation code\r\n\r\n1. Select the country code that you are using, `en`=english,\r\n`kr`=korean, `jp`=japanese, `tw`=taiwanese.\r\n\r\n1. Edit what you want. Note that in most cases, if you want to exit the current\r\n input you can enter `q` and press enter to go back to the previous menu\r\n\r\n1. Go into the `Save Management` option and select `Save changes and upload to\r\ngame servers (get transfer and confirmation codes)`. It may take some time, it\r\nmay also fail, if it does then try again\r\n\r\n1. Enter those codes into the game's transfer system (click on\r\n`Resume Data Transfer`) (You may need to `Cancel Data Transfer`\r\nin-game before doing so)\r\n\r\n### Using a rooted device via adb\r\n\r\n1. Add adb to your PATH environment variable, or edit the config to set ADB path\r\n to the full path of the adb executable. You can download adb from\r\n [adb](https://developer.android.com/studio/releases/platform-tools)\r\n\r\n1. Open the editor and select the option named `Pull save file from device\r\nusing adb` and enter your game version, or select the option named\r\n`Select save file from file` and select a copy of your save data\r\n\r\n1. Edit what you want\r\n\r\n1. Go into save management and select an option to push save data to the game\r\n\r\n1. Enter the game and you should see changes\r\n\r\n### Using a rooted device directly\r\n\r\n1. You need to be running the editor on the device itself, so you'll need to\r\nfollow the [Android tutorial](#android-tutorial) to install the editor\r\n\r\n1. Open the editor and select the option named `Pull save file from root\r\n storage`\r\n\r\n1. Edit what you want\r\n\r\n1. Go into save management and select an option to push save data to the game\r\n\r\n1. Enter the game and you should see changes\r\n\r\n### How to unban your account\r\n\r\n1. Select the option in `Account` to `Unban account` or\r\njust upload the save data to the game servers again\r\n\r\n1. It may take some time but after, you should be able to choose one of the\r\noptions in save management to push the save data to the game.\r\n\r\n#### How to prevent a ban in the future\r\n\r\n- Instead of editing in platinum tickets use the `Platinum Shards` feature\r\n\r\n- Instead of editing in rare tickets use the `Normal Ticket Max Trade Progress\r\n(allows for unbannable rare tickets)` feature\r\n\r\n- Instead of hacking in cat food, just edit everything in that you can buy with\r\ncat food, e.g battle items, catamins, xp, energy refills (leaderships), etc.\r\nIf you really want catfood then you can clear and unclear catnip missions with\r\nthe feature `Catnip Challenges / Missions` then entering 1 when asked.\r\nYou'll need to collect the catfood in-game after each clear though\r\n\r\n- Instead of hacking in tickets, just hack in the cats/upgrades you want directly\r\n\r\n## Android Tutorial\r\n\r\nIf you don't have a pc to install and run the editor you can use Termux.\r\n\r\n1. Download [F-Droid](https://f-droid.org/F-Droid.apk) - You can download the\r\nTermux apk directly but then it won't automatically update. You cannot\r\ndownload Termux from the Play Store because it does not work\r\n\r\n1. Install F-Droid\r\n\r\n1. Open it and wait for it to finish `Updating repositories`\r\n\r\n1. Tap the green search button in the bottom right and search for `Termux`\r\n\r\n1. Tap `Termux Terminal emulator with packages`\r\n\r\n1. Tap `INSTALL` and then `OPEN` once installed\r\n\r\n1. Once opened enter the command `pkg install python`\r\n\r\n1. If that doesn't work then read this: <https://stackoverflow.com/a/71097459>\r\n\r\n1. Then follow the `Install from source` instructions below\r\n\r\n1. If that doesn't work then run `pkg upgrade` and try again\r\n\r\n1. Then run `python -m bcsfe`\r\n\r\n1. Note that the editor might complain about not being to run tkinter, but you\r\ncan ignore that and just enter `SAVE_DATA` when asked to enter the path to a\r\nsave file\r\n\r\n1. You can then use the editor like normal\r\n\r\n### Install from source\r\n\r\nIf you want the latest features then you can install the editor from the github.\r\n\r\n1. Download [Git](https://git-scm.com/downloads)\r\n\r\n2. Run the following commands: (You may have to replace `py` with `python` or `python3`)\r\n\r\n```batch\r\ngit clone https://github.com/fieryhenry/BCSFE-Python.git\r\ncd BCSFE-Python\r\ngit checkout 3.0.0\r\npip install -e .\r\npy -m bcsfe\r\n```\r\n\r\nIf you want to use the editor again all you need to do is run the `py -m bcsfe` command\r\n\r\nThen if you want the latest changes you only need to run `git pull` in the downloaded\r\n`BCSFE-Python` folder. (use `cd` to change the folder)\r\n\r\n## Documentation\r\n\r\n- [Custom Locales](https://github.com/fieryhenry/ExampleEditorLocale)\r\n- [Custom Themes](https://github.com/fieryhenry/ExampleEditorTheme)\r\n\r\nI only have documentation for the locales and themes atm, but I will probably\r\nadd more documentation in the future.\r\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later License",
"summary": "A save file editor for The Battle Cats",
"version": "3.0.0b2",
"project_urls": {
"Changelog": "https://github.com/fieryhenry/BCSFE-Python/blob/master/CHANGELOG.md",
"Homepage": "https://github.com/fieryhenry/BCSFE-Python",
"Issues": "https://github.com/fieryhenry/BCSFE-Python/issues",
"Repository": "https://github.com/fieryhenry/BCSFE-Python"
},
"split_keywords": [
"battle cats",
" save editor",
" hacking"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "685618d37a77ee76c064ad8a1a6a3e85a0b53aee27978fdb67831f7b8b126002",
"md5": "e65fd0ad4c5267e07da529c0c0a87d1f",
"sha256": "ae74a3c27d4166aa796a1ab2328e669837cbd8c1e60fe57f229e452eef6b4a3c"
},
"downloads": -1,
"filename": "bcsfe_kr-3.0.0b2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e65fd0ad4c5267e07da529c0c0a87d1f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 248708,
"upload_time": "2024-08-22T07:35:03",
"upload_time_iso_8601": "2024-08-22T07:35:03.183293Z",
"url": "https://files.pythonhosted.org/packages/68/56/18d37a77ee76c064ad8a1a6a3e85a0b53aee27978fdb67831f7b8b126002/bcsfe_kr-3.0.0b2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e3b199fc8e10f702b524019e1f852e33c106f74d4205bf5d631e109de238a917",
"md5": "edeeec8240821370a278ade660772735",
"sha256": "997def61feafb9e8f62b518fb28ce00e55af07f38fbb42c0a25a4142e89f8f81"
},
"downloads": -1,
"filename": "bcsfe_kr-3.0.0b2.tar.gz",
"has_sig": false,
"md5_digest": "edeeec8240821370a278ade660772735",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 179153,
"upload_time": "2024-08-22T07:35:05",
"upload_time_iso_8601": "2024-08-22T07:35:05.343809Z",
"url": "https://files.pythonhosted.org/packages/e3/b1/99fc8e10f702b524019e1f852e33c106f74d4205bf5d631e109de238a917/bcsfe_kr-3.0.0b2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-22 07:35:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "fieryhenry",
"github_project": "BCSFE-Python",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "colored",
"specs": [
[
"==",
"1.4.3"
]
]
},
{
"name": "python_dateutil",
"specs": [
[
"==",
"2.8.2"
]
]
},
{
"name": "PyYAML",
"specs": [
[
"==",
"6.0"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.32.2"
]
]
}
],
"lcname": "bcsfe-kr"
}