ゲーム用MODのインストールシステムをPythonで作ったので報告・紹介したいと思います。
戦車ゲーム『World of Tanks』にはMODシステムが存在しますが、MOD作者はバラバラにファイルを配布するためインストール方法が統一されておらず、初心者のMOD導入の障壁となっていました。MODが主として英語やロシア語で配布されているという現状もMOD導入を難しいものとしていました。
現状では、Wikiなどを見つつ手作業でインストールを行うという状況です。
autowotは、このような状況を改善する手助けとなるツールです。
autowot
autowotはコマンドラインツールです。近いうちにGUIにも対応させる予定です。コマンドを叩くことで、MODを自動的にインストールします。
$ autowot.py windymelt/xvm-installer Downloading ZIP archive from github: windymelt/xvm-installer [master] ... Downloading completed successfully. Unzipping windymelt_xvm-installer.zip ... Unzipped successfully. Running script. Detected OS: [POSIX (OSX)] Executing xvm.sh... Downloading XVM... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 26 10.1M 26 2768k 0 0 75798 0 0:02:20 0:00:37 0:01:43 4962 ... ... Done! Panzer Vor!
仕組み
autowotエコシステムは単純なシステムで、autowot本体とautowotレポジトリとで構成されます。
前者はGithubにあるプログラムで、ダウンロードしてPythonインタプリタに渡すことで実行できます。
後者はGithub上のレポジトリで、設定ファイルであるautowot.ini
、Windows版のインストールスクリプトとOSX/Linux版のインストールスクリプトを含みます。
autowotは指定されたGithubレポジトリにアクセスし、レポジトリのアーカイブ(ZIPファイル)を取得・展開します。
レポジトリのautowot.ini
には、MODのメタ情報が記録されており、Windows版のインストールスクリプト(BATファイル)とOSX/Linux版のインストールスクリプト(shファイル)のファイル名が記されています。
autowotはOSを判別し、OSに従ったインストールスクリプトを起動し、処理を引き継がせます。
インストールスクリプトはMODのダウンロードや配置を行います。
作成したインストーラ
XVM
現行ではOSX環境にのみ対応しています。今後の開発でWindowsに対応する予定です。
ガルパンボイスパック
(開発中)
これからすること
- autowot
- autowotのレポジトリ
感想や助言などお待ちしています。プルリクも歓迎します。