Last active
October 10, 2015 08:40
-
-
Save Laforeta/80422cd4b04123bf773c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Obsolete version, please use https://github.com/Laforeta/ooi2/wiki/Installation-on-ubuntu-14.04-Trusty/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
What is OOI?
Online Objects Integration (OOI) is a web-based Kancolle proxy written in Python3 for players outside Japan.
OOI works the best on linux or BSD based servers. While it is technically possible to host OOI on a Windows server, performance is very poor as tornado has not been optimised for windows.
Code repository:
https://github.com/kitakamiooi/ooi2
Installation on Ubuntu
Install the following packages as root:
Clone the source code of OOI:
Generate a virtualenv for OOI:
Enable the virtualenv and install dependencies in PIP.
Prefetch game files
Due to certain technical limitations, a number of files have to be prefetched from the game servers.
Set up supervisord
Create a new supervisord configuration file:
The configuration file should contain the following fields:
ooi.py is the main executable script and accepts three arguments:
Additional options available under the “environment=” field. Enter these options as a single line delimited by semicolons.
Restart supervisor after you have finished editing the config files:
service supervisor restart
If the –mp argument is used to start OOI, additional stops needs to be performed to restart the service reliably:
service supervisor stop
killall python3
service supervisor start
Note that error logs will be saved to
/var/log/supervisor/
Nginx configuration example
A minimum of three configuration files is required for OOI. This example covers the basics; one can always add other functions such as TLS and caching on top of what’s shown here. In theory any http server capable of operating in reverse proxy mode will work, e.g. apache and httpd.
/etc/nginx/kcs_upstream.conf contains the source address to pull the cache files from:
/etc/nginx/ooi2_proxy.conf defines the internal proxy between OOI and nginx:
Timeouts defined here are extremely conservative. In practice they could be reduced to 1000ms or shorter.
/etc/nginx/site-enabled/ooi2.conf contains configuration for the public-facing side of OOI.
Restart nginx service after you finish editing the configuration file:
Assuming you have no firewalls restricting external access to port 80, the service should not be accessible over your specific host name.
Optional: Ubuntu server comes with an easy to configure firewalld (ufw). It it highly recommended that you use it for better security.
Customisable components
/customize/ contains a bunch of files that could be modified to change the appearance of OOI in browser.
Known Issues
The following functions are not supported and unlikely to be implemented in the near term
* Facebook/Google logins
* Make purchases via the item shop
* Change signature in ranking
* Set up in-game ID (Newly registered accounts only)
Should your account ever get flagged for a password reset, you have to do it via the dmm.com website.