banner
Magneto

Magnetoの小屋

Magneto在區塊鏈上の小屋,讓我們的文章在互聯網上永遠熠熠生輝!!

私の世界Java版サーバー開設チュートリアル(Ubuntu)

前言#

Linux サーバーの立ち上げは非常に簡単で、メモリの使用量も少なく、推奨されます。以下に Ubuntu18.04.1 を使用したデモを示します。

正規アカウントがなくてもプレイできます。

ベッドロック版プロトコルは UDP、デフォルトポートは 19132 です。

Java 版プロトコルは TCP、デフォルトポートは 25565 です。

ランチャー(各バージョンを含む)

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/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
magmaForge と 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 ダウンロード(ミラーサイト):#

ユーザーはミラーサイトからのダウンロードをお勧めします(プログラミング宝庫を使用することをお勧めします。私が最も充実していると思います)。

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 をダウンロードし、コマンドを起動します。

詳細なチュートリアル:#

  1. サーバーの準備:

サーバー(Linux システムの Ubuntu、Debian、CentOS など)は自分で準備する必要があります(24 時間稼働し、安定しているため、サーバーを使用することをお勧めします)。公式に推奨されている Ubuntu でサーバーを立ち上げます。ここでは Ubuntu18.04.1 バージョンを使用しています。

  1. ポートを開放する:

サーバーのプロトコルに基づいてプロトコルを選択します(例えば Java 版は tcp プロトコルです)。Java 版のデフォルトポートは 25565 であり、一部の Ubuntu ではファイアウォールが開いている場合がありますので、直接オフにするか、ポートを開放することを選択できます(以下で操作方法を説明します)。

image

デフォルトのログインアカウントは 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=falsefalsetrueに変更します。

次にescキーを押します。

再度:wqと入力して Enter(コロンを忘れないでください)。

  • stopと入力して Enter を押し、実行を停止します。

  • 正規アカウントの検証をオフにします。server.propertiesファイルのonline-mode=truetruefalseに変更します。

私は少し Linux の基礎を学んだので、コマンドを直接使用して変更することを好みます(速くて効率的です)。もちろん、宝塔パネルをインストールして、視覚的なファイル管理を選択することもできます。初心者に適しています。

  • まず、コマンドを直接使用して変更する方法を紹介します。tabキーを押して補完できます。
vim /home/ubuntu/cat/server.properties
  • i キーまたは ins キーを押して編集モードに入り、カーソルをonline-mode=trueに移動し、truefalseに変更します。

次にescキーを押します。

再度:wqと入力して Enter(コロンを忘れないでください)。

image

  • 次に screen を作成します(cat はウィンドウ名で、自由に設定できます)。【centos:yum install screen
screen -S cat
  • サーバーを起動します。以下の情報が表示されれば、サーバーが正常に立ち上がったことを示します。
java -jar CatServer-a8b73e9-universal.jar

これでサーバー管理者コマンドを実行できます。例えば、op {プレイヤーID}を入力して特定のプレイヤーに管理者権限を付与します(プレイヤーがオンラインである必要があります)。

image

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

image

image

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

image

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モードに入ったとき、指定された時間内にサーバーからTされます。0に設定するとサーバーからTされません。
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

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。