自分が何を行おうとしているか正しく理解せずにサーバーソフトウェアを実行すると、システムを重大なセキュリティリスクにさらす恐れがあります。 以下の手順をたどるまえに注意してください[1]。
このチュートリアルでは、Mojangが無料で配布している標準のサーバーソフトウェアを使って、自身のサーバーを設定する手順を説明します。このソフトウェアは、Windows、macOS、GNU/Linux、BSDなどほとんどのOS(オペレーティングシステム)上で実行できます。
チュートリアルについては、この記事の下部またはチュートリアルの記事を参照してください。Minecraftのサーバーについての詳細はサーバーのページを参照してください。
備考:
- サーバーの設定にはある程度の時間と技術的な知識が必要です。基本的なコンピュータとネットワークの能力がないならば、サーバーの設定はしようとしない方が良いかもしれません。おそらく最善策は、インターネットでサーバーの設定方法の説明を探すことです。
- Minecraftのサーバーは高性能の設備である必要はありませんが、ノートパソコンは通常良いサーバー設備にはなりません。一般的に、デスクトップパソコンに比べて低性能の設備であり、入出力の性能が悪いです。
- 持っているパソコンが十分強力であれば、同じ機種で運営して遊ぶことも可能です。
- 無線ネットワーク(WLAN、特にWWAN)で多くのプレイヤーにすることはお勧めできません。代わりにイーサネットなどの有線ネットワークを使用して下さい。
- 運営をしようとは思っていなくても、オンラインで遊びたい場合は、Minecraftサーバー一覧サイトで公開サーバーの選択肢を調べてみましょう。
- それでも自宅以外からサーバーを管理したい場合は、MinecraftフォーラムなどのウェブサイトのMinecraftサーバー運営地域を確認してみましょう。無料での運営を見つける事は稀なので、この種のサーバーには毎月支払うことが意図されていますが、常にサーバーの維持費を節約し、プレイヤーがいつでもオンラインで使用できることを確認して下さい。
注意: ほとんどの大規模サーバーが利用しているカスタムサーバーソフトもありますが、これらのアプリケーションはMojangでは対応していません。
警告[]
これから自分のサーバーを運営しようとしているのですから、起こりうる危険性を知っておいた方が良いでしょう。以下の手順で実行しても危険はないはずですが、ここは誰でも編集できるウィキですし、個人個人の設備構成も様々なので、危険が無いことを保証するものではありません。
サーバーを運営して問題に巻き込まれないためには、以下のことを最低限知っておくことを強くお勧めします。:
Java[]
JavaはJava仮想マシン(JVM)用のプログラムを作成するために設計されたプログラミング言語です。JVMは多くの異なる機種に対応しています。これにより、開発者はJVM用のコードを書き、JVMに対応しているどの機種でもプログラムを実行できます。詳細はこちらをご覧ください。
この節では、Javaに関するよくある質問に答え、Javaに関する決定をいくつか導くように設計されています。
OpenJDKかOracleJDKか[]
OpenJDKとOracleJDKは非常に似ています。OpenJDKはJavaの公式公開ソースのReference Implementationです。OpenJDKは公開ソースのコード基底で、他のほとんどすべてのJDKがこの上に構築されています。パッケージ、表面、認証の違いを除けばOpenJDKはOracleJDKと同じです。
OracleJDK(Oracleの「OTN」)のビルドには商用・生産目的では有料の定額支払いが必要なことに注意して下さい。これには、たとえ非営利目的であってもMinecraftサーバーを運営することも含まれていると思われます。Oracleは独自のOpenJDKのビルドを提供していますが、使いやすいようにインストーラ形式にはなっていません。
JREかJDKか[]
JREはJava Runtime Environment(Java実行時環境)の略です。JDKはJava Development Kit(Java開発道具一式)の略です。JREはJavaプログラムを実行するために設計されたパッケージツールです。JDKはJavaプログラムの開発のために設計されたツールのパッケージです。JDKにはJVMに付属するJREが付属しています。JDKがあればJREとJVMがあるということになります。バニラのMinecraftではJDKは必要ありませんが、プラグインでは必要になる場合があります。
ヘッドレスモード[]
Javaのヘッドレスモードのインストールは、Javaの縮小版です。GUIやマウス・キーボードへの対応はありません。ヘッドレスモードは、GUIを必要としないサーバーなどの環境で頻繁に使用されます。
“ |
|
„ |
— Debian Wiki |
共通の手順[]
Minecraftのサーバーを起動する大まかなコツは、java
をインストールしてサーバーを起動し、EULAに同意して再度起動するというものです。java
をインストールしてコマンドラインを開いてしまえば、基本的にはすべて同じです。
- CPU、RAM、ディスク容量の設備要件を確認します。
- Javaをインストールします。これについては以下のOS固有の説明を参照してください。
- ダウンロードページからサーバーのjarファイルをダウンロードします。
- jarファイル用の新しいフォルダを作成し、そこに移動させます。これは全ての設定ファイルとワールドファイルが保存される場所になるので、「ダウンロード」の中に入れないようにしてください。
- コマンドプロンプトまたはターミナルインターフェースを開きます。
- Javaが使えるかどうかもう一度確認します。
java -version
と入力します。 - サーバーjarファイルを配置したフォルダへの所在名に続いて
cd
(ディレクトリの変更)を入力します。GUIを開いている場合は、所在名を取得するにはターミナル画面にフォルダをドラッグすればよいです。 java -jar minecraft_server.jar --nogui
(jar名をjarファイルに名前を付けたものに置き換えます)と入力して、初めてサーバーを起動します。- EULAに同意します。
eula.txt
というファイルが生成されます。テキストエディタで開き、eula=false
をeula=true
に変更します。これは、ソフトフェアを使用する際に従う末端消費者使用許諾契約書を読み、理解したことを意味します。これをしないと、サーバーを起動しようとした時にすぐにシャットダウンしてしまいます。 - これでサーバーの設定が完了したので、
java -jar minecraft_server.jar
で起動するだけです。コマンドを入力するGUIが必要ない場合は、コマンドに空白と--nogui
を追加して下さい(これによりサーバーの動作が格段に速くなるという人もいます)。他にも、後述する切替設定をいくつか使用できます。
この時点で、基本的なサーバーが起動されているはずです。サーバーの設定の詳細については環境の設定を参照してください。コマンドラインを覚える必要がないよう絶対にやっておきたいことの一つは、サーバーを起動するスクリプトの作成です。
Javaの設定[]
Javaの設定はコマンドラインの-jar
部分の前に追加する必要があります。
- Minecraftのサーバーで最も重要なのはメモリ容量です。
-Xmx
切替設定を使って使用できる容量を変更します。-Xmx2G
で十分です。-Xms
(初期容量)は長期的には性能に影響しませんが、設定することもできます。-Xms512M
で十分です。- JREの一部のバージョンでは、「ソフト最大蓄積容量」(
-XX:SoftMaxHeapSize=1G
)が利用可能です。JREはそれだけの容量しか使おうとしませんが、必要に応じて-Xmx
の最大値を超えます。サーバー上で実行しているものが多い場合はこれが便利かもしれません。
- サーバーが64ビットJavaを使用するSolaris形式である場合は、
-d64
を使用します。
Minecraftの設定[]
サーバーJARの設定は-jar minecraft_server.jar
部分の後に続きます。サーバーに渡せる全ての引数を見るには、--help
を使って起動してください。以下はサーバーで利用可能なコマンドライン設定の一覧です。
--bonusChest
- ボーナスチェストが生成されるかどうかは最初にワールドが生成された時に確認して下さい。
--demo
- サーバーが体験版になっている場合(プレイヤーに体験版の注意書きを表示し、それ以上の意味はない?)
--eraseCache
- 照明キャッシュなどを消去します。シングルプレイヤーワールドの最適化時と同じ設定。
--forceUpgrade
- 全てのチャンクのデータバージョンが現在のサーバーバージョンと一致するように、全てのチャンクを強制的に更新します(スペクテイターワールドと同じ)。
--help
- このヘルプを表示します。
--initSettings
- 「server.properties」と「eula.txt」を作成し終了します。
--nogui
- サーバー起動時にGUIを開かないようにします。
--port <整数>
- どのポートで聞くか、server.propertiesの値を上書きします(既定:-1)
--safeMode
- バニラデータパックのみでワールドを読み込みます。
--serverId <文字列>
- サーバーにIDを与えます(?)
--singleplayer <文字列>
- オフラインモードでサーバーを起動します(<文字列>がどこで使われているかは不明です、Mojangの内部で使われているのでしょうか?)。
--universe <文字列>
- ワールドフォルダを探すフォルダ(既定:.)。
--world <文字列>
- level.datが存在するワールドフォルダの名前。
- 旧コマンドライン設定
一部の設定は古いバージョンで動作しましたが、削除されたり、新しいものに置き換えられたりしました。
-o true
- サーバーをオンラインモードで認証されたユーザーだけが参加できるように起動させるように指示します(これは新しいバージョンでは動作しないかもしれません)。
コマンドライン例[]
- 1377番ポートの「cold」フォルダで見つけたワールドをRAM1Gで実行:
java -Xmx1G -jar minecraft_server.jar --port 1337 --nogui --world cold
。
Windowsでの手順[]
Javaをインストール[]
MinecraftのサーバーにはJava実行時環境(JREまたは単にJavaとも呼ばれます)が必要です。安全性のため、最新バージョンのJavaのみを使用して下さい。最新バージョンを確認するには、以下のいずれかを実行して下さい:
- Windowsのコントロールパネルを開き、Java(プログラムカテゴリ内にある場合があります)を見つけ、「今すぐ更新」をクリックします。
- http://java.com/en/download/installed.jspをご覧ください。これでブラウザからの自動バージョン確認が行われます。ただし、Google ChromeやFirefoxブラウザではJavaコンテンツを実行していないため、これらのブラウザからJavaを確認することはできません。
- コマンド画面を開き、
java -version
と言うコマンドを入力します。バージョン番号が報告されている場合はJavaのウェブサイトで最新のバージョン番号を確認して下さい。
Javaをお持ちでない場合やバージョンが古い場合は、https://adoptopenjdk.net/(OpenJDK)またはhttp://www.java.com/download/(Oracle「OTN」JDK)からダウンロードして下さい。
macOSでの手順[]
Mac OS X 10.4以前のバージョンではサーバーが正常に動作せず、パソコンがクラッシュする可能性があることに注意して下さい。
Javaのインストール[]
ターミナルを開きます。
java -version
を実行して、javaがあるかどうかを確認して下さい。1.6より新しいことを確認して下さい(1.8より新しいのが最適です)。
- javaがない場合は、HomeBrew経由でインストールします:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)
を実行して、まずHomeBrewをインストールします。brew cask install adoptopenjdk
を実行してjava(OpenJDK)をインストールします。
- 再び
java -version
を実行します。今度は何かが手に入るはずです。
Minecraftサーバーの設定[]
共通の手順を参照。
Time Capsuleを使用する[]
AirPort Time Capsuleを他のブランドではなく無線ルーターとして使っている家庭もあります。ここでは、ファイルサーバーを混乱させずに設定する方法を解説します。
注意:管理者のユーザー名とパスワードを確認して下さい。
- 「システム環境設定」→「ネットワーク」を開きます。
- 「詳細設定」ボタンをクリックして「TCP/IP」に進みます。
- 「IPv4の設定」と書かれているところで、その設定を「手動アドレスでDHCPを使用」に変更します。
- IPアドレスを10.0.1.xに変更します。xはDHCPの範囲の下にある2つの数字の最後の数値の間の数値です。(すなわち10.0.1.2から10.0.1.254の2と254の間)
- 次に、「共有」節を開き、「インターネット共有」が有効であることを確認します。
- 「AirPortユーティリティ」を開き、Time Capsule設定を編集します。
- 「ネットワーク」に移動し、「ルーターモード」設定が「DHCPとNAT」であることを確認します。次に、「ポート設定」の「+」ボタンをクリックします。
- 次のように入力します:
- 説明:Minecraftサーバー(もしくは付けたい名前なら何でも)。
- プライベートIPアドレス:上の4番目の手順で指定したアドレス。
- その中のポートという単語が入っているものを全て25565に変更します。
- そして、「保存」を押してTime Capsuleを更新します。
これで完了です!これでサーバーの設定の準備ができました。
Linuxでの手順[]
Linuxにはディストリビューション(ディストロ)と呼ばれる様々な種類があります。これらのディストロの中には、サーバーを運営するために設計されたものや、サーバーの運営により適したものもあります。専用サーバーを設定しているのであれば、これらのディストロのいずれかを使用することをお勧めします。
Linuxは一般的に公開ソースプログラムを快く歓迎しています。そのため、必要に応じてOpenJDKのような公開ソースプログラムを使用することをお勧めします。
Javaのインストール[]
OpenJDKは殆どのディストリビューションのリポジトリに含まれているため、そこからインストールできます。OracleのJavaについてはOracleのダウンロードページを参照してください。
注意:Minecraftサーバーには影響しませんが、JavaFXなどのJavaの独自のある部分は別途インストールする必要があります。
Solus[]
sudo eopkg install openjdk-8
を実行してOpenJDKをインストールします。
OracleJDKについてはSolusヘルプセンターを参照してください。
注意:OpenJDK 11はSolusのリポジトリにはありません。
Debian, Ubuntu, Raspbian[]
注意:apt-add-repository
コマンドを使用するには、sudo apt-get install software-properties-common
を実行して「software-properties-common」パッケージをインストールしたり、sudo apt-get install python-software-properties
を実行して「python-software-properties」パッケージをインストールする必要があるかもしれません。
認可の問題により、Oracle Javaのインストールに頻繁に使用されるリポジトリが廃止されました。現在はOpenJDK 8以上をインストールすることが推奨されています。
OpenJDKのインストールはコマンドひとつで可能です:sudo apt update; sudo apt-get install openjdk-8-jdk-headless
コマンドの「headless」の部分を削除すると、Javaのすべての要素がインストールされます。
注意:Ubuntu 18.04で検証済み。
openSUSE[]
注意:openSuse Tumbleweedは安定性が低いため、専用サーバーとしてはお勧めできません。
ターミナルからコマンドを実行して下さい:sudo zypper in java-1_8_0-openjdk
Javaがインストールされているはずです。
注意:openSuse Leap 15.1で検証済み。
Arch Linux[]
注意:OpenJDK 7 - 12は公式に対応されているJavaの唯一のバージョンです。
pacman -S jdk8-openjdk-headless
を実行して下さい。GUIを付けて運営したい場合は「-headless」を削除して下さい。
問題が発生した場合はArchWikiを参照することをお勧めします。
Gentoo[]
emerge --ask virtual/jdk
を実行します。
その他のディストロ[]
お使いのディストロのドキュメントを確認して下さい。OpenJDKのインストール方法についての情報があるはずです。
あるいは、Javaのウェブサイトに直接アクセスして、Linux用のJavaパッケージをダウンロードすることもできます。ほとんどのディストロはこれで動作します(32ビットか64ビットのどちらか)。これらの異なるパッケージのインストール方法は、サイト上で説明されています。
インストール中にパスワードを要求された場合は、パスワードを入力してください。「これでよろしいですか [Y/N]」と聞かれたらYを入力し必要ならばEnterを押してください。これでJavaがインストールされたはずです。
簡単なインストーラスクリプト(Javaもインストール)[]
FreeBSDでの手順[]
この部分はFreeBSD 10.0 amd64と「jre-7u65-linux-i586.tar.gz」で検証しました。
Javaをインストール[]
OpenJDKやMinecraftサーバーの性能やクラッシュ問題により、Linux用に作られたOracle JREをインストールします。
このJREをインストールする前に、FreeBSD上にLinuxの二進法互換をインストールする必要があります。この文書に従ってください。
Javaは調達に関する情報をいくつか必要とします。Linprocfsを乗せて入力:
kldload linprocfs
mount -t linprocfs linprocfs /compat/linux/proc
そしてこの行を/etc/fstab
に追加:
linprocfs /compat/linux/proc linprocfs rw 0 0
Oracle JREには禁止されている依存関係があり、インストールに失敗します。/usr/ports/textproc/linux-f10-expat2.0.1/
に行き、MakefileでFORBIDDEN=
で始まる行を削除して下さい。
次に、ライセンスの問題で(「jre-7u65-linux-i586.tar.gz」など)LinuxのTarballをJavaの公式サイトから手動で入手し、そのファイルを/usr/ports/distfiles
にコピーします。そして、/usr/ports/java/linux-sun-jre17/
に移動し、make install distclean
を実行します。
注意:この部分の前バージョン、FreeBSD 9.2 amd64で検証したものにはこのように説明されていました:MakefileのJRE_UPDATE_VERSION変数を実際の数字(例えばこの例のように45)に設定して「make install NO_CHECKSUM=1」を実行する必要があるかもしれません。
java -version
を実行してみて下さい。libjli.so
を見つけられないというメッセージで終わるかもしれませんが、これを修正する方法の一つは、Javaの位置を明示的に検索に追加することです。シンボリックリンクを作成します:
ln -s /usr/local/linux-sun-jre1.7.0/lib/i386 /compat/linux/usr/lib/java
そして、/compat/linux/etc/ld.so.conf.d/java.conf
に追加します:
/usr/lib/java /usr/lib/java/jli
/compat/linux/sbin/ldconfig
を実行します。java -version
が機能するはずです。
Minecraftサーバーを起動[]
フォルダーを作成し、Minecraftサーバーのjarをその中にコピーします。
実際のバージョンでは、通常の方法でサーバーを実行するとこの例外syscall epoll_create not implemented
が発生するため、これを修正するためこの行をコマンドに追加します-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider
。
起動するコマンドはこんな感じです:
java -Xmx1024M -Xms1024M -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider -jar minecraft_server.1.7.10.jar nogui
Plan 9[]
alien-convert PATH_TO_YOUR_JRE.deb chmod ~/~ rwx # for current user snarf java -jar PATH_TO_SERVER_JAR.jar xvmf in acme
Cloudron[]
Cloudronは、自分のサーバーにアプリを自動運営するプラットフォームです。MinecraftはCloudron上でワンクリックアプリとして利用できます。ブラウザからMinecraftを管理するWebインターフェースが付属しています。また、同じサーバーに複数のMinecraftをインストールすることもできます。こちらで体験できます(ユーザー名: cloudronのパスワード: cloudron)
Docker[]
Dockerは無料のコンテナベースのプラットフォームで、Minecraftサーバーの実体を互いや運営機構から分離するのに役立ちます。
Dockerの入手(Linux、Mac、Windows用)[]
https://docs.docker.com/install/をお読みください。
Dockerイメージ[]
Dockerイメージの完全な文書はこちらを参照ください。
最新バージョンのMinecraftを使った単純なサーバーを「mc」というコンテナ名で実行するには、システムシェルで以下のように実行します
docker run -d -p 25565:25565 --name mc -e EULA=TRUE itzg/minecraft-server
DockerでのMinecraftのバージョン[]
特定のバージョンについては、コマンドに-e VERSION=<バージョン番号>
を追加します。例えば、細心のスナップショットを使用するには次のコマンドを使用します:
docker run -d -p 25565:25565 --name mc -e VERSION=SNAPSHOT -e EULA=TRUE itzg/minecraft-server
バージョン1.7.9の場合
docker run -d -p 25565:25565 --name mc -e VERSION=1.7.9 -e EULA=TRUE itzg/minecraft-server
サーバーポート[]
サーバーが運営されているポートを変更するには、Dockerのポートマッピング機能を利用します。これはホスト組織上の指定されたポートをいくつかコンテナ内のポート22565に指示します。25565番以下のポートを使用してサーバーを実行するには:
docker run -d -p <port>:25565 --name mc -e EULA=TRUE itzg/minecraft-server
Dockerイメージを更新[]
Dockerイメージを更新します。これはMinecraftを更新するものではなく、コンテナ自体を更新する物であることに注意して下さい。
docker pull itzg/minecraft-server
環境の設定[]
サーバーを起動するスクリプトの作成[]
サーバーを起動するたびにコマンドラインのオプションを覚えておかないといけないのは確かにつまらないです。幸いなことに、ファイルに書き留めておけば、代わりにそれを実行するだけで済みます。
Windowsでは[]
Windows版のスクリプトはバッチファイルと呼ばれています。jarを置いたフォルダに「start.bat」としてテキストファイルを作成し、右クリックしてメモ帳で編集します。以下を貼り付けます:
@ECHO OFF
java -Xms1024M -Xmx2048M -jar minecraft_server.jar --nogui
pause
ファイルをダブルクリックしてサーバーを起動します。「Class_Not_Found」やServerGuiConcoleエラーが出るかもしれませんが、これらのエラーは無視してダイアログ「Server Thread/INFO」でサーバーが起動するのを確認して下さい。
「pause」コマンドは、サーバーが停止した後に何が起こったのかを読み取るため、画面を開いたままにしておくコマンドです。
MacOS、Linux、FreeBSDでは[]
これらの機種はすべて、「POSIXシェルスクリプト」と呼ばれる共通のスクリプト言語を使用しています。jarを置いたフォルダに「start.sh」としてテキストファイルを作成し、その中に以下のように記述します:
#!/bin/sh
cd "$(dirname "$0")"
exec java -Xms1G -Xmx1G -jar server.jar --nogui
ファイルを保存します。chmod a+x start.sh
(またはスクリプトを置いた場所へのパス)を実行して実行可能にします。これでファイルをダブルクリックするか、フォルダ内の./start.sh
を実行することで実行可能になります(または、そこから外のパスを丸ごと使うこともできます)
Windowsの例のように一時停止の部分を追加したい場合は、単語exec
を削除して、最後に行read -n 1 -p "Waiting..."
を追加します。GUI上でダブルクリックしてスクリプトを実行している場合に便利です。
Plan 9では[]
(筆者はPlan 9を使っていないため、rc、psh、acme、snarf magicの使い方を全く存じ上げません。どなたか追加して下さい)
起動・保守スクリプト[]
あるいは、以下のようなスクリプトを使用してMinecraftサーバーの起動とシャットダウンを管理・自動化することもできます:
- Minecraftサーバー操作スクリプト (MSCS)は、UNIX及びLinuxを搭載したMinecraftサーバー用のサーバー管理スクリプトです。機能は:
- Minecraftワールドを複数起動。
- 単数・複数のワールドを開始、停止、再開。
- ワールドを作成、削除、無効化、有効化。
- 追加のサーバータイプの対応を含む:Forge, BungeeCord, SpigotMCなど。
- 自動的にワールドをバックアップ、数日より前のバックアップを削除、ワールドを再起動。
- 詳細はMinecraftサーバー操作スクリプトGithubのページをご覧ください。
- Minecraftサーバー運営(MSM) MinecraftやBukkitサーバー用の包括的な起動スクリプト(UbuntuなどのDebianに対応)
- MSMは定期的にワールド編集互換のバックアップの作成もできます。
- 「10秒後にシャットダウン!」などの設定可能なゲーム内メッセージをプレイヤーに通知。
- ゲームないコマンド(「say」、「op」、「whitelist」など)をターミナルに公開。
- 全てのコマンドをタブで補完することで、学習が簡単になります。
- 機能の一覧についてはMinecraftサーバー運営GitHubのページを参照してください。
- サーバー起動スクリプト
- FreeBSD起動スクリプト
- OpenBSD起動スクリプト
- Ubuntu起動スクリプト
- ウェブインターフェースを備えたrfwadmin起動スクリプト(Linuxサーバー用)。地図の保存と読込を素早く行える素晴らしいウェブインターフェース。
- Minecraftシステム化サービス 完全にシステム化されたMinecraftのサービス:
- CentOSとFedoraで動作。
- 様々な書込み禁止と入れない監獄でサーバーを保護。
- rconを使った、安全な再開と停止操作。
- Minecraftコマンド中央スクリプトと組み合わせて管理を簡単にできます。
- Arch Linuxシステム化ラッパー
ポートフォワーディング[]
ポートフォワーディングは、プレイヤーがサーバーにルーターを経由して接続して欲しい場合に使用します。局所的な理由でサーバーを運営したいなら必須ではありません。ポートフォワーディングにより安全上の危険性が引き起こされる可能性があることを覚えておいてください。
ポートフォワーディングを行う場合、ルーターに入力する情報によって異なります。ルーターに入力する情報が分からない場合は、チュートリアルとしてPortForward.comをご覧ください。
一度ルーターの管理画面の発見に成功し、ポートフォワーディングページを見つけている場合は、新しいサービスを追加するを押す(動作しない場合があります)(Belkinを使用している場合は、これを実行するのは非常に難しいかもしれません)か、顧客サービスを使用して下さい。新しい規則を設定するページが表示されたら、その名前を尋ねる表示が表示されるはずです。お好きな名前を付けてかまいませんが、単純に言うと「minecraft」としてください。次に「タイプ」を探します。「TCP/UDP」や「両方」が選択肢にない場合は、両方の通信規約用に規則を2つ作成する必要があります。ポート(内部と外部)には、25565を入力します。出力IP(または内部IP、サーバーIP)以外を要求された場合は、そのままにして実行します。
自分のパソコンのIPアドレスを知るには、次の手順を踏んでください:
- Windows
- ⊞ Win + Rを押します;これはダイアログボックス「実行」までのはずです。
cmd
と入力して↵ Enterを押します。これにより、黒い背景のコマンド画面が開きます。そこからipconfig
と入力して↵ Enterを押します。文の一覧が表示されるはずです。「無線LAN」(無線を使用している場合)または「Ethernet」(優先接続を使用している場合)までスクロールして、「IPv4アドレス」をみて下さい。その右側に数字の文字列(xxx.xxx.xxx.xxxという形)が表示されているはずです。画面を右クリックして「マーク」を選択してこれをコピーし、その部分を選択してEnterキーを押します。括弧や文字はコピーしないでください。
- Mac
- デスクトップの場所を確認します。ロゴの下にあるアップルメニューを引き出して、「システム環境設定」までスクロールし、「ネットワーク」を選択します。IPは右下に「IPアドレス (xxx.xxx.xxx.xxx)」として表示されているはずです。IPを取得したら、それをコピーして下さい。
- Linux
- (ディストロによっては)ネットワーク診断センターを使うか、ターミナルから
ifconfig
と入力してください。出力では全てのインターフェースが返ってくるはずです。inet addr:xxx.xxx.xxx.xxx
を検索し、xxx.xxx.xxx.xxxの数字をコピーします。 - このIPが手に入ったら、「出力IP/サーバーIP」など、サービスが指している場所を聞いてくるところに入力します。
- 入力が完了したら、保存・継続・適用と書いてあるところを探してください。そしたら正常にポートフォワーディングされています。Minecraftサーバーを実行するときは、サーバーのプロパティでサーバーIP欄を空欄にしておく必要があります。
- 利用者がサーバーに接続するには、IP Chickenのようなウェブサイトで見つけられる外部IPを使用する必要があります。。このようなIPを使用したくない場合は、NoIP DynDNSのようなDynDNSサービスを使用して下さい。
さて、いよいよNow it is time to 設定と接続です。
VPNを設定[]
自分とフレンドの間にサーバーを設定する別の方法として、VPN(Virtual Private Network、仮想プライベートネットワーク)を設定する方法があります。この方法は推奨されておらず、サーバーに接続したい全てのユーザーがサーバーへの参加・サーバーの作成のために外部ソフトウェアをダウンロードしなければならないため、多くのユーザーにとって不便であると考えられています。この方法の代替方法としては、ポートフォワーディングがあります。VPNの設定に使用できる便利ソフトウェアは、LogMeInの Hamachiです。OpenVPNはほとんどのOSに対応している別の(無料であり公開ソースの)代替手段ですが、設定が少し難しいです。Radmin VPNは、ウェブサイトに登録する必要がなく、ユーザー数当たりの制限がないもう一つのソフトウェアです。Hamachiの無料版では、最大5人までの接続(つまりプレイヤー)が可能です。
Hamachiの設定[]
- 管理側を含め、サーバーに参加したい各パソコンにHamachiをインストールします。
Windows / Mac
Linux (32ビットと64ビットの.deb
と.rpm
パッケージがあるので、Gentooではemergeコマンドで「net-misc/logmein-hamachi」を使うことでインストールできます)。 - 管理サーバーはLogmeinウェブサイトから管理者のサインアップを行います。
- 管理側機器上に新しいHamachiネットワークが作成されました。
- 管理側ではMinecraftサーバーソフトをインストールして設定します。server.propertiesのサーバーIP欄は空白のままにしておきます(既定のまま)。
- 管理側は新しく作成したHamachiネットワークの認証情報を各プレイヤーに伝えます。
- プレイヤーは管理側のHamachiネットワークに接続します。
- 全ての機器が同じHamachiネットワーク内で接続されているので、管理側は自分の機器のHamachiのIPv4アドレスをプレイヤーに伝えます。
- 各プレイヤーは通常のMinecraftのマルチプレイ画面通り、このIPを使って接続します。
- なお、HamachiはIANAが割り当てたIPブロック(25.0.0.0/8)を不法占拠(スクワッティング)します。このように、Hamachiはインターネットそのものと根本的に対立しています。
Radmin VPNを設定[]
これはHamachiのインストールととても似ています。
- Radmin VPNを無料でダウンロードしてインストールします。
- ネットワークの作成:Radmin VPNをパソコンにインストールした後、「ネットワークの作成」ボタンを押します。ネットワーク名とパスワードを設定し、「作成」ボタンを押します。
- そうすると新しいネットワークがメイン画面に表示されるので、フレンドを招待して、接続する情報を送信します。Minecraftを運営するのは大歓迎です。
- 接続:プログラム起動後、「ネットワークに参加」を押してください。その後、ダイアログボックスでネットワーク管理者から受信したネットワーク名とパスワードを入力してください。「参加」を押します。新しいネットワークとそのノードがメイン画面に表示され、Minecraftの管理側に接続されます。
- Radmin VPNでの接続が確立されているにもかかわらず他のプレイヤーがゲームに参加しているのが見えない場合は、ゲームが動作するようにファイアウォールを調整するか、ファイアウォールをオフにする必要があります。
Minecraftサーバーの設定[]
- サーバーの設定はserver.propertiesファイルを編集して行います。このファイルの形式はここで説明されています。このファイルはWindows Notepadのような書式(斜体など)を追加しないテキストエディタで編集するようにしてください。多くのサーバーは既定の値で問題なく動作するので、追加の設定は必要ないかもしれません。
- オペレーター(op)になる、またはオペレーターを追加するには、サーバーコンソールかGUIに
/op <targets>
と入力してください。これにより、指定したユーザー名とUUIDがops.json
ファイルに追加されます。UUIDの使用によりユーザー名を変更してもオペレーターの状態は変わりません。
[
{
"uuid": "",
"name": "",
"level": 4,
"bypassesPlayerLimit": false
}
]
- ホワイトリストを有効にするようにserver.propertiesが設定されている場合、サーバーコンソールまたはGUIに
/whitelist add <プレイヤー>
と入力することで、whitelist.json
にユーザーを追加できます。UUID制度への移行に伴い、whitelist.json
を直接編集することは推奨されていません。
Minecraftサーバーに接続[]
- サーバーと同じ機器で遊ぶ場合は、ゲームクライアントで「マルチプレイヤー」を選択し、「直接接続」をクリックし、IPアドレスではなく
localhost
と入力してください。- 管理とプレイの両方を同じ機器で行うことは、強力なパソコン(6GB以上のRAM(サーバー用に4GB、クライアント用に2GB、その他の体系用にもう少し))を持っていない限りはお勧めできません。
- ローカルネットワーク内のユーザー(同じルーターに接続しているユーザー)は、内部IPアドレスを使用して接続でき、このようなローカル接続ではポートフォワーディングは必要ありません。特定のネットワークアダプタの内部IPアドレスは、コマンドプロンプトで「ipconfig」と入力してIPv4アドレスを探すか、このウェブサイトを利用して確認することができます。server.propertiesでポートが25565以外の数字に設定されている場合は、そのポートを含める必要があります。このアドレス(IPとポート両方)は
192.168.0.168:25565
のようになります。 - インターネットから接続するユーザー(ローカルネットワーク外のユーザー)は外部IPアドレスを使用して接続する必要があります。ネットワーク外の人がサーバーに接続できるようにポートフォワーディングする必要があります。
IPアドレスの注意点[]
- ゲームを管理しているパソコンに固定IPを設定しないと、内部IPアドレスは変更される可能性があります。これはポートフォワーディングの規則に影響を与え、無効になる可能性があります。モデムやルーターによって、固定IPアドレスの設定方法が異なります。詳しくは、お使いの機器の説明書やオンライン説明書を参照してください。
- プレイヤーが外部IPに接続している場合、インターネットサービスプロバイダからの固定IPがないと外部IPが変更されることがあります。WanIPなどのツールを使用して、定期的に外部IPアドレスを確認して下さい。また、Googleで「my ip address」と検索すると、自分のIPアドレスが表示されます。別の方法としては、IPアドレスのままではなく名前を持つことができるDDNSサービスを検討することもできます。名前は、変更の有無にかかわらず外部IPアドレスを指します(DNSは変更が発生すると更新されるため、「動的」です)。
- 問題解決のため、サーバー機器上でMinecraftを実行し、ローカルに接続してみることもできます。接続には
localhost
、ホームネットワークIP(192.168.x.x
)、パブリック(インターネット)IPのいずれかを使用します。 - 何らかの理由でIPv4での公開接続に問題がある場合は、IPv6で接続してみて下さい。これはサーバーがオンラインであるかどうかを検証するためだけに行われるはずなので、外部のプレイヤーはIPv4を使用する必要があります。
ファイアウォール、NAT、外部IPアドレス[]
- ファイアウォールでTCP/UDPポート(既定では25565)を開く必要があります。
- 問題のサーバーが世界的にルーティング可能なIPアドレスを介して到達できない場合、適切なアドレスやポート番号の変換規則をゲートウェイに追加する必要があり、通常ルーターは世界的IPアドレスになっています。
- アドレス変換、ファイアウォールの開放、ルーティング(この3つがポートマッピング/フォワーディングと呼ばれるものを構成しています)のヘルプについては、portforward.comが良いソースです。この一覧からルーターを選択し、機種を選択した後に表示される広告を飛ばすと、ポートフォワーディングの設定方法が表示されます。ルーター、モデム、他のISP関連のハードウェアに付属の説明書を読むこともできます。
- ポートが開いていることを確認し、You Get Signalのようなポート確認ツールを使って外部IPをメモします。他に何か指定しなければ、既定のポートは25565です。ポートを試行する際には、Minecraftサーバーを起動してください。
- 外部IPアドレスはYouGetSignalから取得できます。
ローカルネットワーク専用サーバー[]
これはClassic(v0.30)のサーバーのみに適用されます。
サーバー管理者にとってよくある問題は、ローカルネットワーク上の別の機器を介して自分のサーバーに接続できないことです。典型的な状況としては、専用の機器上で動作するClassicのサーバーを持っており、遊ぶ用の自分の機器を持っている場合です。両方とも同じルーター・スイッチに接続されていて、内部IPのオクテットが「192.168.x.x」の場合です。通常、サーバー用に生成されたURLから接続すると、サーバーがオフラインであるというエラーメッセージが表示されます。
これを修正するには、URLやブックマークなどの末尾に関数を追加する必要があります。この関数は:?override=true
例: http://www.minecraft.net/classic/play/4c3bebb1a01816acbe31c5ece1570da5?override=true
以前は(1.8 betaとウェブサイトアップデート前)、これは&override=trueでした。この変更はMojangが発表したものではなく、ウェブサイトのアプレットページでも発表されていなかったため、多くの混乱を引き起こしてしまいました。更新前は、ウェブサイト経由で自分のURLに接続すると、アプレット画面の下に「接続できない場合、「このリンク」を試してみてください」という赤い文章が表示されていました。リンクは最後に&override=trueを付けて同じものを返していました。
注意: この状況はBetaサーバーには影響しないため、内部か外部IP経由で接続できるはずです。
SRVレコード[]
1.3以降のJava版では、プレイヤーが入力する必要のないカスタムポートの使用にも対応しています。これはDNSのSRVレコード(「サービス」の意味)を使用することで実現します。SRVレコードは、実際に使用する管理側とポートをMinecraftに伝えます。一部のDynDNSサービスとほとんどの静的DNSサービスで設定できます。 [2]
手動でSRVレコードを確認するには、以下の方法を使用します(プレイヤーが直面するドメインが「YOUR.DOMAIN.com」であると仮定):
> nslookup -q=srv _minecraft._tcp.YOUR.DOMAIN.com サーバー: 不明 アドレス: [書き換え済み] 非公認の回答: _minecraft._tcp.YOUR.DOMAIN.com SRVサービスの場所: priority = 5 weight = 5 port = 65312 svr hostname = ACTUAL.DOMAIN.com
よくある質問[]
Q: ここでは答えが出ていない問題があります!どうすればよいですか?
A: Minecraft Forumsに行って問題を投稿して下さい。助けを請うには以下の情報が必要です:
- OS
- Javaのバージョン
- パソコンの台数
- 問題の正確な説明
- 問題解決のために試した手順
- 遭遇した全てのエラーメッセージ
- 問題のスクリーンショット(可能であれば)
- 他にも問題の解決に役立ちそうなのがあれば何でもいいのですが、情報量が多すぎる事はほとんどありません(パスワードは情報量が多すぎます!)。
そして、我々が助けられたのであれば、問題が正確にどこにあったのか、そしてそのために何を修正したのかを投稿して下さい。他の人たちに感謝されるでしょう(そして、我々は一般的な問題を把握できるようになります)!
Q: Windowのパソコンで、一括ファイルをダブルクリックするとコマンドプロンプトの画面が開きますが、すぐに消えてしまい、サーバーが起動しません。
A: .batプログラムを右クリックして編集をクリックし、新しい行を追加してpause
と入力して保存し、ファイルを実行します。無効なパスと表示された場合は、java.exe/javaw.exeかMinecraftのサーバーjarファイルへのパスが間違っている可能性があります。/jre7/
を/jre6/
に変更する必要があるかもしれません。または、システムでjava.exe/javaw.exeを検索して、それに応じてパスを調整して下さい(おそらくc:\program files
かc:\program files (x86)
の下にあると思われます)。また、ブラウザ用のJavaプラグインだけでなく、オフライン版のJavaがインストールされている必要があります。
Q: サーバーを立ち上げようとすると「ポートへの結合に失敗しました!」と表示されます。
A: 最も一般的な原因は、server.propertiesファイルのserver-ip欄にIPアドレスを入力したからです。指定したIPがネットワークインターフェース(ipconfig/ifconfig/ip aからの無線か有線IPv4)と同じでない場合、Minecraftはポート結合の失敗メッセージを表示します。これを空白にすることで、全てのインターフェースに結合することができます。これでローカル運営を使って接続できるようになり、有線・無線ネットワーク上の人は(同じサブネット内の)コンピュータ・サーバーの(個人)IPアドレスを使って接続できるようになります。
あるいは、既に使用中のポートを使おうとしたか、使用する権限が無いことを意味します(1024以下のポートは特権であり、結合するにはroot・管理者のアクセスが必要です)。server.properties
ファイルで以下の行に変更することで、別のポートを試せます:server-port=25565
.
注意:ISPによっては安全上の理由からこれらのポートを禁止している場合があり、Minecraftサーバーをrootで実行できないはずです(Linuxの種類のOSと1024以下のポートの場合):
- 21 (ほとんどのFTPサーバーで使用)
- 22 (Secure Shellデーモンで使用)
- 25 (SMTPのメールサーバーで使用)
- 53 (DNSサーバーで使用)
- 80 (ほとんどのWebサーバーで使用)
- 110 (ほとんどのPOP3のメールサーバーで使用)
- 115 (Simple File Transfer Protocolで使用)
- 143 (IMAPのメールサーバーで使用)
- 443 (WebサーバーのSSLポート)
- 3306 (ほとんどのMySQLサーバーで使用)
一般的に1024番以下のポートは、ウェルノウンポートと呼ばれ、重要なサービスのためにIANAに登録されているため、避けた方が良いでしょう。
Q: Solaris/OpenSolarisでサーバーを実行しようとしたところ、以下のようなエラーが出ました:
java.io.InterruptedIOException: oq.run(SourceFile:84)のji.c(SourceFile:17)のji.g(SourceFile:197)のgq.a(SourceFile:131)のjava.io.FilterInputStream.read(FilterInputStream.java:66)のjava.net.SocketInputStream.read(SocketInputStream.java:182)のjava.net.SocketInputStream.read(SocketInputStream.java:129)のjava.net.SocketInputStream.socketRead0(ネイティブメソッド)で操作が中断されました 2011-05-31 16:57:26 [INFO] /:44673の接続切れ
A: 何らかの理由で、全てのOSの中でSolarisだけがスレッドの接続の割り込みにより例外を表示します。回避策としては、コマンドラインで既定の操作を変更して下さい。
java -Xmx1G -Xms32M -XX:-UseVMInterruptibleIO -XX:+UseConcMarkSweepGC \ -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=$CPU_COUNT -XX:+AggressiveOpts\ -jar minecraft.jar nogui
これは、割り込みしレッドに敏感な既定IOではなく割り込み可能なIOスタックを使用するようJavaに指示します。
Q: サーバーに接続しようとすると、このように表示されます:
接続が切断されました サーバーは無効なサーバーキーで応答しました
A: このエラーは通常、サーバーがクライアントに認識できない機能を送信した場合に発生しますが、これは認識できないサーバーソフトを使用していたり、クライアント・サーバーのバージョンのつり合いが崩れていたり、クライアントに変更があったりした場合に発生します。
Q: ブロックを破壊・設置できません!?
A: これはほとんどの場合、保護された場所にあるブロックと相互作用することで起こります。出現地点の近くで相互作用しようとしている場合は、Minecraftサーバーソフトによって保護されている可能性が高いため、底から離れて建築するか、オペレーター権限を取得して下さい。
Q: サーバーは正常に動作していますが、接続できません!
A: 一連の問題が原因である可能性があります。上記のテンプレートを使用してスレッドを投稿して下さい。
Q: どのようにして.jarサーバーにRAMを増やすのですか?
A: サーバー起動コマンド「-Xmx1G -Xms1G」の数字を変更します。-Xmsの部分はサーバーが起動する容量を指定し、-Xmxの部分はサーバーが使用できる最大容量を指定します。
-Xmx1G -Xms2G
= 1GB
-Xmx2G -Xms1G
= 2GB
など。
Q: サーバーのCPUが常に全負荷状態になっているのはなぜですか?
A: 一部のユーザーでは、サーバーのCPU負荷がいっぱいになることがあります。これはGUI(グラフィックユーザーインターフェース)画面が原因である可能性があります。この画面を無効にするには、設定nogui
を付けてサーバーを実行して下さい。
Q: 助けて!サーバーのIPアドレスはどうやって調べるのですか?
A: #Minecraftサーバーに接続をご覧ください。
'Q: ファイアウォールでjava.exeをポートフォワーディングして許可したのに、まだ動いていません!
A: モデムがルーターとしても機能しているかもしれません。ISPのものを切り替えるか、インターネットへの接続を更新する場合、モデム・ルーターの組み合わせが発行される可能性があります(それが過去に動作した理由を説明するかもしれません)。 自分のルーターのWAN IPを探すことによってこれを確認できます。それが個人IPの場合、自分のISPが自分に発行したモデム・ルーターにログインする必要があります。そして、自分のルーターのWAN IPにポートフォワーディングを設定します。
Q: 接続タイムアウトや接続拒否とは何ですか?
A: 簡単に言うと、接続タイムアウトとは、ファイアウォールが接続試行を無視する(3ウェイハンドシェイクのSYNフラグを持つパケットを無視する)ことです。接続拒否とは、そのポートで待ち受けている手順がない場合で、OSが(標準的なクライアントサーバー型の)クライアントに接続試行がうまくいかなかったことを知らせます。
全てのWindowsパソコン(家庭用)と(ほぼ)全ての(SOHO)のルーターの標準設定では、接続を落とすかタイムアウトするようになっています。これは「ステルスモード」と呼ばれるもので、superuserで詳しく紹介されています。簡単に要約すると、「接続の機会を逃す代わりに接続を拒否することで、そのIPアドレスに実際にコンピューターが存在することを攻撃者に伝えるという考え方です。接続試行がタイムアウトすることで、攻撃者がそのコンピュータを無視することを期待しています。」
接続拒否についてはserverfaultで詳しく説明されています。
そのため、エラーメッセージが接続タイムアウトの場合、通常はファイアウォールの問題となります。WindowsのファイアウォールでJavaを許可するか、ポートフォワーディングする必要があります。エラーメッセージが接続拒否の場合は、恐らくMinecraftサーバーが正しく起動していないか、ポートフォワーディングではなくルーターのファイアウォールをオフにしたのでしょう。
いつものように、何か不安なことや分からないことがあれば、いつでもMinecraftフォーラムに質問して下さい。特に、コマンドプロンプト・ターミナルを開いてコマンドを実行するのが不安な場合はそのようにしてください。
接続フィルターや接続閉じはそれぞれタイムアウトと拒否の別の言い方です。
動画・代替チュートリアル[]
ここでは、Minecraftサーバーの設定方法について他のチュートリアルを紹介します:
- Windows
- Mac OS X
- Linux
- その他
- 完全版
新人向け |
| ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
全般 | |||||||||||||
チャレンジ |
| ||||||||||||
建築 | |||||||||||||
生産 |
| ||||||||||||
エンチャントと製錬 | |||||||||||||
ブロック破壊 |
| ||||||||||||
メカニズム |
| ||||||||||||
サーバー |
| ||||||||||||
技術的なチュートリアル |
| ||||||||||||
古いチュートリアル |
|