Minecraft Java版サーバー開設チュートリアル(Ubuntu)
はじめに
Linuxでのサーバー開設も簡単で、メモリ使用量も少ないためおすすめです。以下では Ubuntu18.04.1 を使用して説明します。
正版アカウントがなくてもプレイできます。
統合版(Bedrock Edition)のプロトコルは UDP、デフォルトポートは 19132 です。
Java版のプロトコルは TCP、デフォルトポートは 25565 です。
minebbs:https://www.minebbs.com/
mod百科:https://www.mcmod.cn/
mcナビゲーションサイト:https://www.mcnav.net/
パネルサーバー:https://mcsmanager.com/
ランチャー(各バージョンを含む)
PCL2ランチャー:https://afdian.net/p/0164034c016c11ebafcb52540025c377
HMCLランチャー:https://hmcl.huangyuhui.net/
公式ランチャー:https://www.minecraft.net/zh-hans/download/alternative
Minecraftサーバーにおいて最も重要な部分はサーバーコアです。コアは通常、以下の種類に分けられます。
Minecraft バニラコア
Minecraft プラグイン専用コア
Minecraft MOD専用コア
Minecraft プラグイン・MOD ハイブリッドコア
プラグインは、サーバー管理者の管理作業を支援する追加コンポーネントであり、クライアントへのインストールは不要です。
プラグインとは異なり、MODはサーバーとクライアントの両方に追加して初めて使用できます。サーバー側にのみ追加した場合、クライアントはサーバーに入れません。クライアント側にのみ追加した場合、サーバーには入れますが、MODは機能しません(小地図やアイテム表示、Xray透視などの補助的なものは別です。ここでは個人機能系のみを指します)。
現在のMinecraft Java版の主流サーバーコアは以下の通りです(私が把握していないものはリストに含めていません):
| コア名 | 説明 | アドレス |
|---|---|---|
| バニラサーバー | 公式サーバー、つまり純粋なサーバー。プラグインは追加不可。ForgeをインストールすればModを追加可能。カスタマイズできる内容は少なめ | https://mcversions.net |
| Bukkit、CraftBukkit(バケツサーバー) | 比較的古いプラグインサーバー。Modの追加はサポートしていませんが、Bukkitプラグインを追加できます。CraftBukkitプラグインを使用できますが、Spigotプラグインとの互換性は低く、CraftBukkitプラグインとSpigotプラグインの一部のみ追加可能です | https://getbukkit.org/download/craftbukkitt |
| Spigot(蛇口サーバー) | SpigotはBukkitを最適化しており、Bukkitプラグインの追加をサポートしますが、Modの追加はサポートしていません。安定性は良好です | https://getbukkit.org/download/spigott |
| Paper(紙蛇口サーバー) | PaperはSpigotを最適化しており、CraftBukkitおよびSpigotプラグインをサポートしますが、Modの追加はサポートしていません。TPS最適化が組み込まれており、1.9.xより前のバージョンのコアにはチート対策機能が搭載されていましたが、1.9.x以降は削除されました | https://papermc.io/ |
| MCPC+ | ModとBukkitプラグインをインストールできますが、最適化は微妙です。JAVA7でのみ動作し、最高対応バージョンは1.7.10です | https://sourceforge.net/projects/cauldron-unofficial/files/oldreleases/version1/ |
| KCauldron (KCサーバー) | KCサーバー。ModとBukkitプラグインをインストールできます。MCPC+、Cauldron、Thermosよりも最適化されており、メモリ消費もそれほど多くありませんが、最高対応バージョンは1.7.10までです | https://sourceforge.net/projects/kcauldron/ |
| Thermos (ウォーターボトルサーバー) | KCauldronの最適化版で、元のCauldronよりも安定しています。MODとBukkitプラグインの両方を追加でき、最高対応バージョンは1.7.10です | https://cyberdynecc.github.io/Thermos/install |
| Contigo (コップサーバー) | Thermosの後継で、多くの最適化が施されています。サーバーラグの最適化、マルチスレッド演算、より低い遅延、より優れたワールド保護 (Forgeが呼び出すアイテムはBukkitプラグインを経由しません!) | https://github.com/djoveryde/Contigo |
| Uranium (ウランサーバー) | KCの最適化版で、マルチスレッド演算により効率が向上しています。BukkitプラグインとForgeMODをサポートし、最高対応バージョンは1.7.10です | https://www.uraniummc.cc/ |
| Catserver (猫サーバー) | 中国人開発者による伝説のサーバーコア。ForgeMODとBukkit/Spigotプラグインをサポートし、マルチスレッドも最適化されています。1.12.2バージョン | https://catmc.org/ |
| mohist (墨サーバー) | modsとプラグインの両方を追加できます。paperの一部のプラグインをサポートしており、大規模なサーバーでなくても動作します。マルチスレッドが組み込まれていますが、多くのプラグインや一部のmodsはサポートされていません | https://mohistmc.com/ |
| Arclight (巻き貝サーバー) | modsとプラグインの両方を追加できます。サーバーのネットワーク環境があまり良くないため、必要なライブラリのダウンロードが面倒です | https://github.com/IzzelAliz/Arclight/releases |
| magma | ForgeとCraftBukkitベースの1.12.2サーバー。ForgeのmodとBukkitプラグインを使用します。将来的には1.14および1.15をサポート予定 | https://magmafoundation.org/ |
| Sponge Forge(スポンジサーバー) | 独自のプラグインシステムを持ち、1.8以降のバージョンでModとSpongeプラグインを併用できます | https://www.spongepowered.org/ |
| Sponge Vanilla(スポンジバニラサーバー) | Spongeプラグインをサポートしますが、ForgeMODはサポートしていません。メモリ使用量が少なく、必要なスペックも低めです | https://www.spongepowered.org/ |
| Glowstone (蛍石サーバー) | 完全にオープンソースのサーバーで、Bukkitプラグインをサポートします。バージョンは1.12.2です | https://www.glowstone.net/ |
Java ダウンロード(ミラーサイト):
国内ユーザーはミラーサイトの利用をおすすめします(プログラミング宝庫が比較的充実していると思います)。
injdk:https://www.injdk.cn/
ファーウェイミラーサイト:https://repo.huaweicloud.com/java/jdk/
mcのバージョンと対応するJavaバージョン:
1.7.X —— jdk8
1.8.X —— jdk8/11
1.12.X —— jdk8/11
1.16.X —— jdk16/11
1.17.X —— jdk16 以上
1.18.X—— jdk17
Ubuntuではaptリポジトリから直接jdkをインストールできます。
以下ではcatserverサーバーで開設のデモを行います:
猫サーバーは私が初めて開設に使用したサーバーで、かなり良いサーバーだと思っています。猫サーバーには過去に少し問題がありましたが、私の使用には全く影響ありませんでした。周知の通り、modが最も栄えたバージョンは1.7.10と1.12.2です。新しいバージョンの方がコンテンツが豊富なので、私はcatserverを選びました(注意:各バージョンと各コアにはそれぞれ存在意義があります。他のサーバーを貶めて自分の選択を誇るのはやめましょう)。
簡単なチュートリアル:
コマンドでJDK8をインストールし、コマンドでcatserverをダウンロードし、コマンドで起動します。
詳細チュートリアル:
- サーバーの準備:
サーバー(Linux系OSのUbuntu、Debian、centosなど)はご自身で準備してください(24時間稼働で安定しているため、サーバーの利用をおすすめします)。公式推奨のUbuntuで開設します。ここではUbuntu18.04.1を使用しています。
- ポートの開放:
サーバーのプロトコルに応じて選択します(例えばJava版はtcpプロトコル)。Java版のデフォルトポートは25565です。一部のUbuntuではファイアウォールが有効になっている場合があります。完全に無効化するか、ポートを開放するかを選択できます(操作方法は後述します)。

デフォルトのログインアカウントはubuntuです。
- 現在のファイアウォール状態を確認します。inactiveは無効状態、activeは有効状態です。【
centos:firewall-cmd --state】
sudo ufw status
- ファイアウォールを無効化します(有効でなければ実行不要)。【
centos:systemctl stop firewalld】
sudo ufw disable
- aptリポジトリにあるjdkのバージョンを確認します。【
centos:yum search java|grep jdk】
apt-cache search java|grep jdk
Java環境をインストールします。確認のため再度yを入力する必要があります。【
centos:yum install java-1.8.0-openjdk】sudo apt-get install openjdk-8-jdk転載後記のセクションを参照してください。Java環境バージョンの推奨があります。ここではOpenJDK8のインストールは推奨しません
jdkが正常にインストールされたか確認します。
java -version空のディレクトリを作成します(catはディレクトリ名で、任意に変更可能)。
mkdir /home/ubuntu/catディレクトリに移動します。
cd /home/ubuntu/catサーバーパッケージをダウンロードします。catserver公式サイトを開き、ダウンロードリンクを取得します。【
centos:yum -y install wget】wget https://luohuayu.coding.net/p/CatServerRes/d/CatServerRes/git/raw/master/serverjar/CatServer-a8b73e9-universal.jar最初に一度実行して、必要なファイルをダウンロードします。
java -jar CatServer-a8b73e9-universal.jar- catserverサーバーではこの手順はスキップします
公式サーバーパッケージを初回実行すると、
eula.txtが生成されます。
vim eual.txt と入力し、iキーを押して編集モードに入り、eula=false の false を true に変更します。
次に esc キーを押します。
そして :wq と入力してEnterキーを押します(コロンを忘れずに)。
stopと入力してEnterキーを押し、停止します。正版認証を無効化します。
server.propertiesファイル内のonline-mode=trueのtrueをfalseに変更します。
私はLinuxの基礎を少し学んだので、コマンドで直接変更する方が好みです(速くて効率的)。もちろん、宝塔パネルをインストールして、視覚的なファイル管理を選ぶこともできます。初心者向けです。
まずコマンドで直接変更する方法を紹介します。
tabキーで補完できます。vim /home/ubuntu/cat/server.propertiesiキーまたはinsキーを押して編集モードに入り、カーソルを
online-mode=trueに移動し、trueをfalseに変更します。
次に esc キーを押します。
そして :wq と入力してEnterキーを押します(コロンを忘れずに)。

次にscreenを作成します(catはウィンドウ名で、任意に変更可能)。【
centos:yum install screen】screen -S catサーバーを起動します。以下の情報が表示されれば、サーバー開設成功です。
java -jar CatServer-a8b73e9-universal.jar
その後、サーバー管理者コマンドを実行できます。例えば、op {プレイヤーID} で特定のプレイヤーに管理者権限を付与できます(プレイヤーがオンラインである必要があります)。

- 次にワールドに接続してテストします。パブリックIPを入力します。ポートはデフォルトの25565です(他のポートに変更していなければ、ポートを入力する必要はありません)。


Ctrl+A+D を押してウィンドウをデタッチし、次にscreenが正常か確認します。
screen -ls

ok、問題ありません。これでSSH接続ソフトウェアを閉じても大丈夫です。
設定:
Server.properties 設定ファイル、公式ドキュメント:https://minecraft.fandom.com/wiki/Server.properties
generator-settings= # カスタム超平坦ワールドの生成に使用します。
op-permission-level=4 # OPの権限レベルを設定します #1 – OPはリスポーン地点の保護を無視できます #2 – OPは /clear、/gamemode、/tp などのコマンドを使用でき、コマンドブロックを編集できます #3 – OPは /ban、/deop、/kick および /op コマンドを使用できます #4 – OPは /stop コマンドを使用できます
allow-nether=true # ネザー(地獄)ワールドを有効にするかどうか(無効にすると、削除後ネザーワールドは生成されません)
level-name=world # メインワールド名
enable-query=false #GameSpy4プロトコルサーバーリスナーを有効にするかどうか。サーバー情報の取得に使用されます。変更は推奨しません。
allow-flight=false # 飛行機能を追加するmodをインストールしている場合、プレイヤーがサバイバルモードで飛行することを許可します。
prevent-proxy-connections=false # 有効にすると、サーバーから送信されるISP/ASがMojangの認証サーバーと異なる場合、プレイヤーはキックされます。
server-port=25565 # サーバーのポート番号
max-world-size=29999984 # ワールド境界の最大半径値を設定します。単位はブロックです。コマンドを正常に実行することでワールド境界をさらに大きく設定できますが、ここで設定された最大ブロック数を超えることはありません。設定されたmax-world-sizeがデフォルト値のサイズを超えている場合、効果はありません。
level-type=DEFAULT # マップの生成タイプを決定します #DEFAULT – 標準ワールド #FLAT – 超平坦ワールド #LARGEBIOMES – プリセットワールドですが、すべてのバイオームがより大きくなります(スナップショット12w19a、または正式版1.3以降でのみ利用可能)#AMPLIFIED – プリセットワールドですが、ワールド生成の高さが増加します(スナップショット13w36a、または正式版1.7.2以降でのみ利用可能)#CUSTOMIZED – スナップショット14w21b以降、サーバーはカスタム地形もサポートします。使用方法はgenerator-settingsにコードを貼り付けます。
enable-rcon=false # サーバーコンソールへのリモートアクセスを許可するかどうか。
force-gamemode=false # プレイヤーがサーバーに参加したときに、デフォルトのゲームモードに強制します。
level-seed= #ワールドシード
server-ip= #サーバーを特定のIPにバインドします。空欄を推奨します。空欄にするか、サーバーをバインドしたいドメイン名を入力します。
network-compression-threshold=256 # デフォルトでは、n-1バイト以下のデータパケットは通常送信され、データパケットがnバイト以上の場合は圧縮されます。# したがって、数値を低くするとより多くのデータパケットが圧縮されますが、圧縮されるデータパケットが小さすぎると逆効果になります。#-1 – データパケット圧縮を永久に無効化 #0 – すべてのデータパケットを圧縮 #(64-1500を推奨)
max-build-height=256 # プレイヤーがゲーム内で建築できる最大の高さ
spawn-npcs=true #村人がスポーンするかどうかを決定します
white-list=false #サーバーのホワイトリスト。OPはホワイトリストに追加する必要はありません。
spawn-animals=true # 動物がスポーンできるかどうか
snooper-enabled=true #有効にすると、サーバーは定期的に統計データを http://snoop.minecraft.net に送信します。
hardcore=false #ハードコアモード(有効にすると、プレイヤーは死亡後にサーバーからBANされます)
resource-pack-sha1= #リソースパックのSHA-1値。小文字の16進数である必要があります。
online-mode=false # 正版認証を有効にするかどうか
resource-pack= # リソースパックへのURIを入力できます。プレイヤーはそのリソースパックを使用するかどうかを選択できます。
pvp=true # PvP(対人戦闘)を許可するかどうか
difficulty=1 # ゲームの難易度を設定します(peaceful (0)= ピースフル、easy (1)= イージー、normal (2)= ノーマル、hard (3)= ハード)
enable-command-block=false # コマンドブロックを有効にするかどうか
player-idle-timeout=0 # AFKモードに入ったとき、指定時間内にサーバーから切断します。0に設定すると切断されません。
gamemode=0 #プレイヤーのゲームモードを設定します (survival (0)= サバイバル、creative (1)= クリエイティブ、adventure (2)= アドベンチャー、spectator (3)= スペクテイター)
max-players=20 #最大プレイヤー数
max-tick-time=60000 # 各tickに費やす最大ミリ秒数を設定します
spawn-monsters=true #モンスターがスポーンするかどうか
view-distance=10 #サーバーがクライアントに送信するチャンク数を設定します (範囲 3-15) # この数値を減らすとラグを効果的に軽減できます
generate-structures=true # ワールド生成時に構造物(村など)を生成するかどうかを定義します
motd=A Minecraft Server # プレイヤークライアントのマルチプレイヤーサーバーリストに表示されるサーバー情報。名前の下に表示されます。 中国語はエンコード変換が必要です。
Catserver フォルダ構造
Catserver のフォルダ構造
├─config //modのいくつかの設定
├─libraries //いくつかのサポートライブラリ
├─logs //サーバーログを保存するフォルダ
├─mods //modを保存するフォルダ
├─plugins //プラグインを保存するフォルダ
└─bStats //プラグイン設定を保存するいくつかのフォルダ
└─world //ワールドフォルダ
├─data //ワールドデータフォルダ
│ ├─advancements
│ └─functions
├─DIM-1 //ワールド内のワールド#笑い
│ ├─data
│ │ └─functions
│ ├─playerdata
│ └─region
├─DIM1
│ ├─data
│ │ └─functions
│ ├─playerdata
│ └─region
├─playerdata //プレイヤーデータフォルダ
└─region
├─banned-ips.json //BANされたIPプレイヤーのUUIDやゲーム名などの関連情報を保存します。
├─banned-players.json //BANされたIDプレイヤーのUUIDやゲーム名などの関連情報を保存します
├─bukkit.yml //Bukkitから派生したサーバーに存在するファイル。Bukkitが提供する最も基本的な設定オプションを保存します。
├─catserver.yml //これはPaperにのみある設定ファイルです。通常、BukkitやSpigotでは見かけません。
├─CatServer-a8b73e9-universal.jar //サーバーコア
├─commands.yml //Mojang提供のコマンド(Bukkit組み込みのコマンドではなく)を競合なく強制的に使用させるための、迅速かつ簡単な方法を提供します。
├─eula.txt //初回サーバー起動時に、EULA契約に同意する必要があります。
├─help.yml //一部のプラグインのヘルプ情報がここに表示されます。通常、変更は不要です。
├─ops.json //OPのゲームニックネーム、UUIDなどの情報がここに表示されます。
├─permissions.yml //デフォルトの権限定義YAMLファイルで、起動時に自動生成されます。主な機能は、権限ノードを1つのファイルにまとめて、権限プラグイン(および権限を使用するプラグイン)がシステム全体で使用できるようにすることです。
├─server.properties //サーバーの基本的な設定(ポート設定、ゲーム難易度設定、ゲームモード設定(サバイバル、クリエイティブなど)など)がここにあります。
├─spigot.yml //これはSpigotにのみある設定ファイルです。通常、Bukkitでは見かけません。PaperはSpigotから派生したサーバーであるため、Paperサーバーにも存在します。
├─usercache.json //ユーザーの一部の情報を保存するキャッシュファイル。
├─version_history //Minecraftとサーバーコアのいくつかのバージョン情報。
├─whitelist.json //ホワイトリスト。(server.propertiesでホワイトリストを有効にした場合、このファイルで誰がサーバーに入場を許可または拒否されるかを追加および管理できます)
screenのその他の設定について
サーバーのバックグラウンドでMinecraftコマンドを実行したい場合は、次のように入力します。
screen -r cat
サーバーを停止したい場合は、以下のコマンドを実行できます。 screenの外で、mcという名前のscreenを終了します。
screen -S cat -X quit
Ubuntuファイアウォールのその他の設定について
ファイアウォールを有効にします。確認のためyを入力する必要があります。
sudo ufw enableファイアウォールでポートを開放します。
sudo ufw allow/deny 19132
// 19132ポートへのアクセスを許可/拒否します。19132ポートの後に /tcp または /udp を付けると、tcpまたはudpパケットを指定できます。
開放が完了したら、ファイアウォールを再起動して有効にします。
sudo ufw reload
1Panelのインストール
公式サイト:https://1panel.cn/
Ubuntuインストールコマンド:
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
転載後記
Minecraftのアップデートに伴い、多くの方が最新バージョンでサーバーを開設することを選択するため、OpenJDK17のインストールを推奨します。
sudo apt-get install openjdk-17-jdk
サーバーのスペックが2コア2GB未満の場合は、サーバー開設は推奨しません。メモリオーバーフローが発生し、サーバー起動に失敗する可能性が高いためです。