いつでもmakeobj listしたい!

アドカレのアレその2です。

街中を歩いているとふと、こう思ったことはありませんか?

「今すぐmakeobj listを実行したい」

そんな悩みを解決するべくオンラインでmakeobjを実行できる環境をAWSで作れるようにしてみました。

https://github.com/128na/simutrans-makeobj-python-lambda


仕組み

仕組みはいたって単純でAPI Gatewayで作成したAPIにpakファイルをPOSTで送るとLambda実行環境内でmakeobj listを実行し、結果を返しています。

flow.png


デモ用APIおいておこうと思いましたが従量課金になる部分もあるため用意していません。あしからず。

AWSサービスの説明あれこれは省略しますが同じものをサクッと作れるようにterraformで構成管理しているので興味のある人はgithubのreadmeを参考にチャレンジしてみてください。


スクリーンショット 2024-11-12 232746

今回はおためしということもあり listコマンドのみ対応です。

makeobjの実行結果をテキストで返すだけだと味気ないのでjson形式に変換して返すようにしています。(本体改造でもできそう)

ちゃんと作りこめばmakeobj複数バージョン対応やpak化など他コマンドもできると思います。

これでいつでもどこでもmakeobj listができるようになりました※1!!!

※1:インターネット環境、pakファイルは各自で用意してください。


これができると何がうれしいのか

makeobjを実行できる環境を用意したり意識する必要がなくなります。

webアプリを作成してこのAPIを呼び出せばWindows,Mac,LinuxなどOS依存を解消できます。

今回はポータルにアップロードしたアドオンを自動スキャンしてアドオン名一覧取得に使用できないかという目的で試作してみました。レンタルサーバーは管理者権限で操作ができず、バイナリファイルの実行に制約があるためAWS環境で作成しています。

cloudで画像編集からpak化、公開まで一括でできるアドオン開発環境とか作れたら面白そうですね!


それでは年末年始はよきmakeobjライフを!


関連記事

コメント

非公開コメント

プロフィール

128な人

うにゅー

ユーザータグ

script squirrel simutrans