diff --git a/.gitea/workflows/container.yaml b/.gitea/workflows/container.yaml new file mode 100644 index 0000000..e48b3fd --- /dev/null +++ b/.gitea/workflows/container.yaml @@ -0,0 +1,12 @@ +name: Build Multiarch Container Image +on: [push] +jobs: + call-reusable-workflow: + uses: container/multiarch-build-workflow/.gitea/workflows/build.yaml@main + with: + repository: ${{ gitea.repository }} + ref_name: ${{ gitea.ref_name }} + sha: ${{ gitea.sha }} + registry_url: ${{ secrets.REGISTRY_URL }} + registry_user: ${{ secrets.REGISTRY_USER }} + registry_pw: ${{ secrets.REGISTRY_PW }} diff --git a/.woodpecker.yml b/.woodpecker.yml deleted file mode 100644 index 5fcb4af..0000000 --- a/.woodpecker.yml +++ /dev/null @@ -1,11 +0,0 @@ -pipeline: - publish-docker-image: - image: plugins/kaniko - settings: - repo: docker.io/thallian/minecraft - tags: latest,${CI_COMMIT_SHA:0:8},${CI_COMMIT_TAG=pre} - dockerfile: Dockerfile - username: - from_secret: DOCKER_USER - password: - from_secret: DOCKER_PW \ No newline at end of file diff --git a/Dockerfile b/Containerfile similarity index 70% rename from Dockerfile rename to Containerfile index 42038d2..caf0e23 100644 --- a/Dockerfile +++ b/Containerfile @@ -1,19 +1,19 @@ -FROM docker.io/thallian/confd-env:3.18-3.1.5.0 +FROM docker.io/thallian/confd-env:3.19-3.1.6.2 RUN addgroup minecraft -g 2222 RUN adduser -u 2222 -h /var/lib/minecraft -D -G minecraft minecraft -ENV VERSION=1.20.1 -ENV SERIAL=18 -ENV SHA256_SUM=abbf1a52cb477619d347e06e17cd2cfa778b200d0f42164477a42e9fd13b8e0a +ENV VERSION=1.20.2 +ENV SERIAL=318 +ENV SHA256_SUM=ba340a835ac40b8563aa7eda1cd6479a11a7623409c89a2c35cd9d7490ed17a7 RUN wget -O /var/lib/minecraft/paper.jar \ - https://papermc.io/api/v2/projects/paper/versions/$VERSION/builds/$SERIAL/downloads/paper-$VERSION-$SERIAL.jar + https://papermc.io/api/v2/projects/paper/versions/$VERSION/builds/$SERIAL/downloads/paper-$VERSION-$SERIAL.jar RUN echo "$SHA256_SUM /var/lib/minecraft/paper.jar" | sha256sum -c - || exit 1 RUN apk add --no-cache \ openssl \ - openjdk17-jre-headless + openjdk21-jre-headless ADD /rootfs / diff --git a/README.md b/README.md index ab43466..7e2d5a4 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ -A [Minecraft](https://minecraft.net) server running on [Paper](https://papermc.io/). +A [Minecraft](https://minecraft.net) server running on +[Paper](https://papermc.io/). # Volumes + - `/var/lib/minecraft/plugins` - `/var/lib/minecraft/world` - `/var/lib/minecraft/world_nether` @@ -11,55 +13,71 @@ A [Minecraft](https://minecraft.net) server running on [Paper](https://papermc.i - `/var/lib/minecraft/banned-players.json` # Environment Variables + ## SERVER_NAME + The name of the server. ## MOTD + Message of the day. ## LEVEL_SEED -[Seed](http://minecraft.gamepedia.com/Seed_(level_generation)) for level generation. + +[Seed](http://minecraft.gamepedia.com/Seed_(level_generation)) for level +generation. ## BUKKIT_CONNECTION_THROTTLE + - default: 4000 -The delay before a client is allowed to connect again after a recent connection attempt in milliseconds. -`0` disables the limit. +The delay before a client is allowed to connect again after a recent connection +attempt in milliseconds. `0` disables the limit. ## OP_PERMISSION_LEVEL + - default: 4 One of: + - 1: Ops can bypass spawn protection. -- 2: Ops can use /clear, /difficulty, /effect, /gamemode, /gamerule, /give, and /tp, and can edit command blocks. +- 2: Ops can use /clear, /difficulty, /effect, /gamemode, /gamerule, /give, and + /tp, and can edit command blocks. - 3: Ops can use /ban, /deop, /kick, and /op. - 4: Ops can use /stop. ## ALLOW_NETHER + - default: true Whether players can travel to the Nether. ## ALLOW_FLIGHT + - default: false -Allows users to use flight on your server while in Survival mode, if they have a mod that provides flight installed. -No effect in Creative mode. +Allows users to use flight on your server while in Survival mode, if they have a +mod that provides flight installed. No effect in Creative mode. ## ANNOUNCE_PLAYER_ACHIEVEMENTS + - default: true Whether there is a server announcment when a player gets an achievement. ## MAX_WORLDSIZE + - default: 29999984 -This sets the maximum possible size in blocks, expressed as a radius, that the world border can obtain. +This sets the maximum possible size in blocks, expressed as a radius, that the +world border can obtain. ## LEVEL_TYPE + - default: DEFAULT One of: + - DEFAULT: Standard world with hills, valleys, water, etc. - FLAT: A flat world with no features, meant for building. - LARGEBIOMES: Same as default but all biomes are larger. @@ -67,105 +85,132 @@ One of: - CUSTOMIZED: Same as default unless generator-settings is set to a preset. ## MAX_BUILD_HEIGHT + - default: 256 -The maximum height in which building is allowed. Terrain may still naturally generate above a low height limit. +The maximum height in which building is allowed. Terrain may still naturally +generate above a low height limit. ## SPAWN_NPCS + - default: true Determines whether villagers will be spawned. ## SPAWN_ANIMALS + - default: true -Determines if [animals](http://minecraft.gamepedia.com/Mob#Passive) will be able to spawn. +Determines if [animals](http://minecraft.gamepedia.com/Mob#Passive) will be able +to spawn. ## SPAWN_MONSTERS + - default: true Determines if monsters will be spawned. ## GENERATE_STRUCTURES + - default: true -Defines whether [structures](http://minecraft.gamepedia.com/Generated_structures) will be generated. +Defines whether +[structures](http://minecraft.gamepedia.com/Generated_structures) will be +generated. ## WHITELIST + - default: false Whether the whitelist is used. ## HARDCORE + - default: false If set to true, players will be set to spectator mode if they die. ## PVP + - default: true Whether PvP is enabled. ## DIFFICULTY + - default: 2 -Defines the [difficulty](http://minecraft.gamepedia.com/Difficulty) of the server. +Defines the [difficulty](http://minecraft.gamepedia.com/Difficulty) of the +server. One of: + - 0: Peaceful - 1: Easy - 2: Normal - 3: Hard ## GAMEMODE + - default: 0 -Defines the [mode of gameplay](http://minecraft.gamepedia.com/Gameplay#Game_modes). +Defines the +[mode of gameplay](http://minecraft.gamepedia.com/Gameplay#Game_modes). One of: + - 0: Survival - 1: Creative - 2: Adventure - 3: Spectator ## ONLINE_MODE + - default: true -Whether to authenticate players with the mojang database. Disable it when running behind bungeecord. +Whether to authenticate players with the mojang database. Disable it when +running behind bungeecord. ## PLAYER_IDLE_TIMEOUT + - default: 0 -If non-zero, players are kicked from the server if they are idle for more than that many minutes. +If non-zero, players are kicked from the server if they are idle for more than +that many minutes. ## MAX_PLAYERS + - default: 20 The maximum number of players that can play on the server at the same time. ## VIEW_DISTANCE + - default: 10 -Sets the amount of world data the server sends the client, measured in chunks in each direction of the player (radius, not diameter). +Sets the amount of world data the server sends the client, measured in chunks in +each direction of the player (radius, not diameter). ## BUNGEECORD + - default: false Whether the server runs behind a bungeecord instance. ## MIN_RAM -- default: 512M -Minimal heapsize for the jvm. + +- default: 512M Minimal heapsize for the jvm. ## MAX_RAM -- default: 512M -Maximal heapsize for the jvm. + +- default: 512M Maximal heapsize for the jvm. # Ports + - 25565 # Capabilities -- CHOWN + - DAC_OVERRIDE - FOWNER - NET_BIND_SERVICE