Among UsのAutoMuteUsをDockerを使ってセルフホスティングする方法
Among UsのAutoMuteBotですが、今現在は旧バージョンを使用するかセルフホスティングをしないと上手く動作しないことがあるそうです。
セルフホスティングする方法は主に
1.VPS等を使い、サーバを借りてホストする
2.Dockerを使う
です.1に関しては別の方がまとめてくれています.2に関してですが,Docker導入後のBotの作り方の記事はあるのですが,Dockerを導入するところから説明している記事が見当たりませんでした.そこで,Dockerの導入からBotの導入までをまとめた記事を書こうと思います.
この方法はWindows10での方法になりますのでご注意ください.
Windowsのバージョンを確認
今回の方法では,WIndowsのバージョンが
バージョン2004(May 2020 Update)・ビルド19041以上
バージョン1903(May 2019 Update)・ビルド18362以上
のいずれかを満たしている必要があります.バージョンはWin+R(ファイル名を指定して実行)で「winver」と入力すれば見る事ができます.
自分のPCが要件を満たしていない場合は,アップデートを確認してください.
BIOS設定の確認
マザーボードのBIOS設定のCPUの項目の「Virtualization Technology」がオンになっているかを確認しましょう.
WSL2の導入
まず,PowerShellを管理者権限で起動します.
「ここに入力して検索」に「powershell」と入力して「Windows PowerShell」を起動します.
起動したら以下のコマンドを実行します.
Start-Process powershell.exe -Verb runas
ペーストは白く点滅しているところで右クリックをするとできます.
これでPowerShellを管理者権限で起動することができました.
次にPowerShellで以下のコマンドを実行します.
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
実行したら,一度パソコンを再起動します.
再起動したらPowerShellを一般権限で起動し,以下のコマンドを実行します.
wsl --set-default-version 2
もし,エラーが出た方はこちらから「x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ」をインストールしてください.
Ubuntuの導入
次にMicrosoftストアからUbuntuをインストールします.
ストアのリンクはこちらです.
インストールが済んだら,初期設定を行います.WindowsのスタートメニューからUbuntu 20.04を起動します.
起動したら,ユーザ作成を行います.ユーザ名とパスワードを入力してください.パスワードは2回入力する必要があります.
最後に,念のため以下のコマンドを実行します.
echo "nameserver 8.8.8.8" | sudo tee /etc/resolvconf/resolv.conf.d/base > /dev/null
sudo rm -rf /var/lib/apt/lists/*
sudo apt-get update
sudo apt upgrade
これでUbuntuの導入は完了です.
Gitの導入
次に,AutoMuteUsはGithubで公開されているため,Gitを導入します.
まずはGitをインストールしましょう.こちらからダウンロードできます.
こちらを参考に,インストールとGitの設定を行ってください.
次にここからGithubのユーザ登録を行ってください.無料アカウントで大丈夫です.
ユーザ登録が終わったら,再びGitBashを起動します.
ここからはAutoMuteUsのプログラムを自分のPCに導入するためにssh接続の設定を行います.
まずは以下のコマンドを実行します.ssh接続をするための鍵の作成を行います.ペーストは右クリックをして「paste」をクリックすればできます.
cd ~/.ssh
ssh-keygen -t rsa
2つ目のコマンドは,途中で入力を求められますが,何も入力せずEnterを押して構いません.ただし,過去に実行したことがある場合は,「overwrite」と聞かれたときは「y」と入力してください.
次に,鍵が生成されたかどうかを確認するために,以下のコマンドを実行します.
ls -al
実行して,
id_rsa
id_rsa.pub
があれば大丈夫です.
鍵を確認できたら,Githubに生成した鍵を登録します.
Githubにログインし,こちらにアクセスします.
「new SSH key」をクリックし,生成した鍵を登録します.
Gitbushで
clip < id_rsa.pub
を実行し,鍵の情報をコピーし,Githubの画面の「key」にペーストします.
次に,以下のコマンドを実行します.
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
ssh -T git@github.com
画像のような出力が得られれば成功です.うまくいかない場合は,こちらを参考にしてみてください.
AmongUsCaptureのインストール
ここまできたらあと一息です.Among UsのAutoMuteUsは,起動しているPCでAmong Usのゲーム画面をAmongUsCaptureでキャプチャし,その画面に応じてミュートの制御を行います.まずはゲーム画面をキャプチャするためのAmongUsCaptureをインストールしましょう.
こちらから,最新版のAmongUsCaptureのzipをダウンロードし,解凍してください.
DiscordサーバへのBotの導入
AutoMuteUsを導入する前に,Botを導入するサーバにBotを登録し,トークンコードを取得しておきます.
まずこちらにアクセスしてログインします.
右上の「New Application」をクリックします.
名前を決めます.何でもいいですが「AutoMuteUs」とかで良いと思います.名前を入力したら「create」を押します.
そうすると,設定画面に移ります.左の「Bot」をクリックします.
「add Bot」をクリックします.
「Yes, do it」をクリックします.
このような画面になります.コピーをクリックするとトークンコードをコピーできます.
最後に,作成したBotをサーバに追加します.左の「OAuth2」をクリックします.
「SCOPES」の「Bot」と「BOT PERMISSIONS」の「Administrator」にチェックを入れます.
チェックを入れたら,「SCOPES」の一番下の「Copy」をクリックしてURLをコピーし,プラウザの新しいタブでコピーしたURLにアクセスします.
ログインすると,下のような画面が表示されます.Botを入れたいサーバを選択して「はい」を選びます.
これでサーバにBotを導入することができました.
AutoMuteUsの導入
最後にAutoMuteUsを導入します.Gitbushで以下のコマンドを実行してください.
git clone git@github.com:denverquane/automuteus.git
cd automuteus
cp sample.env .env
vim .env
ここから環境変数を弄ります.
「i」を押すと書き込むことができるようになります.
書き加えないといけない箇所は
AUTOMUTEUS_TAG=
GALACTUS_TAG=
DISCORD_BOT_TOKEN=
GALACTUS_HOST=
GALACTUS_EXTERNAL_PORT=
の5カ所です.
AUTOMUTEUS_TAGは利用するAutoMuteUsのバージョンです.こちらから,最新のバージョンの番号を探して入力してください.
GALACTUS_TAGは利用するgalactusのバージョンです.こちらから,最新のバージョンの番号を探して入力してください.
DISCORD_BOT_TOKENは使うDiscordサーバにあるBotのトークンです.前項で取得したトークンコードを入力してください.
GALACTUS_HOSTはGalactus プロセスへの URL を設定します.わからなければ「http://localhost:8123」としておけば大丈夫だと思います.
GALACTUS_EXTERNAL_PORTはポート番号です.GALACTUS_HOSTで「http://localhost:8123」とした場合は「8123」としてください.
全て書き込んだらESCキーを押した後「:q」と入力し,Enterを押してください.
以上で設定は完了です.
使い方
まずGitbushで以下のコマンドを実行します.
cd automuteus
docker-compose up -d
これでDocker側の準備は完了です.
次にDiscord側での操作です.
Among Usのゲーム本体をPCで起動した後,Botが導入されたサーバのテキストチャンネルで「.au n」と入力します.
すると,BotからDMが送られてきます.印のついたURLをクリックすると,自動的にAmongUsCaptureが起動します.AmongUsCaptureを起動した状態でURLをクリックすると上手くいかないので気を付けてください.
BotとAmongUsCaptureのリンクが上手くいくとテキストチャンネルに以下のようなものが投稿されます.
これが確認出来たら,ゲーム側で部屋を作ってみてください.部屋のコードが表示されます.
部屋に入った参加者は,テキストチャンネルで自分のキャラの色と同じスタンプを押してください.Botがゲーム内のキャラとDiscordのアカウントの連携を行います.
あとは普通にゲームを始めるだけです.役職が表示されている画面ではミュートになっておらず,タスクパートになってからミュートになるので気を付けてください.
ゲームを終了するときはテキストチャンネルで「.au e」と入力します.
Gitbush側で以下のコマンドを実行するのも忘れないようにしましょう.
docker-compose down
まとめ
Dockerを用いてAmonu Usの自動MuteBotを導入する方法をDockerの導入から行いました.
こちらでも確認できていないエラーが出なければこの記事1本読むだけで導入できると思います.
参考文献
Virtualization Technology (VT-X)を有効にするには
Win10にWSL2とUbuntu 20.04をインストールする
WindowsのPowerShellを管理者権限で起動する方法
Ubuntu で apt-get update しようとしたらエラーが出た
この記事が気に入ったらサポートをしてみませんか?