見出し画像

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」を起動します.

画像1

起動したら以下のコマンドを実行します.

Start-Process powershell.exe -Verb runas

ペーストは白く点滅しているところで右クリックをするとできます.

画像2

これでPowerShellを管理者権限で起動することができました.

次にPowerShellで以下のコマンドを実行します.

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

画像3

実行したら,一度パソコンを再起動します.

再起動したらPowerShellを一般権限で起動し,以下のコマンドを実行します.

wsl --set-default-version 2

画像4

もし,エラーが出た方はこちらから「x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ」をインストールしてください.

Ubuntuの導入

次にMicrosoftストアからUbuntuをインストールします.

ストアのリンクはこちらです.

画像5

インストールが済んだら,初期設定を行います.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」と入力してください.

画像6

次に,鍵が生成されたかどうかを確認するために,以下のコマンドを実行します.

ls -al

実行して,

id_rsa
id_rsa.pub

があれば大丈夫です.

画像7

鍵を確認できたら,Githubに生成した鍵を登録します.

Githubにログインし,こちらにアクセスします.

「new SSH key」をクリックし,生成した鍵を登録します.

画像9

Gitbushで

clip < id_rsa.pub

を実行し,鍵の情報をコピーし,Githubの画面の「key」にペーストします.

画像9

次に,以下のコマンドを実行します.

eval `ssh-agent`

ssh-add ~/.ssh/id_rsa

ssh -T git@github.com

画像のような出力が得られれば成功です.うまくいかない場合は,こちらを参考にしてみてください.

画像10

AmongUsCaptureのインストール

ここまできたらあと一息です.Among UsのAutoMuteUsは,起動しているPCでAmong Usのゲーム画面をAmongUsCaptureでキャプチャし,その画面に応じてミュートの制御を行います.まずはゲーム画面をキャプチャするためのAmongUsCaptureをインストールしましょう.

こちらから,最新版のAmongUsCaptureのzipをダウンロードし,解凍してください.

画像11

DiscordサーバへのBotの導入

AutoMuteUsを導入する前に,Botを導入するサーバにBotを登録し,トークンコードを取得しておきます.

まずこちらにアクセスしてログインします.

右上の「New Application」をクリックします.

画像12

名前を決めます.何でもいいですが「AutoMuteUs」とかで良いと思います.名前を入力したら「create」を押します.

画像13

そうすると,設定画面に移ります.左の「Bot」をクリックします.

画像14

「add Bot」をクリックします.

画像15

「Yes, do it」をクリックします.

画像16

このような画面になります.コピーをクリックするとトークンコードをコピーできます.

画像17

最後に,作成したBotをサーバに追加します.左の「OAuth2」をクリックします.

「SCOPES」の「Bot」と「BOT PERMISSIONS」の「Administrator」にチェックを入れます.

チェックを入れたら,「SCOPES」の一番下の「Copy」をクリックしてURLをコピーし,プラウザの新しいタブでコピーしたURLにアクセスします.

画像18

画像19

ログインすると,下のような画面が表示されます.Botを入れたいサーバを選択して「はい」を選びます.

画像20

これでサーバに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」としてください.

画像21

全て書き込んだらESCキーを押した後「:q」と入力し,Enterを押してください.

以上で設定は完了です.

使い方

まずGitbushで以下のコマンドを実行します.

cd automuteus
docker-compose up -d

これでDocker側の準備は完了です.

次にDiscord側での操作です.

Among Usのゲーム本体をPCで起動した後,Botが導入されたサーバのテキストチャンネルで「.au n」と入力します.

画像23

すると,BotからDMが送られてきます.印のついたURLをクリックすると,自動的にAmongUsCaptureが起動します.AmongUsCaptureを起動した状態でURLをクリックすると上手くいかないので気を付けてください.

画像22

BotとAmongUsCaptureのリンクが上手くいくとテキストチャンネルに以下のようなものが投稿されます.

これが確認出来たら,ゲーム側で部屋を作ってみてください.部屋のコードが表示されます.

部屋に入った参加者は,テキストチャンネルで自分のキャラの色と同じスタンプを押してください.Botがゲーム内のキャラとDiscordのアカウントの連携を行います.

画像24

あとは普通にゲームを始めるだけです.役職が表示されている画面ではミュートになっておらず,タスクパートになってからミュートになるので気を付けてください.

ゲームを終了するときはテキストチャンネルで「.au e」と入力します.

Gitbush側で以下のコマンドを実行するのも忘れないようにしましょう.

docker-compose down

まとめ

Dockerを用いてAmonu Usの自動MuteBotを導入する方法をDockerの導入から行いました.

こちらでも確認できていないエラーが出なければこの記事1本読むだけで導入できると思います.

参考文献

Virtualization Technology (VT-X)を有効にするには

Win10にWSL2とUbuntu 20.04をインストールする

Dockerを起動しようとしたら「Hardware assisted virtualization and data execution protection must be enabled in the BIOS.」というエラーが出る場合の対処

WindowsのPowerShellを管理者権限で起動する方法

Ubuntu で apt-get update しようとしたらエラーが出た

【Windows】Gitの環境構築をしよう!

GitHubにssh接続する初心者さん

ssh-addできなかったときへの対処

Among Us Bot導入のはなし

AutoMuteUs (Among Us の自動ミュート bot) のセルフホスティング

AutoMuteUsをAmazon Lightsailでホストしてみた

この記事が気に入ったらサポートをしてみませんか?