ゲーム中にDiscordのルームに入れると音楽を流してくれる
RhinoBot(参考)を導入しようと思ったのですが、
見事にDebian系の説明しかネット上に転がっていない(?)ので
CentOS6でのインストール手順を記載します。
#インストール手順が説明されているものたち
https://github.com/Just-Some-Bots/MusicBot/wiki
Win,Ubuntu,OSX,RasberryPi,Debian,Docker
Dockerを使いこなせたらカッチョいいですが、地道にCentOSに入れていきます。
参考にするのはUbuntu。
#私のインストール環境
・CentOS6.8
・しなびたノートパソコン
・rootアカウント(コマンドは全てroot権限から実行)
#RhinoBotに必要なものの準備
Ubuntuのインストール手順を見る限り、必要そうなのは
- git
- python3.5
- pip
- (python3.5-dev:不要?)
- libffi-dev
- libopus-dev
- libsodium-dev
- ffmpeg
##・git
yum install git
ですんなり落ちてきました。
##・Python 3.5
さくらVPSの標準OS(CentOS 6.7)にPython3.5.0をインストールするを参考に。
Warningはいっぱい吐きましたが、最終的に動作すればOKです。
gccがないと make
に頭から躓くので、その場合はyum install gcc
しましょう。
また、僕の環境ではmake後に
Substitution happens here, as the completely-expanded BINDIR is not available in configure ...
というエラーが出ましたが、一応今回の目的では問題なく動作しているので無視。
python
を叩いてバージョンを確認。3.5以外ならPATHがうまく設定できていないので
PATH=/usr/local/bin:$PATH export PATH
あたりで切り替えましょう。
##・pip
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
python3.5が動いたらpipの導入。
転んでしまうときは
yum -y install gcc gcc-c++ kernel-devel yum -y install python-devel
を試してみてください。
##・libffi-dev
yum install libffi-devel
で素直に。バージョンは3.0.5が落ちてきました。
##・libopus-dev
こちらを使用。LinuxTECHというリポジトリをvi /etc/yum.repos.d/linuxtech.repo
から追加。内容は
[linuxtech]
name=LinuxTECH
baseurl=http://pkgrepo.linuxtech.net/el6/release/
enabled=1
gpgcheck=1
gpgkey=http://pkgrepo.linuxtech.net/el6/release/RPM-GPG-KEY-LinuxTECH.NET
念のためyum update
してから
yum install libopus-devel
##・libsodium-dev
配布元?の手順通り。Tarで固めてあるのがここに転がっているので
libsodium-1.0.10.tar.gzを選定。
cd /tmp wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.10.tar.gz tar -xfvz libsodium-1.0.10.tar.gz cd ./libsodium-1.0.10 ./configure make && make check make install
でOK。
##・ffmpeg
yum install ffmpeg
すんなり落ちてきました。
#動作まで
##本体を落とす
まずMusicBot本体をインストールしたい場所へgitを使ってクローン。僕は何も考えずに~へ。
cd ~ git clone https://github.com/Just-Some-Bots/MusicBot.git MusicBot -b master
##設定、Botをサーバーに追加
記事の「準備」部分を進めていきます。
テキストエディタ云々はviでもvimでもemacsでもnanoでもいいです。
あと、リンク先では~/MusicBot/config/example_options.iniを編集していますが、
その後の実行時に内容が適用されてない感じだったので、私は直接options.iniを編集しました。
この段階でDiscordにMusicBotが追加され、OwnerID等々動作に必要なものが設定されましたね。
マトモなサーバーならiptables等々でポートを絞っているはずですが、
DiscordはTCP 443番をテキストチャットに使っている模様です。
疎通ができない場合、その辺りから疑うと良いのかも。
##Bot自体の依存関係処理
次にPython上でのBotそのものに必要な依存関係をなんとかしていきます。
cd ~/MusicBot python -m pip install -U -r requirements.txt
この際、僕の環境ではPyNaClのインストール部分にすこし時間(5分程?)が掛かりました。
この作業時、フリーズしてるように見えたのでCtrl-Cで中断したところ、pipのアプデが出来ると通知されました。
アプデしたところ、表示方法が変わってフリーズしていないことがわかるようになりました。
その後待っていたら進んだので、少しだけ待つと良さそうです。
#動かしてみる
python ~/MusicBot/run.py
でMusicBotが起動します。エラーが出た場合は、かなり親切に教えてくれるので指示に従いましょう。
MusicBotの中身が起動するとDiscord側でBotがオンラインになります。
あとはDiscord側から「!play」などのコマンドを使って操作出来るでしょう。
#screen or tmux
バカ正直にpythonコマンドで叩いているので、Botの動作中はずっと端末を握られっぱなしになります。
端末を落とすとBotも落ちてしまうので、このままでは実用に耐えません。
screenかtmuxを導入すると良いでしょう。
yum list | grep tmux
で何も見えなかったので
yum install screen
あとはここらへんを参考にしつつscreenを作ってBotを叩き、デタッチすれば完了です。
それでは、よいゲーミングライフを!