Skip to content

makemek/Modcolle

Repository files navigation

Modcolle

Build Status Coverage Status

Modcolle is a proxy server for playing Kantai Collection (艦隊これくしょん ~艦これ~). The main goal of Modcolle is to provide in-game translation displaying in the flash client directly. Unlike Kancolle Viewer that wraps IE browser and listens to outgoing traffic, Modcolle, acting as a web server, makes Kancolle send all HTTP requests to Modcolle instead. Thus, it has the opportunity to process requests before forwarding them to destinated Kancolle servers or response back to clients. In this case, Modcolle is a middleman between client and Kancolle servers. Client can access modcolle without having to configure proxy connection. No more cookie injection, Japan timezone synchronization, or VPN connection in order to play the game. Modcolle do all those things behind the scenes. Since the processes involves calling DMM API directly, no bloating javascript is executed, it is faster than accessing from DMM website. Modcolle also distributes game asset requests .png, .mp3, and .swf among multiple Kancolle servers to relief traffic bottle neck. Ensures that all assets will be delivered as fast as possible.

Feature

  • Enjoy playing the game on full screen
  • Place custom content to be displayed inside a game such as ships, musics, or any game assets similar to KancolleCacher. this feature is suspeneded, will implement sometime later
  • Display translations inside the game Just for a proof of concept. No full translation are implemented in this release
  • Realtime logging. See what Kancolle makes requests to the server including decoded API requests and responses for statistical analysis

Installation

Modcolle is a Node.js server application, not a desktop application. There is no executable launcher. It is intended to run on a web server. However, you can setup your machine as a web server to run Modcolle locally.

Modcolle needs to run together with Nginx in order to operate normally. Please follows steps below to run Modcolle

On Mac and Linux

  1. Install Docker and Docker Compose
  2. Clone this repository git clone [email protected]:makemek/Modcolle.git and run npm install
  3. Open terminal and run docker-compose up. You can add -d flag to detach the process and run as a daemon.
  4. Open a web browser and type localhost in the url

On windows

Unfortunately, Docker is not natively supported on Windows. Also there is a shell script that be executed only in linux environment. You have to install Nginx and Modcolle manually.

  1. Install Nginx and Node.js (v. 6.9.1)
  2. Clone this repository git clone [email protected]:makemek/Modcolle.git and run npm install
  3. Copy /deployment/nginx/nginx.conf to \path\to\nginx\conf. Make sure to backup nginx.conf first before overwrite.
  4. Inside nginx.conf replace app1 and DOMAIN_NAME with localhost
  5. Start nginx
  6. Type npm install pm2 -g and run pm2 start process.json
  7. Open a browser and type localhost in the url

Configuration

.env.json is the common configuration for Modcolle which will be created on first-time start or test by copying .env.json.template (no overwrite if file already exists). At env section in process.json are environment variables that will override .env.json for running in production environment.

Environment Variables

  • LOGGER_SILENT: if false enables log, true disables log
  • LOGGER_LEVEL: select a logging level
  • PORT: application port
  • PORT_DEV: FOR DEVELOPMENT ONLY will take effect when run npm run dev
  • KANCOLLE_SERVER_MASTER: A host name for main Kancolle server that have interface/kcsapi/api_world/get_id for requesting players world id
  • KANCOLLE_SERVER_#: A host name for other Kancolle servers where # is world id