サーバーを借りるところからminecraftサーバーを立てるところまで

前書き

みなさんこんにちは

理系が恋に落ちたので証明してみたのアニメを見て白衣着たことねぇなぁって思っているなゆたです.

このブログはLOCAL学生部総大会企画ブログリレーの記事となります.

とりあえずサーバーを借りるところから

総大会が始まってすぐさくらのVPSを借りてドメインを取得.さっそく1万2千円ほどお金を使う.

そして設定

前提条件 PC:Mac サーバー:さくらのVPS

サーバーの設定まとめ

  • OSインストール(ubuntu18.04)
  • 一般ユーザーの追加
  • 公開鍵認証の設定(sshdを再起動しないと反映されない)
  • パケットフィルタ(ssh:22 minecraft:25565)
  • DNSの設定
  • minecraftサーバーのインストール
  • minecraftワールドのバックアップ

OSインストール

さくらのVPSのコンソールからサーバーを選択し,各種設定からOSをインストールします.

今回はubuntu18.04 LTSをインストールしました.

理由は特にないですが,単純に使い慣れているからです.

一般ユーザーの追加

OSをインストールしたら早速sshでログインします. ですがこの状態だとrootユーザーで簡単にログインできてしまうのでセキュリティがガバガバです. なのでminecraftを触る前に先に最低限のセキュリティをかけていきます.

$ sudo adduser USER_NAME

これでUSER_NAMEというなのユーザーを追加することができますのでUSER_NAMEを適宜置き換えてユーザーを作ります. そして管理者権限で実行するためのsudoを使えるようにします.

$sudo gpasswd -a USER_NAME sudo

これでUSER_NAMEというユーザーはsudoを使うことができるようになりました. 今のうちにユーザーを切り替えておきましょう.

$su USER_NAME

これで一般ユーザーに切り替わりました.

公開鍵認証の導入

これで一般ユーザーを作ることができましたが,セキュリティは何も解決していないのでここから認証を導入していきます. 今回は公開鍵認証を使います. まず自分のPCで

$ cd ~/.ssh
$ ssh-keygen -t ed25519 -f id_ed25519

します.

そうするとsshの鍵が作られますので

$scp id_ed25519.pub USER_NAME@XXX.XXX.XXX.XX:~/.ssh

します(XXX.XXX.XXX.XXにはサーバーのIPアドレスを入力してください) そうするとサーバーの方に公開鍵がコピーされますので,

$ssh USER_NAME@XXX.XXX.XXX.XX

してリモートサーバーにログインします. その後

$cd .ssh
$cat id_ed25519 >> authorized_keys
$chmod 600 .ssh/authorized_keys 

します. これで公開鍵認証ができます.

その後,パスワード認証と管理者アカウントでのログインを禁止します.

設定ファイルが

/etc/ssh/sshd_config にあります.

このファイルを操作するには管理者権限が必要なので

$sudo vi /etc/ssh/sshd_config

でviを使って操作します.

操作する箇所は

#PermitRootLogin yes

PermitRootLogin no

に,

PasswordAuthentication yes

PasswordAuthentication no

に変更してください.

これで設定は完了したので,

$sudo /etc/init.d/ssh restart

sshを再起動してください

パケットフィルタの設定

パケットフィルタの設定はVPSのコンソールで行います.

サーバーを設定した後パケットフィルタの欄から開きます.

その後,パケットフィルタ設定へというボタンを押し設定します.

今回はマイクラのサーバーとsshすることにしか使わないので,

ssh用のportの22番とminecraft用のportの25565番を解放し,ほかは使わないです.

sshの欄にチェックした後,カスタム接続許可port設定から25565番をTCPで設定します.

これでパケットフィルタの設定は完了です.ほかに使いたいportがあればここで許可してください.

DNS設定

これもさくらのDNSを使わせていただいたのでDNSのコンソールでゾーン設定から行えます.

dockerとdocker-composeのインストール

今回はminecraftのサーバーをdockerで立てようと思っています.

よってdockerをインストールします.

インストールは参考資料にある公式ドキュメントに従ってください.

minecraftサーバーのインストール

dockerを使って立てるのでDockerfileを書きます.

今回はk2wankoさんのminecraftサーバーを使うことにします.

まずminecraft関連のデータを入れるディレクトリを作りそこに移動します.

$mkdir minecraft
$cd minecraft
$vi minecraft

Dockerfile

FROM k2wanko/minecraft:forge-1.7.10

このファイルを作ったら

$docker build -t k2wanko/minecraft .

これでビルドが始まります. しばらく待ってビルドが終わったら,

$docker run -it -p 25565:25565 -e "EULA=true" k2wanko/minecraft

これでminecraftのサーバーが起動しますので設定したドメインminecraftでアクセスすれば入れるはずです.

参考文献

help.sakura.ad.jp

docs.docker.com

blog.adjust-work.com