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.
- 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
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
- Install Docker and Docker Compose
- Clone this repository
git clone [email protected]:makemek/Modcolle.git
and runnpm install
- Open terminal and run
docker-compose up
. You can add-d
flag to detach the process and run as a daemon. - Open a web browser and type
localhost
in the url
- Install Nginx and Node.js (v. 6.9.1)
- Clone this repository
git clone [email protected]:makemek/Modcolle.git
and runnpm install
- Copy
/deployment/nginx/nginx.conf
to\path\to\nginx\conf
. Make sure to backup nginx.conf first before overwrite. - Inside nginx.conf replace
app1
andDOMAIN_NAME
withlocalhost
- Start nginx
- Type
npm install pm2 -g
and runnpm start
- Open a browser and type
localhost
in the url
This command runs pm2 using configuration defined in env
of process.yml.
npm start
You can also start the application in production mode by passing --env production
to pm2.
npm start -- --env production
With nodemon and browser-sync
In this mode, no environment variables are loaded. You can still set them inside a command line if needed.
npm run dev
-----------
(optional) configure browser-sync using environment variables before running.
PORT=<port number> # browser-sync app's proxy port; default is 5000
PORT_DEV=<port number> # browser-sync listeing port; default is 3000
process.yml
is PM2's process file for Modcolle.
Inside process.yml
, env
contains common environment variables required by the application.
env_production
used in production contains envrionment variables that overrides variables in env
.
- LOGGER_LEVEL: select a logging level
- LOGGER_PRETTY: pretty print log (should be set to
false
in production) - 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
#
isworld id