この記事は2020年に今は無き別サービスに投稿したものを、今更Qiitaに再投稿したものです。
「rcon」って何に使うのだろうか
Minecraftのサーバーのバージョンを更新してserver.properties
を見直していた際に、enable-rcon
という項目を発見した。気になったので、「Minecraft rcon」でググってみた。そこで見つけたのが、Minecordだ。もりやませーたさんという方が作り、MITライセンスで公開されている。どうやらNode.js製のサーバーで、そこからMinecraftサーバーのrconを利用してDiscordのチャットを流しているということなのだろうか。
早速導入
もりやませーたさんのブログ、「ModなしでMinecraftサーバーとDiscordを連携するツールを作った」を見て、その通りに進めていく。
進めていく前に、実行には当然ながらNode.jsの環境が必要である。また、Minecordはnpmからインストールする。私が使っている環境はDebianなので、apt
を使ってパッケージnodejs
,npm
をインストールした。
~$ sudo apt install nodejs npm
依存関係を満たすために上記の2つ以外に大量のパッケージがインストールされる。こうしてようやく作者さんのブログの通りに進めていく。
Debianにおいてnpmでパッケージをインストールすると、デフォルトでは/usr/local/bin
にシンボリックリンクができるはずだ。
デーモン化
ターミナルから実行するのでは不便なので、systemdでデーモン化する。
/etc/systemd/system
にminecord.service
を作成し、以下のように記述する。
[Unit]
Description=minecord
After=syslog.target network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/minecord --config /home/hoge/minecraft_server/config.json
WorkingDirectory=/home/hoge/minecraft_server
KillMode=process
Restart=always
User=hoge
Group=hoge
[Install]
WantedBy=multi-user.target
ExecStart
,WorkingDirectory
はどこにconfig.json
を置いたかによって適宜変更する。
~$ sudo systemctl start minecord
で実行できる。
~$ sudo systemctl enable minecord
で起動時に自動実行されるようになる。
日本語でチャットできる
Minecraftに備わっているチャット機能は日本語入力に不向きであったが、これで解決。手元にスマホを置いてそこでチャットしても良し。後輩たちからもとても好評であった。作者に多大なる感謝と敬意を表したい。