Skip to content

ponkotuy/MyFleetGirls

Repository files navigation

This project is deprecated.

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

MyFleetGirls

https://badges.gitter.im/ponkotuy/MyFleetGirls.svg 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 参照。ただし、起動は

$ sbt proxy

とします。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
簡単な疎通チェックをするツールです。