自動起動設定の確認ConoHaのVPSを使用して、CentOS7.2環境上にMinecraftマルチサーバをインストールする方法です。「ConoHa」VPSの良いところ最初にMinecraftサーバを構築する際に、「ConoHa」のVPSを選択するメリットについて説明していきます。初期費用が無料まず、一番のメリットは初期費用が掛からないということです。「ConoHa」のVPSは、あとからサーバをスケールアップ(メモリとCPUを増やす)させることが出来ます。「もっと快適に!」「もっと一緒に遊べる人数を増やしたい!」といった場合も、サーバをスケールアップさせるという対応が可能になります。(その分月額使用料も上がってしまいますが...)ストレージがSSDではやい「ConoHa」のVPSはストレージが全プランSSDとなっているため、HDDと比較すると高速なI/Oの読み書きが可能になっています。そのため、より快適にマイクラをプレイできることが期待できます!注意点ただしConoHaのSSDは容量が50GBしか無いので、MODサーバ(spigot等)や大規模なサーバを立てる場合はSSDを追加する必要があります。)などが候補にあがりますので、そちらも検討してみてください。※さくらのVPSでMinecraftマルチサーバを構築する手順はこちらのページで解説しています。ConoHaのVPSを借りるMinecraftのマルチサーバの構築を行っていくために、まずはConoHaを借ります。最初にConoHaのWebサイトからアカウントを作成します。「ConoHa」のアカウント登録が完了しましたら、まずはサーバを作成していきます。「ConoHa」のサイトからログインすると、「コントロールパネル」にアクセスできます。「コントロールパネル」の左側にある「サーバを追加」をクリックすることで、新しくVPSサーバを作成する作業を行うことができるようになります。サーバ設定サーバを作成するために必要な情報を入力画面が表示されるので、下記の内容を設定していきます。※マイクラをある程度快適に動作させるためには、メモリは2Gをおすすめします。※IPv4接続許可ポートを「全て許可」にしないと、OSのファイアウォールでマインクラフト用のポート(TCP/25565番)を開けても通信ができないという状況が発生します。全ての項目を設定しましたら、使用料金を確認して「追加」をクリックしてサーバを作成します。30秒~1分ぐらいでCentOSがインストールされたサーバが完成します!ネームタグをクリックするとサーバのネットワーク情報が表示されるので、IPアドレスを確認してTeraTerm等のSSHクライアントでサーバに接続してください。接続するユーザは「root」ユーザで接続することができます。OS設定Mincraftマルチサーバをインストールする前に、下記の設定を行っていきます。「root」ユーザでMinecraftのマルチサーバを動作させるのは、セキュリティ上好ましくないため専用のユーザを作成します。今回は「mcadmin」というユーザを作成していきますが、ユーザ名に決まりはないのでおす好きなユーザを作成してくだい。mcadminSSH設定SSHはセキュリティ上の観点から下記の設定を行っていきます。設定はファイルは「/etc/ssh/sshd_config」なので、バックアップを取ってから編集作業を行っていきます。「root」ユーザでのログインを許可しておくと、「root」のパスワードが割り出されただけでサーバのすべてを乗っ取られてしまうので、「root」ユーザが直接SSHでログインを禁止する設定を行っていきます。通常SSHは「22」番ポートで接続しますが、このポートへは毎日結構な数のブルートフォースアタックやってきます。その対応として、待ち受けポートを変更して攻撃を受ける機会を減らしたいと思います。今回は「12222」番ポートに変更していますが、特に決まりはないので使用していないお好きなポート番号を指定してください。12222※「0〜1023」番ポートは事前に予約されているので使用できません。設定が完了しましたら、設定を反映させるために「sshd」を再起動させます。sshd注意!!この段階でSSH接続を切断してしまうと、ファイアウォールの設定を変更するまでSSHで接続することができなくなってしまうので、現在の接続は切断しないようにしておいてください。SSHの接続が切れてしまった場合は、「ConoHa」のコントロールパネルから「サーバ」-「ネームタグ」をクリックしてから「コンソール」をクリックすると、コンソールを表示させることができるので、こちらからサーバにログインして作業を行ってください。ファイアウォール(firewalld)設定SSHの設定が完了しましたら、次にファイアウォール(firewalld)の設定を行ってきます。firewalldの初期状態は外部からの接続は「dhcpv6-client」と「ssh」用のポートしか許可されていませんので、下記の設定を行っていきます。変更後のSSHポート開放SSHの設定の際に変更したポートで通信できるように設定を行います。--add-port=12222/tcpsuccessSSHのポートを「12222」番以外に設定している場合は、適宜読み替えて設定を行ってください。通常ののSSHポートを閉じるはじめから設定されている「ssh」のポートは使用しないため、設定を削除しておきます。最後に「Minecraftマルチサーバ」で使用する「25565」番ポートを開放して、通信が出来るように設定を行います。上記の設定を「firewalld」に反映させるために「reload」します。–list-all」コマンドで確認します。「servcices」と「ports」の部分を確認して、設定が反映されているとこを確認してください。rules:動作確認ここまでの動作確認として、新たにSSHクライアントを起動して下記の動作確認をおこないます。変更したポートでログインできることの確認rootユーザでログインできないことの確認22番ポートでログインできないことの確認ログインの確認は「minecraft」を動作させるために作成したユーザで行えます。OSアップデート「SSH」と「firewalld」の動作確認に問題がなければ、OSのアップデートを行いパッケージを最新の状態にしておきます。updateサーバ再起動OSのアップデートが終わったらサーバを再起動しましょう。rebootMinecraftマルチサーバインストールOS側の設定が完了したので、いよいよ「Minecraftマルチサーバ」をインストールしていきます。作業の流れを簡単に説明すると下記のようになります。javaインストールscreenインストールMinecraftイストールディレクトリ作成Minecraftインストールjavaインストールまずは、「Minecraftマルチサーバ」を動作させるために必要な「java」をインストールします。javascreenインストール今回は「screen」を使用して、その仮想端末上で「Minecraftマルチサーバ」を動作させていきますので、こちらもインストールしておきます。「Minecraftマルチサーバ」をインストールするディレクトリを作成します。今回は「/opt/minecraft」ディレクトリを作成して、そこにインストールを行ってきますが、インストールするディレクトリは特に決まりは無いので、好みの場所にディレクトリを作成してもらって構いません。ディレクトリ作成後は、所有者をminecraft動作用に作成したユーザに変更しておいてください。/opt/minecraft/Minecraftマルチサーバインストールここからの作業はminecraft動作用ユーザで行っていきます。minecraft_serverダウンロードインストール用に作成したディレクトリに移動後、「wget」を使用してMinecraft_server(マルチサーバ)のjarファイルをダウンロードしてきます。ダウンロード用のURLは下記ページで確認できます。https://www.minecraft.net/ja-jp/download/server/ウィンドウズであれば、赤枠部分を右クリックして「リンクのアドレスをコピー」でURLをコピーすることが出来ます。https://s3.amazonaws.com/Minecraft.Download/versions/1.10.2/minecraft_server.1.10.2.jarjarファイルのコピーダウンロードしてきたjarファイルの名前を「minecraft_server.jar」という名前でコピーし、もとのファイルはバックアップとして保存して今後はこちらの方を使用していきます。minecraft_server.jar初期設定まずは、下記コマンドでMinecraftマルチサーバを起動させます。server」と表示されて起動が失敗しますが、これは「eula.txt」が存在せず、EULA(使用許諾契約)に同意していないためです。server一度「Minecraft_server.jar」を起動すると「eula.txt」ファイルやその他必要な設定ファイルやディレクトリが作成されます。作成された「eula.txt」を編集してEULA(使用許諾契約)に同意します。eula.txt変更前eula=false変更後eula=true動作確認EULA(使用許諾契約)同意の設定が終わりましたら、再度「minecraft_server.jar」を起動させてマインクラフトマルチサーバの動作確認を行っていきます。"?"上記のように「Done」と表示されていれば、正常に起動が完了していますので、マイクラのクライアントからサーバに接続できるか確認してください。自動起動設定Minecraftマルチサーバの動作確認が完了しましたら、次は自動起動の設定を行っていきます。Minecraftサーバが動作しているコンソール上で、「stop」と入力してMinecraftサーバを停止させます。管理されているので、それ用に起動と停止のスクリプトを作成していきます。スクリプトはこちらのサイトのスクリプトを参考にして作成しました。起動スクリプト作成まずは起動スクリプトを「mc_start.sh」という名前で作成していきます。起動スクリプト使われている変数の中で、設定が必要な変数をそれぞれ説明します。初期メモリ使用量を設定XMX(最大メモリ使用量)を超えないように注意メモリ使用量について「XMX」と「XMS」については、「minecraft_server.jar」が使用するメモリの量になりますので、サーバに割り当てられているメモリと相談して設定するのですが、サーバに積んでいるメモリ全部割り当ててしまうと、OS(システム)が使用する分なくなってしまうので、この値を変更する場合はOSが使用するメモリ分は残るように設定してください。user."fi※起動用ユーザやインストールディレクトリを変更している方は適宜読み替えてください。作成したスクリプトのパーミッションを「744」に変更して、minecraft動作用ユーザのみが実行できるように設定を行います。次に停止用のスクリプトを「mc_stop.sh」という名前で作成していきます。停止スクリプト使われている変数の中で、設定が必要な変数をそれぞれ説明します。user."fi※起動用ユーザやインストールディレクトリを変更している方は適宜読み替えてください。作成したスクリプトのパーミッションを「744」に変更して、minecraft動作用ユーザのみが実行できるように設定を行います。起動と停止スクリプトが完成しましたら、それぞれのスクリプトの動作確認を行っていきます。「mc_start.sh」スクリプトを実行して、Minecraftサーバが起動するかどうか確認します。-ls」コマンドで仮想端末の状況を確認します。/var/run/screen/S-mcadmin.正常に起動スクリプトが動作してれば、起動スクリプト内で設定したscreenの名前で仮想端末が起動してるはずです。仮想端末に接続(Attach)次にMinecraftサーバ用に起動している仮想端末に接続して、正常にMinecraftサーバが起動しているかどうかの確認を行います。スクリーン名」コマンドを使用します。"?"仮想端末から抜ける(Detach)Minecraftサーバが無事起動していることを確認しましたら、いったん接続している仮想端末から抜け(Detach)ておきます。minecraftサーバが実行されている仮想端末から抜けるには、「Ctrl」+「a」を押下した後に「d」を押下することで仮想端末から抜ける(Detach)ことができます。起動スクリプトの動作確認が終わりましたら、次に停止スクリプトの動作確認を行っていきます。-ls」コマンドを実行して、仮想端末の起動状況を確認します。found」と表示されて仮想端末が起動していないことが確認できます。自動起動設定ここからの作業は「root」ユーザで行っていきます。起動・停止スクリプト動作確認で問題がなければ「systemd」用の自動起動設定ファイルを作成していくのですが、このファイルは「/etc/systemd/system/サービス名.service」という名前で作成する必要があります。今回は「/etc/systemd/system/minecraft.service」という名前のファイルを作成していきます。設定が必要な変数について説明します。ファイルを作成しましたら、「systemctl」コマンドを使用して自動起動設定を行います。設定ファイルの作成が完了しましたら、サーバを再起動して自動的にマイクラが起動するかを確認して下さい。rebootサーバの再起動が完了しましたら、マインクラフトクライアントからサーバに接続しログインできるか確認してください。無事ログインできましたら作業完了となります。7」に「spigot」をインストール手順をまとめてあります。記事を読むlevel-type設定について「server.properties」level-type設定毎のワールド例です。設定項目は、1.8.3で生成されたものを元にしています。AMたなけさんコメントありがとうございます。「spigot」というMODサーバを使用すると、プラグインというサーバMODを導入することが出来ます。導入方法は下記ページで解説していますので、参考にしてみてください。基本的に「plugins」フォルダにプラグイン(.jarファイル)をダウンロードして、サーバを再起動することで有効化させることが出来ます。PMぢぢぃさんお役に立てたようでよかったです。できるのであれば教えてください!できますよ。マイクラサーバのインストールディレクトリにあるworldディレクトリがワールドデータとなります。それを、今まで使っていたワールドデータと入れ替えることで使用できるようになります。以下、簡単な手順となります。・今まで使用していたワールドデータのディレクトリをサーバにアップロード※ワールドデータのアップロードはminecraft用ユーザで行ってください。※別ユーザでアップロードした場合は、所有者をminecraft用ユーザに変更してから/opt/minecraft/worldにコピーしてください。/opt/minecraft/world・マイクラマルチサーバを起動クライアント側のワールドデータ保存場所については、下記のページでまとめているので参考にしてみてください。https://minecraft.server-memo.net/mc_dir_win/https://minecraft.server-memo.net/mac-data/もし、何かわからないことがあればご連絡お願いします。PMぢぢぃさんアップロードの仕方については説明していませんでしたね。アップロードはSFTPかSCPを使用するが簡単だと思います。・SFTPを使用する場合WindowsであればWinSCPやFileZillaなどのクライアントソフトを使用するのが良いと思います。・SCPを使用する場合ワールドデータのディレクトリをzip等で圧縮して1つのファイルとすることで、scpでもアップロードすることが出来ます。SCP」と選択して表示されるウィンドウ上部の「From」欄に圧縮したファイルを選択し、「Send」ボタンを押下することでアップロードすることが出来ます。アップロードしたファイルはunzipコマンドで解凍することが出来ます。ファイル.zip以上、よろしくお願いします。PMこんばんは、初めまして。こちらのサイトを参考にしサーバー構築をしていたのですが「reboot」を押し再起動しようとしたところそれ以降再起動されることもなくport1222でOKを押しても「接続が拒否されました」と表示され接続ができなくなりました。コノハのコントロールパネルでサーバーの再起動をしてみても状況は変わらず手づまりしてしまいました。コンソールではrootでログインできるので、コンソールでの解決方法か、何か別の解決方法がありましたらご教示いただけると大変助かります。PMMuuさんコメントありがとうございます。現状について確認させてください。ConoHaのコンソールからはrootでログインできるといった内容で間違いないでしょうか?また、質問内容としてはSSHで再度接続できるようにしたいという事で良いでしょうか?そうである場合に、確認してほしい点がいくつかあります。sshdの起動確認sshdサービスが起動してるか確認してみてください。」といったように表示されます。ログインユーザとパスワードの確認SSHクライアントで接続する際にユーザとパスワード入力する認証画面がでてきますか?認証画面が出てくる場合、ログインする際のユーザ名やパスワードに間違いはないですか?rootユーザでログインしようとしていませんか?「/var/log/secure」にログイン失敗に関するログが表示されるので確認おねがいします。「/etc/ssh/sshd_config」のPort設定ここが接続しようとしているポート番号とあっているか確認してみてください。–list-all」でssh接続用のポート(sshd_configで設定している番号)が解放されているか確認願います(Ports:部分に追加されているはずです)お手数をお掛けいしますが、よろしくお願いします。PMご返答ありがとうございます。取り急ぎご返信させていただきます。(1)はサーバーは起動中です。(2)は入力画面は出てきませんでした。(4)はこちらのサイト手順にて確認済みです。12222とマイクラのポート番号が表示されてました。PMMuuさんご確認ありがとうございます。(3)についてはコンソールから確認すればよろしいでしょうか?はい、コンソールから確認お願いします。あと、追加で確認お願いしたいのですが、sshdが待ち受けしているポート番号を下記コマンドで確認できるので、こちらもの合わせて確認お願いします。(LISTEN)といったように表示されされるはずです。以上、よろしくお願いします。directory」です。「/etc/ssh/sshd_config」を閲覧する権限が無いため発生していると思われます。rootユーザで「/etc/ssh/sshd_config」の確認を行ってください。下記のコマンド等で確認しても良いでしょう。正確な表示メッセージを教えていただけますか?以上、よろしくお願いします。rootユーザーでログインしてます。directory」が出てきてしまいます。directory」が出るというとは、設定ファイル自体が無いかファイル名が違っているのではないでしょうか。混乱してしまったので最初から作り直してみます...あまりお役に立てず申し訳ありません。何かご不明な点がありましたらコメント欄に書き込みお願いします。AMコアさんコメントありがとうございます。ユーザ名」コマンドを実行してみてください。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。