You can use Docker or Podman to launch the container.
https://docs.docker.com/engine/install/ubuntu/
To make the process easier, you can install Docker Desktop.
sudo apt-get update
sudo apt-get -y install podmanAnother option is to install Podman Desktop:
https://podman-desktop.io/downloads
pip install podman-composepip install podman-compose --break-system-packagesCreate a folder for the files:
mkdir ~/MCserverInside the folder, create a compose.yaml file with the following content:
services:
mc:
image: itzg/minecraft-server
tty: true
stdin_open: true
ports:
- "25565:25565"
- "19132:19132/udp"
environment:
EULA: "TRUE"
MEMORY: "4096M"
VERSION: "1.21.5"
TYPE: "PAPER"
PAPER_CHANNEL: "experimental"
PLUGINS: |
https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot
https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot
volumes:
- ./data:/data VERSION: "1.21.5"
TYPE: "PAPER"
PAPER_CHANNEL: "experimental"
PLUGINS: |
https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot
https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot ports:
- "25565:25565"
- "19132:19132/udp"- Port
25565is for Java, and19132is for Bedrock. - The plugin for Bedrock is in experimental state:
PAPER_CHANNEL: "experimental"podman pull docker.io/itzg/minecraft-server:latestsudo cp -rfv MyWorld/* MCserver/data/world/
cd MCserver/data/world/
sudo rm -r session.lock
sudo chown -R 100999:100999 .cd ~/MCserver
podman-compose up- To stop:
Ctrl + C
Edit compose.yaml:
PLUGINS: |
/data/plugins/Geyser-Spigot.jar
/data/plugins/floodgate-spigot.jarFull file:
services:
mc:
image: itzg/minecraft-server
tty: true
stdin_open: true
ports:
- "25565:25565"
- "19132:19132/udp"
environment:
EULA: "TRUE"
MEMORY: "4096M"
VERSION: "1.21.5"
TYPE: "PAPER"
PAPER_CHANNEL: "experimental"
PLUGINS: |
/data/plugins/Geyser-Spigot.jar
/data/plugins/floodgate-spigot.jar
volumes:
- ./data:/dataStart in background:
podman-compose up -dpodman ps
podman logs -f mcserver_mc_1mkdir -p ~/.config/systemd/user/
cd ~/.config/systemd/user/
podman generate systemd --new --files --name mcserver_mc_1Edit container-mcserver_mc_1.service:
-e PLUGINS=/data/plugins/Geyser-Spigot.jar,/data/plugins/floodgate-spigot.jar \Start the service:
systemctl --user daemon-reload
systemctl --user enable container-mcserver_mc_1
systemctl --user start container-mcserver_mc_1
systemctl --user status container-mcserver_mc_1