前言#
Linux でのサーバー開設は非常に簡単で、メモリの使用量も少なく、おすすめです。以下に Ubuntu18.04.1 を使用したデモを示します。
正規アカウントがなくてもプレイ可能です。
ベッドロック版プロトコルは 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
-
hcml 起動ツール: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 プラグインとの互換性はあまり良くない | 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/old_releases/version_1/ |
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(墨端) | MOD とプラグインの両方を追加でき、Paper の一部プラグインをサポートし、大きなサーバーがなくても動作し、マルチスレッドを内蔵しているが、多くのプラグインがサポートされておらず、一部の MOD もサポートされていない | https://mohistmc.com/ |
Arclight(海螺端) | MOD とプラグインの両方を追加できるが、サーバーのネットワーク環境があまり良くなく、必須ライブラリのダウンロードが面倒 | 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/
-
Huawei ミラーサイト: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 が最も繁栄している 2 つのバージョン 1.7.10 と 1.12.2 は、新しいバージョンの内容が豊富なので、私は直接 catserver を選びました(注意:各バージョンと各コアにはそれぞれの存在意義があるので、他のサーバーを貶めて自分の選択を持ち上げることはしないでください)。
簡単なチュートリアル:#
コマンドで JDK8 をインストールし、catserver をダウンロードし、コマンドを起動します。
詳細なチュートリアル:#
- サーバーの準備:
サーバー(Linux システムの 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 eula.txt
と入力し、次に i キーを押して編集モードに入り、eula=false
のfalse
をtrue
に変更します。
次にesc
キーを押します。
再度:wq
と入力してエンター(コロンを忘れずに)。
-
stop
と入力してエンターを押し、実行を停止します。 -
正規アカウントの検証をオフにします。
server.properties
ファイル内のonline-mode=true
のtrue
をfalse
に変更します。
私は少し Linux の基礎を学んだので、直接コマンドを使用して変更することを好みます(速くて効率的です)。もちろん、宝塔パネルをインストールして、視覚的なファイル管理を選択することもできます。これは初心者に適しています。
- まず、直接コマンドで変更する方法を紹介します。
tab
キーを押して補完できます。
vim /home/ubuntu/cat/server.properties
- i キーまたは ins キーを押して編集モードに入り、カーソルを
online-mode=true
に移動し、true
をfalse
に変更します。
次にesc
キーを押します。
再度:wq
と入力してエンター(コロンを忘れずに)。
- 次に 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 # サーバーがMojangの認証サーバーのISP/ASと異なる場合、プレイヤーがキックされるかどうか
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 # ハードコアモード(有効にすると、プレイヤーが死ぬとサーバーから禁止される)
resource-pack-sha1= # リソースパックのSHA-1値、必ず小文字の16進数
online-mode=false # 正規アカウントの検証を有効にするかどうか
resource-pack= # リソースパックへのURIを入力できます。プレイヤーはそのリソースパックを使用するかどうかを選択できます。
pvp=true # 戦闘が可能かどうか
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 # 各ティックにかかる最大ミリ秒数を設定
spawn-monsters=true # モンスターを生成するかどうか
view-distance=10 # サーバーがクライアントに送信するチャンクの量を設定(範囲3-15) # この値を小さくすると、ラグを効果的に軽減できます。
generate-structures=true # 世界生成時に構造物(村など)を生成するかどうかを定義
motd=A Minecraft Server # プレイヤーのクライアントのマルチプレイヤーサーバーリストに表示されるサーバー情報、名前の下に表示されます。中国語はエンコードする必要があります。
Catserver のフォルダ構造
Catserverのフォルダ構造
├─config // モジュールの設定
├─libraries // 一部のサポートライブラリ
├─logs // サーバーログを保存するフォルダ
├─mods // モジュールを保存するフォルダ
├─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 未満の場合、サーバーを開設することは推奨されません。メモリが溢れ、サーバー開設に失敗する可能性が高いためです。
この記事は Mix Space によって xLog に同期更新されました。元のリンクは https://fmcf.cc/posts/technology/Minecraft-Java-Server-Ubuntu