…ほとんど他記事紹介です
でもリンク先の手順通りだと所々ハマってしまったので忘備録。初投稿。Linux初心者。
追記(2019/05/31)###
現在動作確認が取れていません。
素直に公式が推奨するDebian系で構築したほうが時間の浪費にならずいいかもしれません。
追記(2020/10/26)###
一部表現・コマンドを見直しました。
現在CentOS8が出ていますが、私は完全にUbuntuに乗り換えてしまったので動作確認は他の方にお任せします、、、
GCPとGCEの登録・サーバ(インスタンス)の作成
ほとんどこちらを参考にしました。
[【GCP-GCE】無料で永遠に信頼出来るVPSを使用できちゃう!]
(https://22musyoku.tokyo/gce-always-free/)
ただしこのマシン、永年無料だけが取り柄でPythonをインストールすると途中でブーストが切れるために結果15分以上かかったりとかなり使い勝手は悪いです。
GCPは新規に使い始めると1年間有効な300ドル分のクレジットが貰えるため、25ドル/月に収まるようなマシンを借りて試すことをお勧めします。
vCPU×1にメモリ1GBもあればこの用途では十分です。(ストレージはSSDにするとより快適)
同じ無料でも最大5倍程度のスペックアップが見込めます。
MusicBotサーバの構築
これが難しかった。何気に趣味とはいえ実運用するサーバの構築がこの時初でして、かなり手間取りました。
参考サイトはこちら。(この参考サイトを見ながら進めていきました)
[【CentOS7 VPS】 Discord Musicbotの導入と常時オンライン化]
(https://qiita.com/Trouble_SUM/items/9282160bc8e28b0034d1)
まずは既に入っているソフトのアップデート。それから色んなもののインストール。
$ sudo yum -y update
$ sudo yum -y install git gcc gcc-c++ kernel-devel libffi-devel
ffmpegのインストール
これに手こずりました。。。
上記事さんの「さらに」の部分から「あとは適当な~」の直前まではカット。
代わりに以下URLの手順でやります。
[CentOS7にffmpegをyumインストール]
(https://qiita.com/snoguchi/items/d12f0407075d7978925c)
$ sudo yum -y install epel-release
$ sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
$ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
$ sudo yum -y install ffmpeg ffmpeg-devel
既にインストールされているものは Error: Nothing to do.
と出てきます。無視して大丈夫です。
導入確認。バージョンっぽいものが出てくればOKです。
$ ffmpeg -version
リピート機能を含んだMusicBotのダウンロード
cd github
まで進んだら一旦ストップ。
実はオリジナル版MusicBotにはリピート機能は実装されていません。無くてもいいのですがあったらかなり便利・・・
…ありました。こちらを参考にします。
[discordだけでTRPGボイスセッション環境を整える]
(https://qiita.com/C0ela/items/f2423f7cad7741152c57)
$ git clone https://github.com/Just-Some-Bots/MusicBot.git
$ cd MusicBot
$ git fetch origin pull/486/head:music-bot-id-486
$ git checkout music-bot-id-486
4行実行し終わったら cd ../
で元のディレクトリに戻っておきましょう。
Pythonのインストール
基本上記事さんの通りです。
しかしリピート機能を導入する場合、3.5以前を導入してください。
3.5.xまででしか動かせないとの情報。実際に3.7.2で確認しましたが動作しませんでした。
3.5.xの最新Verである3.5.7(2019/03/24現在)で話を進めます。
$ sudo yum -y install gcc zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel
$ cd ~/github
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
$ vim ~/.bash_profile
Vimで以下を追記。先頭でも末尾でも良さそうです。Vimも最初は慣れませんでした。
# pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
続けて以下を実行。
$ source ~/.bash_profile
$ pyenv install 3.5.7
$ cd ~/github/MusicBot
$ pyenv local 3.5.7
$ pyenv rehash
導入確認です。3.5.7になっていれば大丈夫です。
$ python --version
Discord側でのbot作成~構築完了
ここからはほとんど上記事さんの通りで問題ないようです。
Discordに使い慣れていない限り迷うことは少なめに思えます。手順を間違えなければ…
初回起動時に実行されるPyNaCl+αのインストールが意外と時間かかります。
まとめ
海外サーバでも目立って音が切れることもなく快適です。
この使い方なら(ターミナルの操作遅延以外は)永年無料のサーバでも特に問題ないですが、応答時間が重要なWebサーバ用途等にはあまり向きませんね。ping値は地理的な限界で常に100ms以上です。
[GCP ping]
(http://www.gcping.com/)
最近はvCPU×1+メモリ1GB+SSD20GBで400円/月程度の国内VPSサービスがありますね。~~気になる・・・~~ 記事執筆後に使ってみました。普通に使えるのでコスパ優先ならおすすめです。
https://web.arena.ne.jp/vps-cloud/その他参考
[Markdown記法 チートシート]
(https://qiita.com/Qiita/items/c686397e4a0f4f11683d)
その他不備などありましたらお気軽にコメントお願いします。