【CentOS 7】ConoHaのVPSでマイクラマルチサーバを構築

インストール
記事内に広告が含まれています。

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を使いたい場合は、さくらのVPS(ストレージをHDDに変更 )などが候補にあがりますので、そちらも検討してみてください。

※さくらのVPSでMinecraftマルチサーバを構築する手順はこちらのページで解説しています。

ConoHaのVPSを借りる

Minecraftのマルチサーバの構築を行っていくために、まずはConoHaを借ります。

最初にConoHaのWebサイトからアカウントを作成します。

サーバの作成

「ConoHa」のアカウント登録が完了しましたら、まずはサーバを作成していきます。

サーバ追加を選択

「ConoHa」のサイトからログインすると、「コントロールパネル」にアクセスできます。

「コントロールパネル」の左側にある「サーバを追加」をクリックすることで、新しくVPSサーバを作成する作業を行うことができるようになります。

conoha_srv_add_00

サーバ設定

サーバを作成するために必要な情報を入力画面が表示されるので、下記の内容を設定していきます。

1.プラン

  • タイプ VPSを選択
  • リージョン 東京を選択
  • メモリ 使用したいメモリを選択

※マイクラをある程度快適に動作させるためには、メモリは2Gをおすすめします。

conoha_srv_add_01

2.イメージ

  • イメージタイプ OSを選択
  • OS CentOSを選択
  • バージョン 7.2(64bit)を選択
  • rootパスワード 設定したいパスワードを入力

conoha_srv_add_01_1

3.オプション

  • 自動バックアップ 無効・有効どちらでも良いです
  • ディスク容量 SSD 50GBを選択
  • 接続許可ポート IPv4 全て許可を選択
  • 接続許可ポート IPv6 無選択
  • SSH Key 使用しない
  • ネームタグ 任意

※IPv4接続許可ポートを「全て許可」にしないと、OSのファイアウォールでマインクラフト用のポート(TCP/25565番)を開けても通信ができないという状況が発生します。

全ての項目を設定しましたら、使用料金を確認して「追加」をクリックしてサーバを作成します。

conoha_srv_add_02

30秒~1分ぐらいでCentOSがインストールされたサーバが完成します!

conoha_srv_add_03

ネームタグをクリックするとサーバのネットワーク情報が表示されるので、IPアドレスを確認してTeraTerm等のSSHクライアントでサーバに接続してください。

接続するユーザは「root」ユーザで接続することができます。

OS設定

Mincraftマルチサーバをインストールする前に、下記の設定を行っていきます。

  • Minecraft動作用ユーザ作成
  • SSH設定変更
  • ファイアウォール設定変更

Minecraft動作用ユーザ作成

「root」ユーザでMinecraftのマルチサーバを動作させるのは、セキュリティ上好ましくないため専用のユーザを作成します。

今回は「mcadmin」というユーザを作成していきますが、ユーザ名に決まりはないのでおす好きなユーザを作成してくだい。

# adduser mcadmin
# passwd mcadmin

SSH設定

SSHはセキュリティ上の観点から下記の設定を行っていきます。

  • rootユーザログイン禁止
  • 待ち受けポート番号変更

設定はファイルは「/etc/ssh/sshd_config」なので、バックアップを取ってから編集作業を行っていきます。

# cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_yyyymmdd
# vi /etc/ssh/sshd_config

rootログインの禁止設定

「root」ユーザでのログインを許可しておくと、「root」のパスワードが割り出されただけでサーバのすべてを乗っ取られてしまうので、「root」ユーザが直接SSHでログインを禁止する設定を行っていきます。

変更前
PermitRootLogin yes
変更後
PermitRootLogin no

ポート番号変更設定

通常SSHは「22」番ポートで接続しますが、このポートへは毎日結構な数のブルートフォースアタックやってきます。

その対応として、待ち受けポートを変更して攻撃を受ける機会を減らしたいと思います。

今回は「12222」番ポートに変更していますが、特に決まりはないので使用していないお好きなポート番号を指定してください。

変更前
Port 22
変更後
Port 12222

※「0〜1023」番ポートは事前に予約されているので使用できません。

設定反映

設定が完了しましたら、設定を反映させるために「sshd」を再起動させます。

# systemctl restart sshd
注意!!

この段階でSSH接続を切断してしまうと、ファイアウォールの設定を変更するまでSSHで接続することができなくなってしまうので、現在の接続は切断しないようにしておいてください。

もしSSHの接続が切れてしまった場合は、「ConoHa」のコントロールパネルから「サーバ」-「ネームタグ」をクリックしてから「コンソール」をクリックすると、コンソールを表示させることができるので、こちらからサーバにログインして作業を行ってください。

ファイアウォール(firewalld)設定

SSHの設定が完了しましたら、次にファイアウォール(firewalld)の設定を行ってきます。

firewalldの初期状態は外部からの接続は「dhcpv6-client」と「ssh」用のポートしか許可されていませんので、下記の設定を行っていきます。

  • 変更後のSSHポート(12222)開放
  • 通常のSSHポート(22)を閉じる
  • minecraftポート(25565/tcp)開放

変更後のSSHポート開放

SSHの設定の際に変更したポートで通信できるように設定を行います。

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

SSHのポートを「12222」番以外に設定している場合は、適宜読み替えて設定を行ってください。

通常ののSSHポートを閉じる

はじめから設定されている「ssh」のポートは使用しないため、設定を削除しておきます。

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

minecraftポート開放

最後に「Minecraftマルチサーバ」で使用する「25565」番ポートを開放して、通信が出来るように設定を行います。

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

設定反映

上記の設定を「firewalld」に反映させるために「reload」します。

# firewall-cmd --reload
success
設定確認

設定が反映されているか「firewall-cmd –list-all」コマンドで確認します。

「servcices」と「ports」の部分を確認して、設定が反映されているとこを確認してください。

# firewall-cmd --list-all
public (default, active)
  interfaces: eth0
  sources:
  services: dhcpv6-client     # sshが削除されているか確認
  ports: 12222/tcp 25565/tcp  # sshとMinecraftのポートが追加されているか確認
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

動作確認

ここまでの動作確認として、新たにSSHクライアントを起動して下記の動作確認をおこないます。

  • 変更したポートでログインできることの確認
  • rootユーザでログインできないことの確認
  • 22番ポートでログインできないことの確認

ログインの確認は「minecraft」を動作させるために作成したユーザで行えます。

OSアップデート

「SSH」と「firewalld」の動作確認に問題がなければ、OSのアップデートを行いパッケージを最新の状態にしておきます。

# yum -y update

サーバ再起動

OSのアップデートが終わったらサーバを再起動しましょう。

# reboot

Minecraftマルチサーバインストール

OS側の設定が完了したので、いよいよ「Minecraftマルチサーバ」をインストールしていきます。

作業の流れを簡単に説明すると下記のようになります。

  • javaインストール
  • screenインストール
  • Minecraftイストールディレクトリ作成
  • Minecraftインストール

javaインストール

まずは、「Minecraftマルチサーバ」を動作させるために必要な「java」をインストールします。

# yum -y install java

screenインストール

今回は「screen」を使用して、その仮想端末上で「Minecraftマルチサーバ」を動作させていきますので、こちらもインストールしておきます。

# yum -y install screen

Minecraftインストールディレクトリ作成

「Minecraftマルチサーバ」をインストールするディレクトリを作成します。

今回は「/opt/minecraft」ディレクトリを作成して、そこにインストールを行ってきますが、インストールするディレクトリは特に決まりは無いので、好みの場所にディレクトリを作成してもらって構いません。

ディレクトリ作成後は、所有者をminecraft動作用に作成したユーザに変更しておいてください。

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

Minecraftマルチサーバインストール

ここからの作業はminecraft動作用ユーザで行っていきます。

minecraft_serverダウンロード

インストール用に作成したディレクトリに移動後、「wget」を使用してMinecraft_server(マルチサーバ)のjarファイルをダウンロードしてきます。

ダウンロード用のURLは下記ページで確認できます。

minecraft_download_00

ウィンドウズであれば、赤枠部分を右クリックして「リンクのアドレスをコピー」でURLをコピーすることが出来ます。

# su - mcadmin
$ cd /opt/minecraft/
$ wget https://s3.amazonaws.com/Minecraft.Download/versions/1.10.2/minecraft_server.1.10.2.jar
jarファイルのコピー

ダウンロードしてきたjarファイルの名前を「minecraft_server.jar」という名前でコピーし、もとのファイルはバックアップとして保存して今後はこちらの方を使用していきます。

$ cp -p minecraft_server.1.10.2.jar minecraft_server.jar

初期設定

まずは、下記コマンドでMinecraftマルチサーバを起動させます。

java -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui

初回起動時は下記のように「Stopping server」と表示されて起動が失敗しますが、これは「eula.txt」が存在せず、EULA(使用許諾契約)に同意していないためです。

$ java -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui
[15:33:39] [Server thread/INFO]: Starting minecraft server version 1.10.2
[15:33:39] [Server thread/INFO]: Loading properties
[15:33:39] [Server thread/WARN]: server.properties does not exist
[15:33:39] [Server thread/INFO]: Generating new properties file
[15:33:39] [Server thread/WARN]: Failed to load eula.txt
[15:33:39] [Server thread/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
[15:33:39] [Server thread/INFO]: Stopping server

一度「Minecraft_server.jar」を起動すると「eula.txt」ファイルやその他必要な設定ファイルやディレクトリが作成されます。

EULA(使用許諾契約)同意

作成された「eula.txt」を編集してEULA(使用許諾契約)に同意します。

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

動作確認

EULA(使用許諾契約)同意の設定が終わりましたら、再度「minecraft_server.jar」を起動させてマインクラフトマルチサーバの動作確認を行っていきます。

$ java -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui

#####  省略  #####

[15:35:21] [Server thread/INFO]: Preparing spawn area: 76%
[15:35:22] [Server thread/INFO]: Preparing spawn area: 93%
[15:35:23] [Server thread/INFO]: Done (7.501s)! For help, type "help" or "?"

上記のように「Done」と表示されていれば、正常に起動が完了していますので、マイクラのクライアントからサーバに接続できるか確認してください。

自動起動設定

Minecraftマルチサーバの動作確認が完了しましたら、次は自動起動の設定を行っていきます。

Minecraftサーバが動作しているコンソール上で、「stop」と入力してMinecraftサーバを停止させます。

stop
[15:43:08] [Server thread/INFO]: Stopping the server
[15:43:08] [Server thread/INFO]: Stopping server
[15:43:08] [Server thread/INFO]: Saving players
[15:43:08] [Server thread/INFO]: Saving worlds
[15:43:08] [Server thread/INFO]: Saving chunks for level 'world'/Overworld
[15:43:08] [Server thread/INFO]: Saving chunks for level 'world'/Nether
[15:43:08] [Server thread/INFO]: Saving chunks for level 'world'/The End

「CentOS7」からは「systemd」でアプリケーションの起動・停止・自動起動等が管理されているので、それ用に起動と停止のスクリプトを作成していきます。

スクリプトはこちらのサイトのスクリプトを参考にして作成しました。

起動スクリプト作成

まずは起動スクリプトを「mc_start.sh」という名前で作成していきます。

$ vi mc_start.sh
変数説明

起動スクリプト使われている変数の中で、設定が必要な変数をそれぞれ説明します。

変数 設定内容
USERNAME minecraft_server.jar実行ユーザを設定
SERVICE minecraft_server実行ファイルを設定(minecraft_server.jar)
SCNAME screenに指定する名前を設定
MC_PATH minecraft_server.jarがインストールされているディレクトリを設定
XMX 最大メモリ使用量を設定
XMS 初期メモリ使用量を設定
XMX(最大メモリ使用量)を超えないように注意
メモリ使用量について

「XMX」と「XMS」については、「minecraft_server.jar」が使用するメモリの量になりますので、サーバに割り当てられているメモリと相談して設定するのですが、サーバに積んでいるメモリ全部割り当ててしまうと、OS(システム)が使用する分なくなってしまうので、この値を変更する場合はOSが使用するメモリ分は残るように設定してください。

起動スクリプト

[shell]
#!/bin/bash

USERNAME=’mcadmin’
SERVICE=’minecraft_server.jar’
SCNAME=’minecraft’
MC_PATH=’/opt/minecraft’

XMX="1024M"
XMS="1024M"

cd $MC_PATH

ME=`whoami`

if [ $ME == $USERNAME ] ; then
if pgrep -u $USERNAME -f $SERVICE > /dev/null
then
echo "$SERVICE is already running!"
else
echo "Starting $SERVICE…"
screen -AmdS $SCNAME java -Xmx$XMX -Xms$XMS -jar $SERVICE nogui
fi
else
echo "Please run the minecraft user."
fi
[/shell]

※起動用ユーザやインストールディレクトリを変更している方は適宜読み替えてください。

パーミッション変更

作成したスクリプトのパーミッションを「744」に変更して、minecraft動作用ユーザのみが実行できるように設定を行います。

$ chmod 744 mc_start.sh

停止スクリプト作成

次に停止用のスクリプトを「mc_stop.sh」という名前で作成していきます。

$ vi mc_stop.sh
変数説明

停止スクリプト使われている変数の中で、設定が必要な変数をそれぞれ説明します。

変数 設定内容
USERNAME minecraft_server.jar実行ユーザを設定
SERVICE minecraft_server実行ファイル(minecraft_server.jar)を設定
SCNAME screenに指定する名前(起動スクリプトで設定した名前)を設定
MC_PATH minecraft_server.jarがインストールされているディレクトリを設定

[shell]
#!/bin/bash

USERNAME=’mcadmin’
SERVICE=’minecraft_server.jar’
SCNAME=’minecraft’
MC_PATH=’/opt/minecraft’

cd $MC_PATH

ME=`whoami`

if [ $ME == $USERNAME ] ; then
if pgrep -u $USERNAME -f $SERVICE > /dev/null
then
echo "Stopping $SERVICE"
screen -p 0 -S $SCNAME -X eval ‘stuff "say SERVER SHUTTING DOWN IN 10 SECONDS. Saving map…"\015’
screen -p 0 -S $SCNAME -X eval ‘stuff "save-all"\015’
sleep 10
screen -p 0 -S $SCNAME -X eval ‘stuff "stop"\015’
sleep 10
echo "Stopped minecraftserver"
else
echo "$SERVICE was not runnning."
fi
else
echo "Please run the minecraft user."
fi
[/shell]

※起動用ユーザやインストールディレクトリを変更している方は適宜読み替えてください。

パーミッションの変更

作成したスクリプトのパーミッションを「744」に変更して、minecraft動作用ユーザのみが実行できるように設定を行います。

$ chmod 744 mc_stop.sh

スクリプト動作確認

起動と停止スクリプトが完成しましたら、それぞれのスクリプトの動作確認を行っていきます。

起動スクリプト動作確認

「mc_start.sh」スクリプトを実行して、Minecraftサーバが起動するかどうか確認します。

$ ./mc_start.sh
仮想端末状況確認

今回は「screen」の仮想端末上でminecraftサーバが動作するようにスクリプトを作成しているため、起動スクリプトを実行した後に「screen -ls」コマンドで仮想端末の状況を確認します。

$ screen -ls
There is a screen on:
        10904.minecraft (Detached)
1 Socket in /var/run/screen/S-mcadmin.

正常に起動スクリプトが動作してれば、起動スクリプト内で設定したscreenの名前で仮想端末が起動してるはずです。

仮想端末に接続(Attach)

次にMinecraftサーバ用に起動している仮想端末に接続して、正常にMinecraftサーバが起動しているかどうかの確認を行います。

仮想端末に接続するためには「screen -r スクリーン名」コマンドを使用します。

$ screen -r minecraft

[15:53:32] [Server thread/INFO]: Starting Minecraft server on *:25565
[15:53:32] [Server thread/INFO]: Using epoll channel type
[15:53:33] [Server thread/INFO]: Preparing level "world"
[15:53:33] [Server thread/INFO]: Preparing start region for level 0
[15:53:34] [Server thread/INFO]: Preparing spawn area: 65%
[15:53:34] [Server thread/INFO]: Done (1.453s)! For help, type "help" or "?"
仮想端末から抜ける(Detach)

Minecraftサーバが無事起動していることを確認しましたら、いったん接続している仮想端末から抜け(Detach)ておきます。

minecraftサーバが実行されている仮想端末から抜けるには、「Ctrl」+「a」を押下した後に「d」を押下することで仮想端末から抜ける(Detach)ことができます。

停止スクリプト動作確認

起動スクリプトの動作確認が終わりましたら、次に停止スクリプトの動作確認を行っていきます。

$ ./mc_stop.sh
screen起動状況確認

停止スクリプトの実行が完了してMinecraftサーバの動作が停止したら、仮想端末も停止するので「screen -ls」コマンドを実行して、仮想端末の起動状況を確認します。

$ screen -ls
No Sockets found in /var/run/screen/S-mcadmin.

minecraftサーバ用の仮想端末が動作停止している場合は、「No Sockets found」と表示されて仮想端末が起動していないことが確認できます。

自動起動設定

ここからの作業は「root」ユーザで行っていきます。

自動起動設定ファイル作成

起動・停止スクリプト動作確認で問題がなければ「systemd」用の自動起動設定ファイルを作成していくのですが、このファイルは「/etc/systemd/system/サービス名.service」という名前で作成する必要があります。

今回は「/etc/systemd/system/minecraft.service」という名前のファイルを作成していきます。

$ su -
# vi  /etc/systemd/system/minecraft.service
変数説明

設定が必要な変数について説明します。

変数 設定内容
User minecraft_server.jar実行ユーザを設定
ExecStart minecraftサーバ起動スクリプトを指定
ExecStop minecraftサーバ停止スクリプトを指定
設定ファイル内容

[shell]
[Unit]
Description=Minecraft Server
After=network.target local-fs.target

[Service]
Type=forking
User=mcadmin
ExecStart=/opt/minecraft/mc_start.sh
ExecStop=/opt/minecraft/mc_stop.sh

[Install]
WantedBy=multi-user.target
[/shell]

自動設定

自動起動設定ファイルを作成しましたら、「systemctl」コマンドを使用して自動起動設定を行います。

# systemctl enable minecraft

自動起動設定の確認

設定ファイルの作成が完了しましたら、サーバを再起動して自動的にマイクラが起動するかを確認して下さい。

# reboot

サーバの再起動が完了しましたら、マインクラフトクライアントからサーバに接続しログインできるか確認してください。

無事ログインできましたら作業完了となります。
おつかれさまでした。

コメント

  1. たなけ より:

    conohaサーバでmodを遊ぶことは可能なのでしょうか?
    やり方があればぜひ教えてください!

    • tamohiko より:

      たなけさん

      コメントありがとうございます。

      > conohaサーバでmodを遊ぶことは可能なのでしょうか?
      > やり方があればぜひ教えてください!

      マルチサーバ側でmodを導入したいのであれば、
      「spigot」というMODサーバを使用すると、プラグインというサーバMODを導入することが出来ます。

      導入方法は下記ページで解説していますので、参考にしてみてください。
      https://minecraft.server-memo.net/spigot-install/

      プラグインの導入方法は、
      基本的に「plugins」フォルダにプラグイン(.jarファイル)をダウンロードして、サーバを再起動することで有効化させることが出来ます。
      (導入するプラグインによっては別途設定作業が必要になる場合があります)

  2. ぢぢぃ より:

    このやり方で鯖建てれました!
    ありがとうございます!

    建てれたのですが、今まで使っていたワールドデータを使うことはできるのでしょうか?
    できるのであれば教えてください!

    • tamohiko より:

      ぢぢぃさん

      お役に立てたようでよかったです。

      > 建てれたのですが、今まで使っていたワールドデータを使うことはできるのでしょうか?
      > できるのであれば教えてください!

      できますよ。
      マイクラサーバのインストールディレクトリにあるworldディレクトリがワールドデータとなります。
      それを、今まで使っていたワールドデータと入れ替えることで使用できるようになります。

      以下、簡単な手順となります。

      ・今まで使用していたワールドデータのディレクトリをサーバにアップロード
       ※ワールドデータのアップロードはminecraft用ユーザで行ってください。
       ※別ユーザでアップロードした場合は、所有者をminecraft用ユーザに変更してから/opt/minecraft/worldにコピーしてください。

      # chown -R mcadmin:mcadmin アップロードしたワールドデータディレクトリ

      ・マイクラマルチサーバを停止

      ・サーバのワールドデータをバックアップ

      $ cd /opt/minecraft
      $ mv world world_yyyymmdd

      ・アップロードしたワールドデータのディレクトリを、/opt/minecraft/worldとする

      $ cp -Rp ~/ワールドデータディレクトリ /opt/minecraft/world

      ・マイクラマルチサーバを起動

      クライアント側のワールドデータ保存場所については、下記のページでまとめているので参考にしてみてください。
      https://minecraft.server-memo.net/mc_dir_win/
      https://minecraft.server-memo.net/mac-data/

      もし、何かわからないことがあればご連絡お願いします。

      • ぢぢぃ より:

        ごめんなさい、
        ・今まで使用していたワールドデータのディレクトリをサーバにアップロード
        のところで詰まってしまいました
        どのようにしてアップロードすればいいのでしょうか?
        無知ですいません…

        • tamohiko より:

          ぢぢぃさん

          アップロードの仕方については説明していませんでしたね。
          すいません。

          アップロードはSFTPかSCPを使用するが簡単だと思います。

          ・SFTPを使用する場合
          WindowsであればWinSCPやFileZillaなどのクライアントソフトを使用するのが良いと思います。

          ・SCPを使用する場合
          ワールドデータのディレクトリをzip等で圧縮して1つのファイルとすることで、scpでもアップロードすることが出来ます。

          SSHでサーバに接続するクライアントがTeraTermとかであれば、サーバにSSHで接続後に「ファイル」-「SSH SCP」と選択して表示されるウィンドウ上部の「From」欄に圧縮したファイルを選択し、「Send」ボタンを押下することでアップロードすることが出来ます。

          アップロードしたファイルはunzipコマンドで解凍することが出来ます。

          $ unzip ファイル.zip

          以上、よろしくお願いします。

  3. Muu より:

    こんばんは、初めまして。
    こちらのサイトを参考にしサーバー構築をしていたのですが
    「reboot」を押し再起動しようとしたところ
    それ以降再起動されることもなくport1222でOKを押しても
    「接続が拒否されました」と表示され接続ができなくなりました。
    コノハのコントロールパネルでサーバーの再起動をしてみても状況は変わらず
    手づまりしてしまいました。コンソールではrootでログインできるので、コンソールでの解決方法か、何か別の解決方法がありましたらご教示いただけると大変助かります。よろしくお願いいたします。(泣)

    • tamohiko より:

      Muuさん

      コメントありがとうございます。

      まず、現状について確認させてください。

      ・ sshで接続しているときにrebootコマンドを実行してもサーバが再起動しなかった
      ・ 1222ポートでssh接続を行うも「接続が拒否されました」と表示されて接続できない
      ・ ConoHaのコンソールからはrootでログインできる

      といった内容で間違いないでしょうか?
      また、質問内容としてはSSHで再度接続できるようにしたいという事で良いでしょうか?

      そうである場合に、確認してほしい点がいくつかあります。

      (1) sshdの起動確認

      sshdサービスが起動してるか確認してみてください。

      # systemctl status sshd

      起動している場合は「 Active: active (running) 」といったように表示されます。

      (2) ログインユーザとパスワードの確認
        SSHクライアントで接続する際にユーザとパスワード入力する認証画面がでてきますか?

        認証画面が出てくる場合、
        ログインする際のユーザ名やパスワードに間違いはないですか?
        rootユーザでログインしようとしていませんか?

        「/var/log/secure」にログイン失敗に関するログが表示されるので確認おねがいします。

      (3) 「/etc/ssh/sshd_config」のPort設定
         ここが接続しようとしているポート番号とあっているか確認してみてください。

      (4) Firewalld確認
        「# firewall-cmd –list-all」でssh接続用のポート(sshd_configで設定している番号)が解放されているか確認願います
        (Ports:部分に追加されているはずです)
        
      お手数をお掛けいしますが、よろしくお願いします。

      • Muu より:

        ご返答ありがとうございます。
        取り急ぎご返信させていただきます。
        (1)はサーバーは起動中です。(2)は入力画面は出てきませんでした。
        (4)はこちらのサイト手順にて確認済みです。12222とマイクラのポート番号が表示されてました。
        (3)についてはコンソールから確認すればよろしいでしょうか?
        以上、よろしくお願いいたします

        • tamohiko より:

          Muuさん

          ご確認ありがとうございます。

          > (3)についてはコンソールから確認すればよろしいでしょうか?

          はい、コンソールから確認お願いします。

          あと、追加で確認お願いしたいのですが、
          sshdが待ち受けしているポート番号を下記コマンドで確認できるので、
          こちらもの合わせて確認お願いします。

          # lsof -i | grep sshd

          12222番ポートで待ち受けているのであれば、
          TCP *:12222 (LISTEN)
          といったように表示されされるはずです。

          以上、よろしくお願いします。

          • Muu より:

            確認してきましたが「/etc/ssh/sshd_config」と
            「# lsof -i | grep sshd」ともbashから始まり、
            仰られてる通りにいきませんでした(泣)
            それぞれ以下のような表示でした「Permission denied」、
            「No such file or directory」です。
            これはそもそも設定できてないということでしょうか?(泣)
            何か方法はありますでしょうか…お手数おかけして申し訳ありません(^^;)

          • tamohiko より:

            Muuさん

            両方とも作業はrootユーザで行っていますか?
            「Permission denied」は、
            「/etc/ssh/sshd_config」を閲覧する権限が無いため発生していると思われます。

            ですので、rootユーザで「/etc/ssh/sshd_config」の確認を行ってください。
            確認はviで直接ファイルを開いて確認しても良いですし、
            下記のコマンド等で確認しても良いでしょう。

            # grep Port /etc/ssh/sshd_config

            lsofコマンドでの「No such file or directory」についてですが、
            なぜこのエラーが出ているのかちょっと今の情報だけでは判断できないので、
            正確な表示メッセージを教えていただけますか?

            以上、よろしくお願いします。

  4. Muu より:

    はい。rootユーザーでログインしてます。
    activeになっていてポート番号も12222と25565で設定されていまして、
    再度ご教示いただいた方法やviで確認にしようとしたところ
    「No such file or directory」が出てきてしまいます。
    画面キャプチャが貼れればよいのですが…
    混乱してしまったので最初から作り直してみます…

    • tamohiko より:

      Muuさん

      vi で確認しようとして「No such file or directory」が出るというとは、設定ファイル自体が無いかファイル名が違っているのではないでしょうか。

      > 混乱してしまったので最初から作り直してみます…

      あまりお役に立てず申し訳ありません。
      また何かご不明な点がありましたらコメント欄に書き込みお願いします。

  5. こあ より:

    なぜか自分にop権限を付与できないのですが解決法はありませんでしょうか?

    • tamohiko より:

      コアさん

      コメントありがとうございます。

      > なぜか自分にop権限を付与できないのですが解決法はありませんでしょうか?

      実際に権限を付与した「方法」とその際に表示された「メッセージ」、および「Minecraftのバージョン」もお教えいただけますでしょうか?

      OP権限の付与方法について下記ページでも解説しているのですが、minecraft_serverが動作しているサーバ上で「op ユーザ名」コマンドを実行してみてください。

      https://minecraft.server-memo.net/add-op/

  6. 緑川柳 より:

    コメント失礼します。
    こちらのサイトを参考に起動・停止スクリプトを
    作成したのですが、起動は出来ても停止することが出来ません。
    Stopped minecraftserverと出ているのに停止しない理由がわかりません

    ご教授下さい。

    • tamohiko より:

      緑川柳 さん

      コメントありがとうございます。

      > 作成したのですが、起動は出来ても停止することが出来ません。
      > Stopped minecraftserverと出ているのに停止しない理由がわかりません

      停止用のスクリプトを実行する際に「-x」オプションを指定して実行してみると、スクリプトの実行内容が表示されます。
      それを見ると何かわかるかもしれません。

      sh -x ./mc_stop.sh

      screenの仮想端末が残ったままになっているのであれば、screen上に表示されているminecraftのログを確認して、停止コマンド「stop」が正常に実行されているかどうか確認してみてください。

      以上、よろしくお願いいたします。

  7. 加藤 より:

    SSH設定でrootログイン禁止設定とポート番号変更設定後にsshdを再起動させる方法がわかりません
    # systemctl restart sshd
    とはどこに入力すれば良いのでしょうか?configが表示されているのでコマンド入力が出来ません。
    コンソールを再起動させてもconfig画面のままで再起動出来ません。

    • tamohiko より:

      加藤さん

      コメントありがとうございます。

      sshdの再起動は、sshd_configの設定を完了(保存して終了)させてから、「systemctl restart sshd」コマンドを実行という流れになります。

      • 加藤 より:

        返信ありがとうございます。
        sshd_configの設定を保存して終了するにはどうすればいいですか?無知ですみません

  8. kenta より:

    このサイトの方法でサーバーを建てることができました。ありがとうございます。しかし、modの入れ方が分からないです。下記のリンクのConoha公式のサポートを参考にmodを入れようとしています。Tera Termを使用してmodの導入をしたいのですが、当然、下記リンクサイトの /usr/local/games/minecraft/mods というファイルが無いので、どこにダウンロードすれば良いのか教えていただきたいです。

    • kenta より:
    • tamohiko より:

      kentaさん

      コメントありがとうございます。
      ConoHaさんのサイトを確認してみたところ、
      Forgeを導入した後modの導入を行うという手順でしたが、
      MinecraftサーバにForgeの導入までは済んでいるという認識でよろしいでしょうか?

      であれば、Forgeがインストールされているディレクトリmodsというディレクトリが作成されているはずですよ。

      このページの手順でminecraftサーバをインストールした後にForgeを導入したのであれば「/opt/minecraft/」ディレクトリ内に「mods」ディレクトリが作成されてないか確認してみてください。

      ちなみに、Forgeの導入方法は下記のページでも解説していますので、
      興味があれば見てみてください。

      https://minecraft.server-memo.net/forge_server_install/

タイトルとURLをコピーしました