Skip to content
This repository has been archived by the owner on Apr 19, 2022. It is now read-only.
/ kcauto Public archive

kcauto, the successor to kancolle-auto, a Kantai Collection (Kancolle) bot/automation tool

License

Notifications You must be signed in to change notification settings

perryhuynh/kcauto

Repository files navigation

kcauto

kcauto is a robust Kantai Collection automation tool. kcauto and it's predecessor kancolle-auto are proof-of-concepts in using vision-based automation to play Kantai Collection. They are exercises in automating large, convoluted, and complex game-playing logic. kcauto is written in Python 3.7.

kcauto is not designed to be the fastest automation tool, but is instead meant to be robust, highly customizable, and relatively safe to use. Please read the Disclaimer below before use!


You can also reach out to the dev (Perry) and other kcauto users on Discord!


Disclaimer

kcauto is meant for educational purposes only. Botting is against the rules and prolonged usage of kcauto may result in your account being banned. The developer of kcauto takes no responsibility for repercussions related to the usage of kcauto. You have been warned!

Although unlikely, users may lose ships and equipment when using kcauto to conduct combat sorties. While kcauto has been painstakingly designed to reduce the chances of this happening, the developer of kcauto does not take responsibility for any loss of ships and/or resources.

Features

  • Expedition — automate expeditions
    • Multiple expeditions per fleet
    • Event and non-event boss and node support expeditions
  • PvP Module — automate PvP
    • Automatic diamond or line abreast formations against submarine-heavy opponents
  • Combat Module — automate combat sorties
  • LBAS Module — automatic LBAS management
    • Automatic resupply, fatigue management, and node assignment
  • Ship Switcher Module — automatic switching of ships based on specified criteria between combat sorties
  • Fleet Switcher Module — automatic switching of fleet presets for PvP and combat sorties
  • Quests Module — automatic quest management
  • Repair & Resupply Modules — automatic resupply and repair of fleet ships
    • Passive Repair — automatic repair of non-active ships when docks are available
  • Stats — keeps stats on various actions performed
  • Click Tracking — optional tracking of clicks done by kcauto
  • Scheduled and manual sleeping and pausing of individual modules or entire script
  • Automatic catbomb and script recovery
  • Random variations in navigation, timers, and click positions to combat bot detection
  • Hot-reload config files
  • Open-source codebase

Installation

  • Install Python 3.7.3
    • Warning for Windows users: DO NOT install Python 3.7 the Windows 10 Microsoft Store; this version of Python is not fully functional
    • Note for Windows users: you may need to log out and back in for environment paths to properly propagate
  • (Unix only) Install additional pacakges python3-tk scrot
  • Install pip if not already installed
  • (Optional, but recommended) Install pipenv using pip install pipenv
  • Install dependencies:
    • pip-mode: pip install -r requirements.txt
    • pipenv-mode: pipenv shell, then pipenv install --ignore-pipfile

Kancolle setup

  • Run Chrome or Chromium equivalent with the --remote-debugging-port option:
    • ex: chrome --remote-debugging-port=9222
    • Note: This remote-debugging-enabled instance of Chrome must be the first instance of Chrome run. If you have other Chrome windows open, close all of them before re-starting it with remote-debugging enabled.
  • Load Kancolle
    • First run: leave it in the 'Start' screen, where you press the button to enter homeport. You will not have to start kcauto from this screen in subsequent runs, although it is recommended you do this after each game maintenance to allow kcauto to load the latest game data.
    • Ensure that the game is scaled to 100% size/1x scaling — the entire game should be 1200 pixels wide and 720 pixels tall if you take a screenshot of it

Running kcauto

The following assumes the python alias points to Python 3.7. If your alias for Python 3.7 is different (e.g. python3, py -3), modify the commands as needed. Run these commands on the command line/shell.

  • (Windows only) First run set PYTHONIOENCODING=utf-8
  • Run kcauto in GUI mode: python kcauto
  • Or, run kcauto in CLI mode: python kcauto --cli
    • Run kcauto in CLI mode with a custom config file custom.json in the configs folder: python kcauto -cli -cfg custom (note that you do not add .json here)
    • Run kcauto in CLI mode with a custom config file in a custom path: python kcauto -cli -cfg-path <full-path-to-cfg>