Ahozura-Ns Total Administration Registration and Execution System
NetSimutransの運営者・参加者向けの各種操作のインタフェースをブラウザ上で提供するアプリケーションです。
認証・認可はDiscordのOAuth認証を利用しており、特定のサーバに入っているメンバのみ利用を許可することで、部外者による操作を排除します。
ログインしたユーザには一般参加者または管理者のどちらかの権限が与えられます。管理者には任意の人物(複数可)を指定することができます。管理者は全ての機能にアクセス可能ですが、一般参加者はサーバ管理者向け機能にアクセスすることはできません。
- サーバの死活確認
- 接続中のクライアント確認
- Pakセットのダウンロード
- 最新マップのダウンロード
- サーバが落ちていた場合の再起動
- 保存コマンドの送信
- Pak追加申請
- 追加申請の管理者への通知
- Pak追加申請取下
- サーバ強制停止
- NetSimutransが稼働しているLinux上でWebサーバが稼働していること
- 上記環境にPHP8がインストールされていること
- 上記環境にPostgreSQLがインストールされていること
- Discord Developer Portalより、OAuth認証が利用できるアプリを作成していること
- 上記アプリに「名前を読み取る」「参加サーバを読み取る」権限が付与されていること
- 1つ以上のDiscord Webhookを作成していること
ANTARESはあなたのNetSimutransサーバにも導入することができます。
- Releasesより本リポジトリの中身を丸ごとダウンロードし、お使いのサーバに入れます。
- settings_template.phpをコピーし、settings.phpという名称に変更します。
- settings.phpの必要項目を入力します。(詳細は後述)
- 多分これで使えます
以下の変数を貴方の環境に合わせて編集してください。
編集の際には、以下の事項を遵守してください。
- ディレクトリのパスを指定する場合、末尾に「/」を付与しないでください。
サーバ名称です。任意の名称を指定してください。何を指定しても動作は変わりません。ただ表示される文言が変わります。
Simutransの実行ファイルが配置されているディレクトリパスを指定してください。
Simutransの実行ファイルのパスを指定してください。通常は$SIMUTRANS_DIR."/sim"であるはずです。
サーバ上で保存されるデフォルトのセーブデータのパスを指定してください。通常は$SIMUTRANS_DIR."/server13353-network.sve"であるはずです。
Simutransを操作するためのツールであるnettoolのパスを指定してください。通常は$SIMUTRANS_DIR."/nettool"であるはずです。
Net Simutransのポート番号を指定してください。
Pakセット名を指定してください。
Net Simutransを起動する際に設定するパスワードを指定してください。
Net Simutransを起動する際の言語を指定してください。日本語であればjaです。
サーバのIPアドレスを指定してください。末尾に":".$SIMUTRANS_SERVER_PORTを付けて、ポート番号を含む完全なIPアドレスを指定してください。
Simutrans実行時のログを出力するファイルのパスを指定してください。
Pakセットのバージョンが記載されたテキストファイルのパスを指定してください。
Simutransがメンテナンス中であるかどうかを確認するためのURLを指定してください。ここに指定されたURLが404以外を返す場合(リソースが存在する場合)、メンテナンス中であると見做されます。
PakファイルをダウンロードするためのURLを指定してください。
メンバーから追加の申請がなされたファイルを保管しておくディレクトリのパスを指定してください。
メンバーから追加の申請がなされたファイルについての情報をCSV形式で記録するファイルのパスを指定してください。
ご自身で作成したDiscordアプリのクライアントIDを指定してください。
ご自身で作成したDiscordアプリのクライアントシークレットを指定してください。この情報は慎重に扱ってください。
DiscordサーバのIDを指定してください。ここで指定されたサーバに参加しているメンバーのみANTARESの操作が許可されます。
Discordサーバの名称を指定してください。任意の文字列で構いません。
Discordサーバに参加している人物であるかを記録するためのセッションIDです。通常は"isjoined".$DISCORD_GUILD_NAMEであるはずです。
配列形式で、DiscordのアカウントIDを<@999999999999999999>の形式で指定してください。管理者向けの通知としてDiscordで送信されるメッセージに、ここで指定したアカウントへのリプライが付けられます。
$ADMIN_USER_NAMESで指定したユーザと同一である必要はありません。
DiscordのWebhookのURLを指定してください。ここで指定されたURLに、参加者全員向けのお知らせが投稿されます。
DiscordのWebhookのURLを指定してください。ここで指定されたURLに、管理者向けの通知が投稿されます。
Pakセットのバージョン($SIMUTRANS_PAK_VERSION_PATHで指定されたファイルの内容)が変更された場合、変更内容を取得するためのプログラムが動作しているパスを指定してください。
DBホスト名を指定してください。通常は"localhost"であるはずです。
DBサーバが動作するポート番号を指定してください。
DB名を指定してください。
DBユーザ名を指定してください。
DBパスワードを指定してください。
配列形式です。ANTARES上で管理者権限を与えたいユーザの名前をDiscordのユーザ名で指定してください。複数人を指定することも可能です。指定する人数に上限はありませんが、管理者権限を与えるに足る人物かしっかり検討してから追加するようにしてください。
$ADMIN_DISCORD_USER_REPLY_TEXTSで指定したユーザと同一である必要はありません。
OSのユーザ名を指定してください。ここで指定されたユーザに、各種ファイルの操作権限を与えます。
v1.0.5以降のリリース履歴はReleasesから参照してください。
- 暫定リリース
- 強制停止機能追加
- 再起動・アップデート内容投稿機能追加
- Pak追加申請機能追加
- 申請受理済みファイル一覧閲覧機能追加
- UIのフォントにLINE Seedを利用しています。このフォントはSIL OPEN FONT LICENSEに基づき提供されており、著作権はLINEヤフー株式会社が有しています。
- アイコンフォントにSegoe MDL2 Assetsを利用しています。このフォントはMITライセンスに基づき提供されており、著作権はMicrosoftが有しています。