マルチサーバを建てる(CentOS7)

Minecraft

マイクラは一人でやるより友達とやったほうが100倍楽しい。しかし自身のPCでサーバを建てるとHamachiを利用したり、それに伴ってラグがあったりと色々不便。
ということで今回はサーバをレンタルしてそこにマイクラサーバを建てます。
難しいでしょ?と思うかもしれませんが今回は初心者用になるべくわかりやすく書きます。

目次



サーバの契約

今回利用したのはさくらインターネットのVPS
1Gの2コアの初期費用込みで1年12,312円 (税込) か・・・wまぁ2-3人ならこれでも十分か
リージョン(サーバの場所)は大阪も東京も地震が怖いから北海道にするか。


会員メニューへログイン

さて、契約したらまずはさくらインターネットの会員メニューへログインしてVPSの管理画面へ移るため、サーバ設定をクリックします。
また、ピンクの枠のところにIPアドレス(192.168.0.1)が記載されているのでメモしておきます。


OSインストール

管理画面が開けたら次はOSのインストールを行います。左側のサーバから名称未設定を開いて、右上の各種設定よりOSインストールをクリックします。



インストール画面が表示されたらパスワードを決めて「設定内容を確認する」からインストール
なお、管理ユーザ名にrootとありますが、CentOS7における管理者ユーザ名はrootです。
WindowsでいうことのAdministratorと一緒です。


サーバーの起動

各種設定が押せない。とかの場合停止中(シャットダウン状態)になっていると思うので起動から。


SSHクライアントのDL

次はマイクラの設定だ、といきたいのですがWindowsはGUIの為、画面上にアイコンがあったり、メニューで操作対象や選択とかできますが、Linux系(CentOS7含む)に関しては基本CUIです。黒い画面に コマンド(文字を打つ)で操作が必要です。


なお、さくらインターネット側ではコンソールというのが付いており、SSHクライアントをインストールせずともこちらを利用すれば黒い画面が出てきて文字を打てるので、DLしなくてもいいのですが、いちいち会員メニューなどのログインが面倒なのでインストールしておきます。
コンソールで操作する場合はシリアルコンソール(お勧め)から起動できますのでSSHクライアントのDLが逆に面倒な場合はシリアルコンソールの操作の場合をみてからOSの初期設定をしてください。

SSHクライアントのDLをされる方はTera Term DLから進んでください。



Tera Term DL

Googleでteratarmとググったら窓の杜でヒットするのでそれをDLします。


Tera Termのインストール

ダウンロードしたら teraterm-4.102.exe を実行しますといきなり日本語?って聞いてくるのでOKにします。


使用許諾契約書の同意
同意するにして次へを押します
最初に日本語選んだのに同意書全部英語やがな


インストール先の選択
次がインストール場所の選択、そのままでおっけい。変更したい場合は変更を。



コンポーネントの選択
これもそのままでおっけい。


言語の選択
最初に日本語選択したからそこも日本語にしといてやってツッコミはおいといて日本語で。


プログラムグループの指定
んーようわからん、なにいってるのか
あぁ。ショートカットね。そのままで次へ



追加タスクの選択
めっちゃショートカット作るやんw
まぁこのままでOK



インストール準備完了
確認画面ですね。インストール



Tera Term セットアップウィザードの完了
インストール完了しました。完了で。



Tera Termの起動とサーバへの接続

ダウンロード完了したらデスクトップ上にこんなアイコンがあるのでそれをダブルクリックします。

そうすると接続画面が出てきます。

ホスト:さくらインターネットで契約したVPSのIPアドレス
ヒストリ:チェック入れたまま
TCPポート:22
※なお、IPアドレスは冒頭でピンクの枠のところでメモしたIPアドレスを利用します。



OKをクリックしたら下図のようなセキュリティ警告が出ますが、そのまま続行で。



SSH認証という画面が出たらユーザ名はroot、パスワードはOSインストールの時に決めたPWを入れます。


ログインできたらこのような画面になります。ようやくOSの初期設定に移れます


シリアルコンソールの操作の場合

さくらインターネットのVPS管理画面からコンソールをクリックしてシリアルコンソールをクリックしてください。


そうするとブラウザで下図の画面が表示されるのでEnterを押下します。



login: の後にrootと入力してOSインストール時に決めたPWを入れてEnter



でこんな状態になれば準備OK。OSの初期設定にいきます。



OSの初期設定

まずはOSの初期設定を行います。コンソール操作からの人もここから操作が必要となります。

OSのアップデート

OSのアップデート、Windowsのアップデートと一緒でサーバーも必要になります

# yum -y update
最後にComplete!と出てればOKです。

rootユーザのログイン禁止

今接続しているTera Termでも 初期状態のSSHは「root」ユーザの直接ログインが許可されています 。
セキュリティ上、よろしくないので禁止にします。コンソールの人も外部から勝手にアクセスされないように設定しておいてください。

# cd /etc/ssh/
# cp -p sshd_config sshd_config_20190512
# vi sshd_config

このような画面が出てきます。

今出ているこの文字軍。うわぁなんかいっぱい出てきた。となるかもしれませんがこれはsshd_configという設定ファイルの中身であり、それを今から編集します。

がこのままでは編集できません。

vi には主に2つの動作モードがあります。
vi起動直後は「ノーマルモード」になっており、このモードでは文字を入力することはできません。「インサートモード」にしてから文字を入力する必要があります。

ノーマルモード見るだけのモード。vi終了や保存の動作を行うときはこのモード。iキーまたはaキーを押すと、インサートモードに切り替わる。
インサートモード文字入力を行うときはこのモード。[esc]キーを押すとノーマルモードに切り替わる。



では試しに「 i 」を入力してみましょう。画面左下に黄色い字で  INSERT と表示されます。

もちろんこの状態の時に文字を打つと色々書き変わっちゃうので、間違えてしまった場合はESCキーでノーマルモードに切り替えて、 「 :q! 」と入力してEnterしましょう。なかったことにしてくれます。
もう一回言います。コロン、キュー、ビックリマーク
逆に保存したい場合は同様にESCキーでノーマルモードに切り替えて「:wq」と入力してEnterを。

編集個所は二か所

一つ目。 変更前
#Port 22
変更後
Port 10022


二つ目。 変更前
#PermitRootLogin yes
変更後
PermitRootLogin no

ちゃんと行頭の#を消すのも忘れずに。あとテンキーで数字入力するとおかしくなるからキーボードの上のやつ?でね。

両方変更できたらSSHサービス を再起動します。

# systemctl restart sshd



firewalldの設定

初期状態の場合、ファイアウォール機能が働き、このままだと一切通信できません。
マイクラに限らず、ホームページ作成して公開する場合にもこれらのサービスを使えるように設定が必要になります。

# firewall-cmd --set-default-zone=dmz
success
# cd /etc/sysconfig/network-scripts/
# cp -p ifcfg-eth0 20190512_ifcfg-eth0
# vi ifcfg-eth0
またファイルの編集になります。
一番下に手書きで追記します。
ZONE=dmz



SSHポートの開放

SSHの設定変更で初期の22番ポートから10022番ポートに変更しているので、このポートで通信できるように設定します。ポート追加を行います。現在Tera Termも22番ポートで接続されているのでこの設定が完了してTera Termを一回落とすと接続できません。(本記事の最後に接続方法を記載)

あ、シリアルコンソールは無関係で接続できます。

firewall-cmd --permanent --add-port=10022/tcp
success



ssh(22番)ポートの削除

10022番ポートが追加されたら、dmzゾーンの初期設定で通信許可されているsshは必要ないので設定を削除します。

# firewall-cmd --permanent --remove-service=ssh
success



minecraft用ポートの開放

minecraftサーバは初期設定では25565番ポートで通信を行うので、このポートの通信を許可する設定をします

# firewall-cmd --permanent --add-port=25565/tcp
success

firewall設定の反映

# firewall-cmd --reload
success



Javaのインストール

minecraftを動作させるために必要な javaのインストール

yum -y install java

screenインストール

仮想端末上でminecraftマルチサーバを動作させる為に必要
# yum -y install screen

wgetインストール

minecraftをダウンロードするのに必要
# yum -y install wget

minecraft 用ユーザの作成

rootユーザでマルチサーバを動作させてしまうのはこれまたセキュリティ上よろしくないので、専用のユーザを作成します。今回は「minecraft」というユーザを作成します。
パスワードは自身で決めてください。rootユーザのPWとは別にしておくことをお勧めします。

# adduser minecraft
# passwd minecraft
Changing password for user minecraft.
New password:
Retype new password:

ディレクトリ作成

# mkdir /opt/minecraft
# chown minecraft:minecraft /opt/minecraft/

マイクラのダウンロード

ようやくダウンロードしますよ。ダウンロードする前にrootユーザではなく、さっき作ったminecraftユーザに切り替えてDL実行

# su - minecraft
$ cd /opt/minecraft/
$ wget https://launcher.mojang.com/v1/objects/f1a0073671057f01aa843443fef34330281333ce/server.jar

マイクラも色々とアップデートされているので最新のファイルかどうかはMinecraft 公式ページを参照してください。

ダウンロードできたら実行

java -Xmx1024M -Xms1024M -jar server.jar nogui

エラーが出ます。使用許諾に同意してくださいという意味です。

# vi eula.txt
変更前 eula=false 変更後 eula=true

出来たらもう一回実行

java -Xmx1024M -Xms1024M -jar server.jar nogui

こんな感じになったら準備完了。

マインクラフトを起動してマルチプレイからサーバーを追加

サーバーアドレスは冒頭でメモしたVPSのIPアドレスになります。

追加ができたら早速プレイしてみよう。


やったぜ。友達にIPアドレス教えて接続させよう。


なお、プレイヤーがログインした場合、Tera Termの画面ではこのようになっています。

サーバを落としたい場合はこの画面を落とすか

$ stop
と入力することでマルチサーバーを落とせます。

補足(Tera Term利用する方)

Tera Term でSSH接続を行いましたが、今回の設定の流れで次回ログイン時は変更となります。

Tera Term起動時

途中で10022に変更したの覚えていますか?あれに変更します。ホストは以前のIPアドレスでOKです。

ユーザ名はminecraftでパスワードはminecraftを作成した時のPWです。と、その前にさっきと同様セキュリティ警告出たら続行で。

ログイン出来たらこんな画面になります

java -Xmx1024M -Xms1024M -jar server.jar nogui
これを入力したらマルチサーバーが起動します。 ちなみにXmsが最低メモリ数。Xmxが最高メモリ数になっています。 サーバースペックの良い、メモリも余裕があれば2048M等に変更するとサクサク動きます。

コメント