Richten Sie einen Minecraft-Ressourcenserver (Spigot) über Docker ein

Der wahre Wert von WSL2

ヾ (・ ω <) ノ "Drei-drei-drei ● Ⅱ Ⅲ Korokoro ♪

------------------- ↓ Klicken Sie hier zur Seite ↓ -------------------

Minecraft Wie viele Jahre haben Sie es berührt? (Als das Boot brach, sobald es traf) Ich erinnere mich, dass ich aufgehört habe, weil die Kriechpflanze das von mir geschaffene Gebäude zerstört hat.

Ich beschloss, es nach langer Zeit zu berühren, Wie auch immer, ich möchte in der Lage sein, zwischen Servern auf mehreren Servern zu wechseln. Minecraft Spielen Sie, um einen Server einzurichten (Was machst du (・ ω ・))

WSL2 ist enthalten, Lassen Sie es uns unter Linux installieren. Es scheint einen Build zu geben, also lasst uns Docker verwenden. Lassen Sie uns MOD verfügbar machen. Lassen Sie uns mehrere Server einrichten. Und die Spezifikationen wurden gierig, Nur die Zeit wird vergehen.

Ich habe es geschafft, es in Form zu bringen, also werde ich es hier lassen.


------------------- ↓ Das Hauptthema beginnt hier ↓ -------------------

Vorbereitungen

Es ist natürlich, Minecraft zu installieren. Ich denke, Java Edition (Windows-Version) ist in Ordnung. (Es ist nicht kostenlos!)

Es wird davon ausgegangen, dass WSL2, Ubuntu und Docker enthalten sind. Schauen Sie sich auch hier um.

WSL2 + Docker + PHP Windows-Entwicklungsumgebungskonstruktion (1) WSL2-Edition WSL2 + Docker + PHP Windows-Entwicklungsumgebung (2) Docker Edition

Erfolgreich, wenn der folgende Befehl von PowerShell übergeben wird

PS C:\> wsl -d Ubuntu-20.04
$ docker --version
Docker version 19.03.13, build 4484c46d9d

Schneiden Sie das Verzeichnis für die Datenspeicherung

$ mkdir ~/minecraft_data

Containergenerierung aus Docker

Es scheint einen Server-MOD namens Spigot zu geben. (Ich verstehe nicht) Sie können einen anderen Zapfen Docker finden, Dies wird übernommen, da es anscheinend nur mit Parametern für diejenigen festgelegt werden kann, die häufig verwendet werden

itzg/minecraft-server

$ docker run -d -v ~/minecraft_data:/data -p 25565:25565 -e TYPE=SPIGOT -e EULA=TRUE --name mc itzg/minecraft-server
#Plugin-Spezifikation-e MODS=http://hogehoge.com/plugin01.jar,http://hogehoge.com/plugin02.jar
#Startwertspezifikation-e SEED=7314490960418706833

Es startet schnell, aber Es sind zusätzliche Downloads, Biomgenerierung usw. erforderlich. Warten Sie ca. 3 Minuten (˘ω˘) Soo ...

Bestätigung starten

Starten Sie Minecraft und versuchen Sie, im Mehrspielermodus eine Verbindung mit "Direktverbindung" herzustellen.

Minecraft 1.16.3 2020_10_09 9_04_25_r.png

Minecraft 1.16.3 2020_10_09 9_04_13_r.png

Minecraft 1.16.3 2020_10_09 9_14_31_r.png

Überprüfen Sie die Verbindung.

Minecraft 1.16.3 - Multiplayer (3rd-party Server) 2020_10_09 15_32_31_r.png

Ich habe ein gutes Login (`・ ω ・ ´)

Eine andere Weltgeneration

Plug-In hinzufügen

Eine ausführliche Erläuterung des Plug-Ins wird später gegeben. Ich werde hier nur schreiben, was ich brauche.

$ docker stop mc
$ cd ~/minecraft_data/plugins
$ wget http://ci.onarandombox.com/job/Multiverse-Core/Release%20Build/artifact/target/Multiverse-Core-4.2.2.jar #Multi-World-Management
$ wget http://ci.onarandombox.com/job/Multiverse-Portals/Release%20Build/artifact/target/Multiverse-Portals-4.2.0.jar #Bewegen Sie sich zwischen den Welten
$ wget https://ci.lucko.me/job/LuckPerms/lastStableBuild/artifact/bukkit/build/libs/LuckPerms-Bukkit-5.1.107.jar #Plugin Berechtigungsverwaltung
$ docker start mc

(˘ω˘) Soo ...

(゚ д ゚) Hah!

Anpassung der Plug-in-Berechtigung

Wenn der Benutzername Dozo ist

$ docker exec -i mc rcon-cli
> lp user Dozo permission set luckperms.* true
> lp user Dozo permission set minecraft.command.* true
> lp user Dozo permission set multiverse.* true
> ^C (ctrl+c)

Keine Antwort von der Konsole, aber dies ist in Ordnung, solange der Benutzername korrekt ist

Melden Sie sich bei Micra an und führen Sie den folgenden Befehl aus

/gamerule doDaylightCycle false

Erfolg, wenn Sie es schaffen Dies ist ein Zeitstoppbefehl, der verhindert, dass die Nacht kommt und von Zombies während der Arbeit getötet wird

Weltgeneration

Jetzt, wo alles fertig ist, nennen wir es Weltgeneration. Es kann auf rcon-cli generiert werden, Ich fühle es nicht wirklich, also mache ich es auf Micra

/mv create asset NORMAL
Starting creation of world 'asset'...
Complete!

Dies schuf eine neue Welt namens Asset Bewegen ist der folgende Befehl

/mvtp asset

Wenn ich versuche, einen Nether zu erstellen und ihn zu verschieben

Minecraft 1.16.3 - Multiplayer (3rd-party Server) 2020_10_10 12_58_03_r.png

In Ordung! Es ist ein Erfolg! (`・ Ω ・ ´)


------------------- ↓ Klicken Sie hier für das Postskriptum ↓ -------------------

Plug-In-Einstellungen

Es gibt Plugins im Speicherverzeichnis, Indem Sie die vorgefertigte Plug-In-Datei (jar) hier ablegen Sie können Plugins hinzufügen Das ** Datenspeicherverzeichnis **, das am Anfang des Artikels ein wenig war, ist hier nützlich.

Der Fluss ist zu klonen und mit Maven zu bauen, Es ist einfacher und besser, das vorgefertigte direkt zu verwenden.

Der Schöpfer des Schreibstopfens scheint Jenkins veröffentlicht zu haben, Lassen Sie uns von dort ausleihen. Zu diesem Zeitpunkt erhalten Sie von *** Stable Build *** anstelle des neuesten Builds

Multiverse-Core [Jenkins] - Vivaldi 2020_10_09 12_43_58_rr.png

Multi-Welt

Multiverse

Multiverse was created at the dawn of Bukkit multiworld support. It has since then grown into a complete world management solution including special treatment of your nether worlds with Multiverse NetherPortals.

In the second delivery of Multiverse, we've broken it up into several smaller plugins that are each feature packed but not bloated! Multiverse provides the easiest to use world management solution for your Minecraft server, big or small, and with great addons like Portals and NetherPortals, what's not to love!

Multiverse is here and works for the latest server build! Is your server a Multiverse? https://dev.bukkit.org/projects/multiverse-core/

Ein Plug-In, das mehrere Server verwaltet. Sie können die Vorteile mehrerer Server nutzen, z. B. Welten erstellen, neu erstellen und zwischen Servern wechseln. Verschiedene Plug-Ins

Name Einzelheiten Jenkins URL
Multiverse-core Multi-Server-Kernsystem http://ci.onarandombox.com/view/Multiverse/job/Multiverse-Core/
Multiverse-Portals Erstellen Sie ein Portal für den Wechsel zwischen Servern http://ci.onarandombox.com/view/Multiverse/job/Multiverse-Portals/
Multiverse-NetherPortals Für den oben genannten Nether http://ci.onarandombox.com/view/Multiverse/job/Multiverse-NetherPortals/
Multiverse-Inventories Bestandsverwaltung zwischen Servern http://ci.onarandombox.com/view/Multiverse/job/Multiverse-Inventories/

Soll ich sie trotzdem alle reinstecken?

$ cd ~/minecraft_data/plugins
$ wget http://ci.onarandombox.com/job/Multiverse-Core/Release%20Build/artifact/target/Multiverse-Core-4.2.2.jar
$ wget http://ci.onarandombox.com/job/Multiverse-Portals/Release%20Build/artifact/target/Multiverse-Portals-4.2.0.jar
$ wget http://ci.onarandombox.com/job/Multiverse-NetherPortals/Release%20Build/artifact/target/Multiverse-NetherPortals-4.2.1.jar
$ wget http://ci.onarandombox.com/job/Multiverse-Inventories/Release%20Build/artifact/target/Multiverse-Inventories-4.2.1.jar

Klicken Sie hier für die Parameter der Weltgenerierung https://github.com/Multiverse/Multiverse-Core/wiki/World-properties

Der Befehl ist auf Micra oder RCON.

$  docker exec -i mc rcon-cli
> mvlist
§d====[ Multiverse World List ]====
§fworld§f§f - §aNORMAL
§fworld_the_end§f§f - §bTHE_END
§fworld_nether§f§f - §cNETHER

> mv create asset NORMAL
Starting creation of world 'asset'...
Complete!

> mv modify set weather false asset
§aSuccess!§f Property §bweather§f was set to §afalse

> mvrule doDaylightCycle false asset
§aSuccess!§f Gamerule §bdoDaylightCycle§f was set to §afalse§f.

> mv modify add creeper monsters asset
§aSuccess! §bcreeper§f was §cremoved from §amonsters

> mv create farm NORMAL -t FLAT
Starting creation of world 'farm'...
Complete!

> mv modify set gamemode creative farm
§aSuccess!§f Property §bgamemode§f was set to §acreative

> mv modify set difficulty hard farm
§aSuccess!§f Property §bdifficulty§f was set to §ahard

> mv modify set hunger false farm
§aSuccess!§f Property §bhunger§f was set to §afalse

Serververwaltung

LuckPerms

LuckPerms is a permissions plugin for Minecraft servers. It allows server admins to control what features players can use by creating groups and assigning permissions. https://luckperms.net

Plugin, das Serverberechtigungen usw. verwaltet.

Name Einzelheiten Jenkins URL
LuckPerms https://ci.lucko.me/job/LuckPerms/
$ cd ~/minecraft_data/plugins
$ wget https://ci.lucko.me/job/LuckPerms/lastStableBuild/artifact/bukkit/build/libs/LuckPerms-Bukkit-5.1.107.jar

Das LuckPerms-Plugin legt standardmäßig keinen Administrator fest Greifen Sie nach dem Neustart auf die Minecraft-Konsole zu und registrieren Sie sich als Benutzer. Wenn der Benutzername Dozo ist

$ docker restart mc
$ docker exec -i mc rcon-cli
> lp user Dozo permission set luckperms.* true
ctrl+C

Ich weiß nicht, ob es ein Fehler ist, aber es gibt keine Antwort, wenn ich ihn eingebe. Es funktioniert richtig. Stellen Sie eine Verbindung mit dem Client her, um den Vorgang zu überprüfen

/lp editor

Minecraft 1.16.3 - Multiplayer (3rd-party Server) 2020_10_09 20_50_45_r.png

Wenn Sie auf die angegebene URL klicken, um darauf zuzugreifen, werden Sie zur Änderung der Berechtigungen zur Web-Benutzeroberfläche weitergeleitet. Es können verschiedene Einstellungen vorgenommen werden. Im Moment ist es so, als würde man so viel einstellen und Feineinstellungen vornehmen.

Gruppenname Behörde
Admin minecraft.command.ban minecraft.command.pardon some.cool.admin.perm someplugin.vanish
Mod minecraft.command.mute minecraft.command.unmute some.cool.mod.perm chatcolor.bold
Default minecraft.command.say minecraft.command.me

Referenz: Using WSL2 in a Docker Linux container on Windows to run a Minecraft Java Edition

Recommended Posts

Richten Sie einen Minecraft-Ressourcenserver (Spigot) über Docker (2) ein.
Richten Sie einen Minecraft-Ressourcenserver (Spigot) über Docker ein
Richten Sie mit Docker einen Samba-Server ein
[Teil 1] Lassen Sie uns einen Micra-Server unter Linux einrichten
Richten Sie mit Twisted einen Mailserver ein
Richten Sie mit Python 3 einen einfachen HTTPS-Server ein
Richten Sie einen einfachen HTTPS-Server mit Asyncio ein
Richten Sie einen Test-SMTP-Server in Python ein.
Richten Sie einen UDP-Server in der Sprache C ein
Richten Sie einen lokalen Server mit Go-File-Download ein.
So richten Sie einen lokalen Entwicklungsserver ein
Richten Sie einen einfachen SMTP-Server in Python ein
Richten Sie einen einfachen lokalen Server auf Ihrem Mac ein
Richten Sie in 30 Minuten einen kostenlosen Server unter AWS ein
[Vagrant] Richten Sie einen einfachen API-Server mit Python ein
Richten Sie einen Webserver mit CentOS7 + Anaconda + Django + Apache ein
Erstellen eines Flask-Servers mit Docker
Senden Sie E-Mails mit mailx an einen mit Python eingerichteten Dummy-SMTP-Server.
Richten Sie mit http.server in Python 3 in 30 Sekunden einen lokalen Webserver ein
Richten Sie einen Server ein, der mehrere Verbindungen gleichzeitig verarbeitet
Starten Sie mit Docker einen einfachen Python-Webserver
Ich möchte mit swagger-codegen in Sekundenschnelle einen Mock-Server für Python-Flask einrichten.
Richten Sie mit samba einen Dateiserver mit ZeroPi von Friendly Arm ein [Gekaufte Artikel]
Richten Sie mit samba einen Dateiserver mit ZeroPi von Friendly Arm ein [Persönlicher Import]