MyFleetGirls icon indicating copy to clipboard operation
MyFleetGirls copied to clipboard

KanColle Public View Tool

-- coding:utf-8 --

#+AUTHOR: ぽんこつ戦艦 #+EMAIL: [email protected] #+OPTIONS: toc:nil num:nil author:nil creator:nil #+STYLE: #+LANGUAGE: ja

  • This project is deprecated. このプロジェクトの開発は終了しています。継続したい場合はPRやissueではなくforkで勝手にやってください。

  • MyFleetGirls #+ATTR_HTML: title="Join the chat at https://gitter.im/ponkotuy/MyFleetGirls" [[https://gitter.im/ponkotuy/MyFleetGirls?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge][file:https://badges.gitter.im/ponkotuy/MyFleetGirls.svg]] [[https://circleci.com/gh/ponkotuy/MyFleetGirls][file:https://circleci.com/gh/ponkotuy/MyFleetGirls.svg?style=svg]]

    艦これのデータをProxy経由で取得し、サーバに送って、

    [[https://myfleet.moe/]]

    こんな感じで見れるようにするツールです。

    以下ではGitHub cloneした人が動かすための方法になります。 普通に使いたいだけの人は https://myfleet.moe/entire/about を参照してください。

** MyFleetGirls Client 基本的には https://myfleet.moe/entire/about 参照。ただし、起動は

#+BEGIN_SRC $ sbt proxy #+END_SRC

とします。sbtが必要です。設定はapplication.confをトップディレクトリに置きます。

** MyFleetGirls Server

  • sbt(sbt-extrasのインストールをお勧め)とMariaDBをインストール
  • server/lib以下に [[https://www.free-decompiler.com/flash/download/]] からLibraryのjarを入れる(以下のdownLibでも可)
  • MariaDBにmyfleetという名前のdatabaseを作成。utf8を有効化する(いくらかのクエリがutf8です)
  • server/conf/local.confを適宜設定(.sampleをコピーして、DB設定を適宜すればいいでしょう)
  • server/public/message にテキストファイル置かないと弊害があるかも

sbtには以下のコマンドがあります。

  • run :: サーバを立ち上げます。ただし開発モード
  • start :: 同上。ただし本番モード
  • proxy :: client立ち上げ
  • assembly :: MyFleetGirls ClientのダウンローダとClient本体をone-packageのjarに固める
  • zip :: assemblyののちに、publicにそれらを配置する
  • prof :: profilerを立ち上げる(メンテされてないので動くか不明)
  • downLib :: 非maven管理下にあるjarをdownloadし適切に配置する
  • runTester :: Localに対してAPIのテストをする
  • dumpLicenseReport :: 使用しているライブラリのLICENSE一覧を出す
  • scalikeJdbcGen :: ScalikeJDBCのclassファイルを生成する
  • compile, test, clean :: sbtと同じことをする

** 実運用で必要なこと

  • server/public/conf/local.confに必要な設定を書く(.sampleをコピーして書き足すと良い)
  • server/public/MFGsTitle.pngにTitle画像を置く
  • server/public/feed-icon-28x28.pngを [[http://www.feedicons.com/]] から落として置く
  • server/public/clientディレクトリ以下にclientの自動ダウンロードに必要なファイルを置く
  • server/public/zip/MyFleetGirls.zipにDownloaderのzipファイルを置く(さきほどのzipコマンドで生成されます)

** プロジェクト構成 MyFleetGirlsは複数のサブプロジェクトで構成されています。トッププロジェクトはソースコードを殆ど持ちません。

projectディレクトリのみ全体のビルド設定などが入っています。

以下サブプロジェクト一覧です。

  • server :: 提督から艦これデータを受け取り、表示する部分を担当するサブプロジェクトです。Scala2.11 + Playframeworkに加えて、DBアクセスでScalikeJDBCを使っています。Serializeはjson4sで行います。DBはMariaDBです。(MySQLなら動くかも)
  • client :: 艦これの通信を傍受し、serverに送信するまでを担当するサブプロジェクトです。FinagleがProxy機能を持ち、json4sでserializeしたデータをserverに送信します。
  • library :: serverとclient両方で使う共通コード置き場です。主にclient-server間の通信で使うmodel類が入ってます。
  • update :: clientのダウンローダです。初回ダウンロードと自動アップデートでclientを落としてくるときに使います。容量を節約する為にJavaです。実質Java製wgetです。
  • profiler :: プロファイラです。あんまメンテされてないので動くか分かりません。
  • tester :: 簡単な疎通チェックをするツールです。