From 3b25daadebede52003d26006c5fe46c1b0c63664 Mon Sep 17 00:00:00 2001 From: Eric Falsett Date: Tue, 19 May 2026 16:28:04 +0200 Subject: [PATCH 01/13] feat: started upgrading for mc 26.1.2 --- .env.dist | 16 +-- docker-compose.yaml | 144 ++++++++++--------- proxy/velocity/config/.gitignore | 1 + proxy/velocity/config/forwarding copy.dist | 1 + proxy/velocity/config/velocity.toml | 2 +- proxy/velocity/plugins/rocketjoin/config.yml | 4 +- 6 files changed, 87 insertions(+), 81 deletions(-) create mode 100644 proxy/velocity/config/.gitignore create mode 100644 proxy/velocity/config/forwarding copy.dist diff --git a/.env.dist b/.env.dist index 295befa..57b09d3 100644 --- a/.env.dist +++ b/.env.dist @@ -1,11 +1,11 @@ # GLOBAL SERVER ################################################## -BASE_DIR=/data/compose/minecraft +BASE_DIR=/opt/docker/minecraft BASE_TIMEZONE=Europe/Berlin SERVER_TYPE=FABRIC -SERVER_MC_VERSION="1.20.1" -SERVER_NAME=1201-network +SERVER_MC_VERSION="26.1.2" +SERVER_NAME=26_1_2-network SERVER_MOTD="§4[WARNING]§r Please connect to the correct server." SERVER_VIEW_DISTANCE=14 # For the CF_API_KEY >> every '$' has to be escaped with another '$' character !!! @@ -49,8 +49,8 @@ MC_SMP_MAX_PLAYERS=10 MC_SMP_DIFFICULTY=normal MC_SMP_RCON_PASSWORD=CHANGE-ME MC_SMP_RCON_PORT=25575 -MC_SMP_DATAPACKS="https://github.com/WaldiNet/Towers_Of_The_Wild_Reworked/releases/download/v4.2.1/Towers_Of_The_Wild_Reworked_v4.2.1_Fabric_Waystones.zip, https://cdn.modrinth.com/data/yID404Mu/versions/BBiCd6GO/scorched-v1.1.3b.zip, https://cdn.modrinth.com/data/HQsBdHGd/versions/ohkYIBHw/Ender%20Dragon%20Fight%20Remastered%20Data%20And%20Resource%20Pack-v4.3.zip" -MC_SMP_MODRINTH_PROJECTS="fabric-api:pYtlDijL, mysql-jdbc:94JxXm7O, luckperms:7PNj6nCm, amplified-nether:QXFvBT1u, appleskin:CxnVG86Y, architectury-api:Sbew3kXe, chunky:t8SbUchF, dynmap:vqx7tUUt, fabric-seasons:uMEzKato, fwaystones:wNz9DqWv, fabricproxy-lite:XJmDAnj5, lithium:ZSNsJrPI, nullscape:O0uQyKki, rei:kq4TOe4i, simple-voice-chat:I0UEW6B0, travelersbackpack:XFdxMe7g, trinkets:e563ycts" +MC_SMP_DATAPACKS= +MC_SMP_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, amplified-nether:rp2A0tDf, appleskin:HwaLJe3v, architectury-api:Sbew3kXe, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW, nullscape:E4kh5rGD, midnightlib:jcj4Ev6D, repurposed-structures-fabric:Jvol4Hh2, terralith:FCzSjHeG, travelersbackpack:XFdxMe7g, trinkets:e563ycts" MC_SMP_CURSEFORGE_FILES="worldedit:4586218" MC_SMP_SPIGET_RESOURCES= @@ -64,8 +64,8 @@ MC_EXPEDITION_MAX_PLAYERS=10 MC_EXPEDITION_DIFFICULTY=normal MC_EXPEDITION_RCON_PASSWORD=CHANGE-ME MC_EXPEDITION_RCON_PORT=25580 -MC_EXPEDITION_DATAPACKS="https://github.com/WaldiNet/Towers_Of_The_Wild_Reworked/releases/download/v4.2.1/Towers_Of_The_Wild_Reworked_v4.2.1_Fabric_Waystones.zip, https://cdn.modrinth.com/data/yID404Mu/versions/BBiCd6GO/scorched-v1.1.3b.zip, https://cdn.modrinth.com/data/HQsBdHGd/versions/ohkYIBHw/Ender%20Dragon%20Fight%20Remastered%20Data%20And%20Resource%20Pack-v4.3.zip" -MC_EXPEDITION_MODRINTH_PROJECTS="fabric-api:pYtlDijL, luckperms:7PNj6nCm, amplified-nether:QXFvBT1u, appleskin:CxnVG86Y, architectury-api:Sbew3kXe, chunky:t8SbUchF, dynmap:vqx7tUUt, fabric-seasons:uMEzKato, fwaystones:wNz9DqWv, fabricproxy-lite:XJmDAnj5, lithium:ZSNsJrPI, midnightlib:YXz8kIQl, nullscape:O0uQyKki, oxidizing-lightning-rods:zaW5MOC0, rei:kq4TOe4i, repurposed-structures-fabric:UUsn75P9, simple-voice-chat:I0UEW6B0, terralith:hYoo0DKV, travelersbackpack:XFdxMe7g, trinkets:e563ycts" +MC_EXPEDITION_DATAPACKS= +MC_EXPEDITION_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, amplified-nether:rp2A0tDf, appleskin:HwaLJe3v, architectury-api:Sbew3kXe, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW, nullscape:E4kh5rGD, midnightlib:jcj4Ev6D, repurposed-structures-fabric:Jvol4Hh2, terralith:FCzSjHeG, travelersbackpack:XFdxMe7g, trinkets:e563ycts" MC_EXPEDITION_CURSEFORGE_FILES="worldedit:4586218" MC_EXPEDITION_SPIGET_RESOURCES= @@ -79,7 +79,7 @@ MC_TESTING_MAX_PLAYERS=10 MC_TESTING_RCON_PORT=25581 MC_TESTING_RCON_PASSWORD=CHANGE-ME MC_TESTING_DATAPACKS= -MC_TESTING_MODRINTH_PROJECTS="fabric-api:pYtlDijL, luckperms:7PNj6nCm, architectury-api:Sbew3kXe, chunky:t8SbUchF, dynmap:vqx7tUUt, fwaystones:wNz9DqWv, fabricproxy-lite:XJmDAnj5, lithium:ZSNsJrPI, rei:kq4TOe4i, simple-voice-chat:I0UEW6B0" +MC_TESTING_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, architectury-api:Sbew3kXe, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW" MC_TESTING_CURSEFORGE_FILES="worldedit:4586218" MC_TESTING_SPIGET_RESOURCES= diff --git a/docker-compose.yaml b/docker-compose.yaml index 6e69ec0..8633ff6 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,4 +1,8 @@ -version: "3.8" +x-arcane: + icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/minecraft.svg + urls: + - https://github.com/WaldiNet/minecraft-network + services: # https://github.com/itzg/docker-bungeecord/ @@ -19,8 +23,8 @@ services: - ${BASE_DIR}/${SERVER_NAME}/proxy/${PROXY_TYPE}/plugins:/plugins - ${BASE_DIR}/${SERVER_NAME}/proxy/${PROXY_TYPE}/config:/config labels: - com.centurylinklabs.watchtower.enable: "false" - com.centurylinklabs.watchtower.monitor-only: "true" + #com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/minecraft.svg + com.getarcaneapp.arcane.updater: false # https://docker-minecraft-server.readthedocs.io/ server-smp: @@ -72,8 +76,8 @@ services: - ${BASE_DIR}/${SERVER_NAME}/server/${MC_SMP_NAME}/data:/data - ${BASE_DIR}/${SERVER_NAME}/server/${MC_SMP_NAME}/mods:/mods:ro labels: - com.centurylinklabs.watchtower.enable: "false" - com.centurylinklabs.watchtower.monitor-only: "true" + com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/minecraft.svg + com.getarcaneapp.arcane.updater: false # https://docker-minecraft-server.readthedocs.io/ server-expedition: @@ -125,8 +129,8 @@ services: - ${BASE_DIR}/${SERVER_NAME}/server/${MC_EXPEDITION_NAME}/data:/data - ${BASE_DIR}/${SERVER_NAME}/server/${MC_EXPEDITION_NAME}/mods:/mods:ro labels: - com.centurylinklabs.watchtower.enable: "false" - com.centurylinklabs.watchtower.monitor-only: "true" + com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/minecraft.svg + com.getarcaneapp.arcane.updater: false # https://docker-minecraft-server.readthedocs.io/ server-testing: @@ -183,8 +187,8 @@ services: - ${BASE_DIR}/${SERVER_NAME}/server/${MC_TESTING_NAME}/data:/data - ${BASE_DIR}/${SERVER_NAME}/server/${MC_TESTING_NAME}/mods:/mods:ro labels: - com.centurylinklabs.watchtower.enable: "false" - com.centurylinklabs.watchtower.monitor-only: "true" + com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/minecraft.svg + com.getarcaneapp.arcane.updater: false # https://github.com/itzg/docker-mc-backup backup-smp: @@ -208,8 +212,8 @@ services: - ${BASE_DIR}/${SERVER_NAME}/backups/server/${MC_SMP_NAME}:/backups - ${BASE_DIR}/${SERVER_NAME}/server/${MC_SMP_NAME}:/data labels: - com.centurylinklabs.watchtower.enable: "false" - com.centurylinklabs.watchtower.monitor-only: "true" + #com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/minecraft.svg + com.getarcaneapp.arcane.updater: false # https://github.com/itzg/docker-mc-backup backup-expedition: @@ -233,8 +237,8 @@ services: - ${BASE_DIR}/${SERVER_NAME}/backups/server/${MC_EXPEDITION_NAME}:/backups - ${BASE_DIR}/${SERVER_NAME}/server/${MC_EXPEDITION_NAME}:/data labels: - com.centurylinklabs.watchtower.enable: "false" - com.centurylinklabs.watchtower.monitor-only: "true" + #com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/minecraft.svg + com.getarcaneapp.arcane.updater: false # https://github.com/itzg/docker-mc-backup backup-testing: @@ -258,68 +262,68 @@ services: - ${BASE_DIR}/${SERVER_NAME}/backups/server/${MC_TESTING_NAME}:/backups - ${BASE_DIR}/${SERVER_NAME}/server/${MC_TESTING_NAME}:/data labels: - com.centurylinklabs.watchtower.enable: "false" - com.centurylinklabs.watchtower.monitor-only: "true" + #com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/minecraft.svg + com.getarcaneapp.arcane.updater: false # Dynmap => https://github.com/webbukkit/dynmap/wiki/External-Webserver-Basics # LiveAtlas => https://github.com/JLyne/LiveAtlas/wiki/Configuring-Multiple-Servers - service-nginx: - image: nginx:1.25-alpine - container_name: mc-service-nginx - restart: unless-stopped - ports: - - ${NGINX_PORT:-80}:80 - volumes: - - /etc/localtime:/etc/localtime:ro - - ${BASE_DIR}/${SERVER_NAME}/.docker/nginx/conf.d/:/etc/nginx/conf.d/ - - ${BASE_DIR}/${SERVER_NAME}/services/nginx/www:/var/www - - ${BASE_DIR}/${SERVER_NAME}/services/nginx/logs:/var/log/nginx - # Dynmap => SMP - - ${BASE_DIR}/${SERVER_NAME}/server/${MC_SMP_NAME}/data/dynmap/web/standalone:/var/www/maps/${MC_SMP_NAME}/standalone - - ${BASE_DIR}/${SERVER_NAME}/server/${MC_SMP_NAME}/data/dynmap/web/tiles:/var/www/maps/${MC_SMP_NAME}/tiles - # Dynmap => Expedition - - ${BASE_DIR}/${SERVER_NAME}/server/${MC_EXPEDITION_NAME}/data/dynmap/web/standalone:/var/www/maps/${MC_EXPEDITION_NAME}/standalone - - ${BASE_DIR}/${SERVER_NAME}/server/${MC_EXPEDITION_NAME}/data/dynmap/web/tiles:/var/www/maps/${MC_EXPEDITION_NAME}/tiles - # Dynmap => Testing - - ${BASE_DIR}/${SERVER_NAME}/server/${MC_TESTING_NAME}/data/dynmap/web/standalone:/var/www/maps/${MC_TESTING_NAME}/standalone - - ${BASE_DIR}/${SERVER_NAME}/server/${MC_TESTING_NAME}/data/dynmap/web/tiles:/var/www/maps/${MC_TESTING_NAME}/tiles - labels: - com.centurylinklabs.watchtower.enable: "false" - com.centurylinklabs.watchtower.monitor-only: "true" + # service-nginx: + # image: nginx:1.25-alpine + # container_name: mc-service-nginx + # restart: unless-stopped + # ports: + # - ${NGINX_PORT:-80}:80 + # volumes: + # - /etc/localtime:/etc/localtime:ro + # - ${BASE_DIR}/${SERVER_NAME}/.docker/nginx/conf.d/:/etc/nginx/conf.d/ + # - ${BASE_DIR}/${SERVER_NAME}/services/nginx/www:/var/www + # - ${BASE_DIR}/${SERVER_NAME}/services/nginx/logs:/var/log/nginx + # # Dynmap => SMP + # - ${BASE_DIR}/${SERVER_NAME}/server/${MC_SMP_NAME}/data/dynmap/web/standalone:/var/www/maps/${MC_SMP_NAME}/standalone + # - ${BASE_DIR}/${SERVER_NAME}/server/${MC_SMP_NAME}/data/dynmap/web/tiles:/var/www/maps/${MC_SMP_NAME}/tiles + # # Dynmap => Expedition + # - ${BASE_DIR}/${SERVER_NAME}/server/${MC_EXPEDITION_NAME}/data/dynmap/web/standalone:/var/www/maps/${MC_EXPEDITION_NAME}/standalone + # - ${BASE_DIR}/${SERVER_NAME}/server/${MC_EXPEDITION_NAME}/data/dynmap/web/tiles:/var/www/maps/${MC_EXPEDITION_NAME}/tiles + # # Dynmap => Testing + # - ${BASE_DIR}/${SERVER_NAME}/server/${MC_TESTING_NAME}/data/dynmap/web/standalone:/var/www/maps/${MC_TESTING_NAME}/standalone + # - ${BASE_DIR}/${SERVER_NAME}/server/${MC_TESTING_NAME}/data/dynmap/web/tiles:/var/www/maps/${MC_TESTING_NAME}/tiles + # labels: + # com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/nginx.svg + # com.getarcaneapp.arcane.updater: false # Needed for dynmap serving - service-php-fpm: - image: php:8.2-fpm-alpine - container_name: mc-service-php - restart: unless-stopped - ports: - - ${PHP_PORT:-9000}:9000 - volumes: - - /etc/timezone:/etc/timezone:ro - - ${BASE_DIR}/${SERVER_NAME}/services/nginx/www:/var/www - labels: - com.centurylinklabs.watchtower.enable: "true" - com.centurylinklabs.watchtower.monitor-only: "false" + # service-php-fpm: + # image: php:8.2-fpm-alpine + # container_name: mc-service-php + # restart: unless-stopped + # ports: + # - ${PHP_PORT:-9000}:9000 + # volumes: + # - /etc/timezone:/etc/timezone:ro + # - ${BASE_DIR}/${SERVER_NAME}/services/nginx/www:/var/www + # labels: + # #com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/nginx.svg + # com.getarcaneapp.arcane.updater: false # Dynmap => https://github.com/webbukkit/dynmap/wiki/%5BTutorial%5D-Setting-up-a-standalone-web-server-with-MySQL-SQLite/ - service-mysql: - image: mysql:8.1 - container_name: mc-service-mysql - restart: unless-stopped - command: [ '--authentication_policy=mysql_native_password' ] - ports: - - ${DB_PORT:-3306}:3306 - environment: - MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} - MYSQL_USER: ${DB_USER} - MYSQL_PASSWORD: ${DB_PASSWORD} - volumes: - - /etc/localtime:/etc/localtime:ro - - ${BASE_DIR}/${SERVER_NAME}/.docker/mysql/init:/docker-entrypoint-initdb.d - - ${BASE_DIR}/${SERVER_NAME}/services/mysql:/var/lib/mysql - labels: - com.centurylinklabs.watchtower.enable: "false" - com.centurylinklabs.watchtower.monitor-only: "true" + # service-mysql: + # image: mysql:8.1 + # container_name: mc-service-mysql + # restart: unless-stopped + # command: [ '--authentication_policy=mysql_native_password' ] + # ports: + # - ${DB_PORT:-3306}:3306 + # environment: + # MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} + # MYSQL_USER: ${DB_USER} + # MYSQL_PASSWORD: ${DB_PASSWORD} + # volumes: + # - /etc/localtime:/etc/localtime:ro + # - ${BASE_DIR}/${SERVER_NAME}/.docker/mysql/init:/docker-entrypoint-initdb.d + # - ${BASE_DIR}/${SERVER_NAME}/services/mysql:/var/lib/mysql + # labels: + # #com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/nginx.svg + # com.getarcaneapp.arcane.updater: false # service-redis: # image: redis:7.2-alpine @@ -353,5 +357,5 @@ services: - ${BASE_DIR}/${SERVER_NAME}/services/code-server/config:/config - ${BASE_DIR}/${SERVER_NAME}:/config/workspace labels: - com.centurylinklabs.watchtower.enable: "true" - com.centurylinklabs.watchtower.monitor-only: "false" + com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/visual-studio-code.svg + com.getarcaneapp.arcane.updater: false diff --git a/proxy/velocity/config/.gitignore b/proxy/velocity/config/.gitignore new file mode 100644 index 0000000..11b60b6 --- /dev/null +++ b/proxy/velocity/config/.gitignore @@ -0,0 +1 @@ +forward.secret \ No newline at end of file diff --git a/proxy/velocity/config/forwarding copy.dist b/proxy/velocity/config/forwarding copy.dist new file mode 100644 index 0000000..21c9a34 --- /dev/null +++ b/proxy/velocity/config/forwarding copy.dist @@ -0,0 +1 @@ +PAST YOUR SECRET HERE \ No newline at end of file diff --git a/proxy/velocity/config/velocity.toml b/proxy/velocity/config/velocity.toml index 5171d37..1db3119 100644 --- a/proxy/velocity/config/velocity.toml +++ b/proxy/velocity/config/velocity.toml @@ -7,7 +7,7 @@ bind = "0.0.0.0:25577" # What should be the MOTD? This gets displayed when the player adds your server to # their server list. Only MiniMessage format is accepted. # https://webui.advntr.dev/?mode=chat_closed&input=%3Cdark_green%3EWaldiCraft%3C%2Fdark_green%3E%20%7C%20%3Cred%3ESurvival%201.20.1%3C%2Fred%3E%20%7C%20Fabric&bg=grass -motd = "WaldiCraft | Survival 1.20.1 | Fabric" +motd = "WaldiCraft | Survival 26.1.2 | Fabric" # What should we display for the maximum number of players? (Velocity does not support a cap # on the number of players online.) diff --git a/proxy/velocity/plugins/rocketjoin/config.yml b/proxy/velocity/plugins/rocketjoin/config.yml index 3e0f106..d20793d 100644 --- a/proxy/velocity/plugins/rocketjoin/config.yml +++ b/proxy/velocity/plugins/rocketjoin/config.yml @@ -78,8 +78,8 @@ conditions: # Set to "disable" to disable this feature # welcome: "disable" welcome: "\n======== Welcome to WaldiCraft ========\n -* Dynamic Map\n -* Server Status\n +* Dynamic Map\n +* Server Status\n * Dynmap Marker Command\n\n You can also switch between worlds! Just type...\n * /waldicraft\n From c6301a239ea0abc7ff1993380451980c594dae21 Mon Sep 17 00:00:00 2001 From: Eric Falsett <38140317+xPand4B@users.noreply.github.com> Date: Tue, 19 May 2026 19:14:00 +0200 Subject: [PATCH 02/13] feat: updated more stuff --- .env.dist | 15 +++++---------- docker-compose.yaml | 14 +++++++------- proxy/plugins.txt | 9 +++++++++ proxy/velocity/config/.gitignore | 1 - proxy/velocity/config/forwarding copy.dist | 1 - proxy/velocity/plugins/rocketjoin/config.yml | 2 +- 6 files changed, 22 insertions(+), 20 deletions(-) create mode 100644 proxy/plugins.txt delete mode 100644 proxy/velocity/config/.gitignore delete mode 100644 proxy/velocity/config/forwarding copy.dist diff --git a/.env.dist b/.env.dist index 57b09d3..39796a2 100644 --- a/.env.dist +++ b/.env.dist @@ -23,6 +23,7 @@ DB_PASSWORD=CHANGE-ME REDIS_PORT=6379 REDIS_PASSWORD=CHANGE-ME +SERVICE_VSCODE_PORT=8443 SERVICE_VSCODE_PASSWORD=CHANGE-ME SERVICE_VSCODE_SUDO_PASSWORD=CHANGE-ME SERVICE_VSCODE_PROXY_DOMAIN=mcdev.waldinet.de @@ -31,13 +32,7 @@ SERVICE_VSCODE_PROXY_DOMAIN=mcdev.waldinet.de ################################################## PROXY_TYPE=velocity PROXY_PORT=1337 -PROXY_PLUGINS="https://github.com/Lorenzo0111/RocketJoin/releases/download/2.4.1/RocketJoin-velocity-2.4.1.jar" -# https://cdn-raw.modrinth.com/data/16vhQOQN/versions/OQpVrXXW/minimotd-velocity-2.0.13.jar -# https://ci.dmulloy2.net/job/ProtocolLib/668/artifact/build/libs/ProtocolLib.ja -# https://github.com/oddlama/vane/releases/download/v1.12.3/vane-velocity-1.12.3.jar -# https://github.com/oddlama/vane/releases/download/v1.12.3/vane-core-1.12.3.jar -# https://github.com/oddlama/vane/releases/download/v1.12.3/vane-enchantments-1.12.3.jar -# https://github.com/oddlama/vane/releases/download/v1.12.3/vane-trifles-1.12.3.jar +PLUGINS_FILE="/proxy/plugins.txt" # SERVER - SMP ################################################## @@ -51,7 +46,7 @@ MC_SMP_RCON_PASSWORD=CHANGE-ME MC_SMP_RCON_PORT=25575 MC_SMP_DATAPACKS= MC_SMP_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, amplified-nether:rp2A0tDf, appleskin:HwaLJe3v, architectury-api:Sbew3kXe, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW, nullscape:E4kh5rGD, midnightlib:jcj4Ev6D, repurposed-structures-fabric:Jvol4Hh2, terralith:FCzSjHeG, travelersbackpack:XFdxMe7g, trinkets:e563ycts" -MC_SMP_CURSEFORGE_FILES="worldedit:4586218" +MC_SMP_CURSEFORGE_FILES="worldedit:8037379" MC_SMP_SPIGET_RESOURCES= # SERVER - EXPEDITION @@ -66,7 +61,7 @@ MC_EXPEDITION_RCON_PASSWORD=CHANGE-ME MC_EXPEDITION_RCON_PORT=25580 MC_EXPEDITION_DATAPACKS= MC_EXPEDITION_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, amplified-nether:rp2A0tDf, appleskin:HwaLJe3v, architectury-api:Sbew3kXe, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW, nullscape:E4kh5rGD, midnightlib:jcj4Ev6D, repurposed-structures-fabric:Jvol4Hh2, terralith:FCzSjHeG, travelersbackpack:XFdxMe7g, trinkets:e563ycts" -MC_EXPEDITION_CURSEFORGE_FILES="worldedit:4586218" +MC_EXPEDITION_CURSEFORGE_FILES="worldedit:8037379" MC_EXPEDITION_SPIGET_RESOURCES= # SERVER - TESTING @@ -80,7 +75,7 @@ MC_TESTING_RCON_PORT=25581 MC_TESTING_RCON_PASSWORD=CHANGE-ME MC_TESTING_DATAPACKS= MC_TESTING_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, architectury-api:Sbew3kXe, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW" -MC_TESTING_CURSEFORGE_FILES="worldedit:4586218" +MC_TESTING_CURSEFORGE_FILES="worldedit:8037379" MC_TESTING_SPIGET_RESOURCES= # MODS diff --git a/docker-compose.yaml b/docker-compose.yaml index 8633ff6..53ee691 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -7,7 +7,7 @@ x-arcane: services: # https://github.com/itzg/docker-bungeecord/ proxy: - image: itzg/bungeecord:java17 + image: itzg/bungeecord:java25 container_name: mc-proxy restart: unless-stopped ports: @@ -16,19 +16,19 @@ services: TYPE: ${PROXY_TYPE} DEBUG: "false" ENABLE_RCON: "true" - PLUGINS: ${PROXY_PLUGINS} + PLUGINS_FILE: ${PLUGINS_FILE} volumes: - /etc/timezone:/etc/timezone:ro - ${BASE_DIR}/${SERVER_NAME}/proxy/${PROXY_TYPE}/server:/server - ${BASE_DIR}/${SERVER_NAME}/proxy/${PROXY_TYPE}/plugins:/plugins - ${BASE_DIR}/${SERVER_NAME}/proxy/${PROXY_TYPE}/config:/config labels: - #com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/minecraft.svg + com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/papermc-velocity.svg com.getarcaneapp.arcane.updater: false # https://docker-minecraft-server.readthedocs.io/ server-smp: - image: itzg/minecraft-server:java20-alpine + image: itzg/minecraft-server:java25-alpine container_name: mc-server-smp restart: unless-stopped ports: @@ -81,7 +81,7 @@ services: # https://docker-minecraft-server.readthedocs.io/ server-expedition: - image: itzg/minecraft-server:java20-alpine + image: itzg/minecraft-server:java25-alpine container_name: mc-server-expedition restart: unless-stopped ports: @@ -134,7 +134,7 @@ services: # https://docker-minecraft-server.readthedocs.io/ server-testing: - image: itzg/minecraft-server:java20-alpine + image: itzg/minecraft-server:java25-alpine container_name: mc-server-testing restart: unless-stopped ports: @@ -344,7 +344,7 @@ services: container_name: service-code-server restart: unless-stopped ports: - - 8443:8443 + - ${SERVICE_VSCODE_PORT:-8443}:8443 environment: PUID: 1000 PGID: 1000 diff --git a/proxy/plugins.txt b/proxy/plugins.txt new file mode 100644 index 0000000..884698e --- /dev/null +++ b/proxy/plugins.txt @@ -0,0 +1,9 @@ +# https://github.com/Lorenzo0111/RocketJoin +https://github.com/Lorenzo0111/RocketJoin/releases/download/2.5/RocketJoin-velocity-2.5.jar + +# https://cdn-raw.modrinth.com/data/16vhQOQN/versions/OQpVrXXW/minimotd-velocity-2.0.13.jar +# https://ci.dmulloy2.net/job/ProtocolLib/668/artifact/build/libs/ProtocolLib.ja +# https://github.com/oddlama/vane/releases/download/v1.12.3/vane-velocity-1.12.3.jar +# https://github.com/oddlama/vane/releases/download/v1.12.3/vane-core-1.12.3.jar +# https://github.com/oddlama/vane/releases/download/v1.12.3/vane-enchantments-1.12.3.jar +# https://github.com/oddlama/vane/releases/download/v1.12.3/vane-trifles-1.12.3.jar \ No newline at end of file diff --git a/proxy/velocity/config/.gitignore b/proxy/velocity/config/.gitignore deleted file mode 100644 index 11b60b6..0000000 --- a/proxy/velocity/config/.gitignore +++ /dev/null @@ -1 +0,0 @@ -forward.secret \ No newline at end of file diff --git a/proxy/velocity/config/forwarding copy.dist b/proxy/velocity/config/forwarding copy.dist deleted file mode 100644 index 21c9a34..0000000 --- a/proxy/velocity/config/forwarding copy.dist +++ /dev/null @@ -1 +0,0 @@ -PAST YOUR SECRET HERE \ No newline at end of file diff --git a/proxy/velocity/plugins/rocketjoin/config.yml b/proxy/velocity/plugins/rocketjoin/config.yml index d20793d..42a2584 100644 --- a/proxy/velocity/plugins/rocketjoin/config.yml +++ b/proxy/velocity/plugins/rocketjoin/config.yml @@ -6,7 +6,7 @@ # |_| \_\___/ \___|_|\_\___|\__| \____/ \___/|_|_| |_| # Do not change these values -config-version: 2.4 +config-version: 2.5 already-asked: false # WARNING: If this plugin is running on bungeecord or velocity please read https://wiki.lorenzo0111.me/rocketjoin/bungeecord From 8ca470ab13f74edf68dc11cf38eebfc697d54e76 Mon Sep 17 00:00:00 2001 From: Eric Falsett <38140317+xPand4B@users.noreply.github.com> Date: Tue, 19 May 2026 19:43:04 +0200 Subject: [PATCH 03/13] feat: updated vanilla tweaks datapacks --- server/expedition/config/vt-craftingtweaks.json | 2 +- server/expedition/config/vt-datapacks.json | 2 +- server/testing/config/vt-craftingtweaks.json | 2 +- server/testing/config/vt-datapacks.json | 2 +- server/waldicraft/config/vt-craftingtweaks.json | 2 +- server/waldicraft/config/vt-datapacks.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/server/expedition/config/vt-craftingtweaks.json b/server/expedition/config/vt-craftingtweaks.json index d7b1e03..d408190 100644 --- a/server/expedition/config/vt-craftingtweaks.json +++ b/server/expedition/config/vt-craftingtweaks.json @@ -1,6 +1,6 @@ { "type": "craftingtweaks", - "version": "1.20", + "version": "26.01", "packs": { "quality of life": [ "rotten flesh to leather", diff --git a/server/expedition/config/vt-datapacks.json b/server/expedition/config/vt-datapacks.json index 36f059a..472f46c 100644 --- a/server/expedition/config/vt-datapacks.json +++ b/server/expedition/config/vt-datapacks.json @@ -1,6 +1,6 @@ { "type": "datapacks", - "version": "1.20", + "version": "26.1", "packs": { "survival": [ "armor status", diff --git a/server/testing/config/vt-craftingtweaks.json b/server/testing/config/vt-craftingtweaks.json index d7b1e03..8972471 100644 --- a/server/testing/config/vt-craftingtweaks.json +++ b/server/testing/config/vt-craftingtweaks.json @@ -1,6 +1,6 @@ { "type": "craftingtweaks", - "version": "1.20", + "version": "26.1", "packs": { "quality of life": [ "rotten flesh to leather", diff --git a/server/testing/config/vt-datapacks.json b/server/testing/config/vt-datapacks.json index 36f059a..472f46c 100644 --- a/server/testing/config/vt-datapacks.json +++ b/server/testing/config/vt-datapacks.json @@ -1,6 +1,6 @@ { "type": "datapacks", - "version": "1.20", + "version": "26.1", "packs": { "survival": [ "armor status", diff --git a/server/waldicraft/config/vt-craftingtweaks.json b/server/waldicraft/config/vt-craftingtweaks.json index d7b1e03..8972471 100644 --- a/server/waldicraft/config/vt-craftingtweaks.json +++ b/server/waldicraft/config/vt-craftingtweaks.json @@ -1,6 +1,6 @@ { "type": "craftingtweaks", - "version": "1.20", + "version": "26.1", "packs": { "quality of life": [ "rotten flesh to leather", diff --git a/server/waldicraft/config/vt-datapacks.json b/server/waldicraft/config/vt-datapacks.json index 36f059a..472f46c 100644 --- a/server/waldicraft/config/vt-datapacks.json +++ b/server/waldicraft/config/vt-datapacks.json @@ -1,6 +1,6 @@ { "type": "datapacks", - "version": "1.20", + "version": "26.1", "packs": { "survival": [ "armor status", From c0f6afdb259e3845a5611830160ebb8e1e97cd49 Mon Sep 17 00:00:00 2001 From: Eric Falsett <38140317+xPand4B@users.noreply.github.com> Date: Tue, 19 May 2026 19:46:25 +0200 Subject: [PATCH 04/13] feat: fix proxy plugins --- .env.dist | 8 +++++++- docker-compose.yaml | 2 +- proxy/plugins.txt | 9 --------- 3 files changed, 8 insertions(+), 11 deletions(-) delete mode 100644 proxy/plugins.txt diff --git a/.env.dist b/.env.dist index 39796a2..82bd001 100644 --- a/.env.dist +++ b/.env.dist @@ -32,7 +32,13 @@ SERVICE_VSCODE_PROXY_DOMAIN=mcdev.waldinet.de ################################################## PROXY_TYPE=velocity PROXY_PORT=1337 -PLUGINS_FILE="/proxy/plugins.txt" +PROXY_PLUGINS="https://github.com/Lorenzo0111/RocketJoin/releases/download/2.5/RocketJoin-velocity-2.5.jar" +# https://cdn-raw.modrinth.com/data/16vhQOQN/versions/OQpVrXXW/minimotd-velocity-2.0.13.jar +# https://ci.dmulloy2.net/job/ProtocolLib/668/artifact/build/libs/ProtocolLib.ja +# https://github.com/oddlama/vane/releases/download/v1.12.3/vane-velocity-1.12.3.jar +# https://github.com/oddlama/vane/releases/download/v1.12.3/vane-core-1.12.3.jar +# https://github.com/oddlama/vane/releases/download/v1.12.3/vane-enchantments-1.12.3.jar +# https://github.com/oddlama/vane/releases/download/v1.12.3/vane-trifles-1.12.3.jar # SERVER - SMP ################################################## diff --git a/docker-compose.yaml b/docker-compose.yaml index 53ee691..981688c 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -16,7 +16,7 @@ services: TYPE: ${PROXY_TYPE} DEBUG: "false" ENABLE_RCON: "true" - PLUGINS_FILE: ${PLUGINS_FILE} + PLUGINS: ${PROXY_PLUGINS} volumes: - /etc/timezone:/etc/timezone:ro - ${BASE_DIR}/${SERVER_NAME}/proxy/${PROXY_TYPE}/server:/server diff --git a/proxy/plugins.txt b/proxy/plugins.txt deleted file mode 100644 index 884698e..0000000 --- a/proxy/plugins.txt +++ /dev/null @@ -1,9 +0,0 @@ -# https://github.com/Lorenzo0111/RocketJoin -https://github.com/Lorenzo0111/RocketJoin/releases/download/2.5/RocketJoin-velocity-2.5.jar - -# https://cdn-raw.modrinth.com/data/16vhQOQN/versions/OQpVrXXW/minimotd-velocity-2.0.13.jar -# https://ci.dmulloy2.net/job/ProtocolLib/668/artifact/build/libs/ProtocolLib.ja -# https://github.com/oddlama/vane/releases/download/v1.12.3/vane-velocity-1.12.3.jar -# https://github.com/oddlama/vane/releases/download/v1.12.3/vane-core-1.12.3.jar -# https://github.com/oddlama/vane/releases/download/v1.12.3/vane-enchantments-1.12.3.jar -# https://github.com/oddlama/vane/releases/download/v1.12.3/vane-trifles-1.12.3.jar \ No newline at end of file From 41d4354bf5051222216e273193793619f0aa7ae4 Mon Sep 17 00:00:00 2001 From: Rainerle3000 Date: Tue, 19 May 2026 20:01:32 +0200 Subject: [PATCH 05/13] vanillatweeks updated --- .../expedition/config/vt-craftingtweaks.json | 13 ++--- server/expedition/config/vt-datapacks.json | 55 ++++++++----------- server/testing/config/vt-craftingtweaks.json | 11 ++-- server/testing/config/vt-datapacks.json | 55 ++++++++----------- .../waldicraft/config/vt-craftingtweaks.json | 11 ++-- server/waldicraft/config/vt-datapacks.json | 55 ++++++++----------- 6 files changed, 85 insertions(+), 115 deletions(-) diff --git a/server/expedition/config/vt-craftingtweaks.json b/server/expedition/config/vt-craftingtweaks.json index d408190..eee3d1c 100644 --- a/server/expedition/config/vt-craftingtweaks.json +++ b/server/expedition/config/vt-craftingtweaks.json @@ -1,27 +1,26 @@ { "type": "craftingtweaks", - "version": "26.01", + "version": "26.1", "packs": { - "quality of life": [ + "Quality of Life": [ "rotten flesh to leather", "straight to shapeless", "blackstone cobblestone" ], - "more blocks": [ + "More Blocks": [ "more trapdoors", "more bark", "more stairs", "more bricks" ], - "craftables": [ + "Craftables": [ "craftable gravel", "craftable horse armor", - "craftable name tags", "craftable blackstone" ], - "unpackables": [ + "Unpackables": [ "unpackable nether wart", "unpackable ice" ] } -} +} \ No newline at end of file diff --git a/server/expedition/config/vt-datapacks.json b/server/expedition/config/vt-datapacks.json index 472f46c..6e5915f 100644 --- a/server/expedition/config/vt-datapacks.json +++ b/server/expedition/config/vt-datapacks.json @@ -2,42 +2,33 @@ "type": "datapacks", "version": "26.1", "packs": { - "survival": [ - "armor status", - "afk display", - "multiplayer sleep", - "graves", + "Decorative/Cosmetic": [ + "armor statues", "custom nether portals", - "couldron concrete", - "track raw statistics", - "track statistics", - "nether portal coords", - "real time clock" - ], - "items": [ - "armored elytra", - "player head drops" - ], - "mobs": [ - "anti enderman grief", - "double shulker shells", - "dragon drops", - "larger phantoms", "more mob heads", - "villager death messages" - ], - "utilities": [ "name colors", - "spectator night vision", - "spectator conduit power" - ], - "hermitcraft": [ - "tag" + "player head drops" ], - "experimental": [ - "xp management", + "Convenience": [ + "cauldron concrete", "chunk loaders", - "elevators" + "elevators", + "multiplayer sleep", + "spectator conduit power", + "spectator night vision" + ], + "Gameplay Changes": [ + "anti enderman grief", + "armored elytra", + "graves" + ], + "Informative": [ + "afk display", + "nether portal coords", + "real time clock", + "track raw statistics", + "track statistics", + "villager death messages" ] } -} +} \ No newline at end of file diff --git a/server/testing/config/vt-craftingtweaks.json b/server/testing/config/vt-craftingtweaks.json index 8972471..eee3d1c 100644 --- a/server/testing/config/vt-craftingtweaks.json +++ b/server/testing/config/vt-craftingtweaks.json @@ -2,26 +2,25 @@ "type": "craftingtweaks", "version": "26.1", "packs": { - "quality of life": [ + "Quality of Life": [ "rotten flesh to leather", "straight to shapeless", "blackstone cobblestone" ], - "more blocks": [ + "More Blocks": [ "more trapdoors", "more bark", "more stairs", "more bricks" ], - "craftables": [ + "Craftables": [ "craftable gravel", "craftable horse armor", - "craftable name tags", "craftable blackstone" ], - "unpackables": [ + "Unpackables": [ "unpackable nether wart", "unpackable ice" ] } -} +} \ No newline at end of file diff --git a/server/testing/config/vt-datapacks.json b/server/testing/config/vt-datapacks.json index 472f46c..6e5915f 100644 --- a/server/testing/config/vt-datapacks.json +++ b/server/testing/config/vt-datapacks.json @@ -2,42 +2,33 @@ "type": "datapacks", "version": "26.1", "packs": { - "survival": [ - "armor status", - "afk display", - "multiplayer sleep", - "graves", + "Decorative/Cosmetic": [ + "armor statues", "custom nether portals", - "couldron concrete", - "track raw statistics", - "track statistics", - "nether portal coords", - "real time clock" - ], - "items": [ - "armored elytra", - "player head drops" - ], - "mobs": [ - "anti enderman grief", - "double shulker shells", - "dragon drops", - "larger phantoms", "more mob heads", - "villager death messages" - ], - "utilities": [ "name colors", - "spectator night vision", - "spectator conduit power" - ], - "hermitcraft": [ - "tag" + "player head drops" ], - "experimental": [ - "xp management", + "Convenience": [ + "cauldron concrete", "chunk loaders", - "elevators" + "elevators", + "multiplayer sleep", + "spectator conduit power", + "spectator night vision" + ], + "Gameplay Changes": [ + "anti enderman grief", + "armored elytra", + "graves" + ], + "Informative": [ + "afk display", + "nether portal coords", + "real time clock", + "track raw statistics", + "track statistics", + "villager death messages" ] } -} +} \ No newline at end of file diff --git a/server/waldicraft/config/vt-craftingtweaks.json b/server/waldicraft/config/vt-craftingtweaks.json index 8972471..eee3d1c 100644 --- a/server/waldicraft/config/vt-craftingtweaks.json +++ b/server/waldicraft/config/vt-craftingtweaks.json @@ -2,26 +2,25 @@ "type": "craftingtweaks", "version": "26.1", "packs": { - "quality of life": [ + "Quality of Life": [ "rotten flesh to leather", "straight to shapeless", "blackstone cobblestone" ], - "more blocks": [ + "More Blocks": [ "more trapdoors", "more bark", "more stairs", "more bricks" ], - "craftables": [ + "Craftables": [ "craftable gravel", "craftable horse armor", - "craftable name tags", "craftable blackstone" ], - "unpackables": [ + "Unpackables": [ "unpackable nether wart", "unpackable ice" ] } -} +} \ No newline at end of file diff --git a/server/waldicraft/config/vt-datapacks.json b/server/waldicraft/config/vt-datapacks.json index 472f46c..6e5915f 100644 --- a/server/waldicraft/config/vt-datapacks.json +++ b/server/waldicraft/config/vt-datapacks.json @@ -2,42 +2,33 @@ "type": "datapacks", "version": "26.1", "packs": { - "survival": [ - "armor status", - "afk display", - "multiplayer sleep", - "graves", + "Decorative/Cosmetic": [ + "armor statues", "custom nether portals", - "couldron concrete", - "track raw statistics", - "track statistics", - "nether portal coords", - "real time clock" - ], - "items": [ - "armored elytra", - "player head drops" - ], - "mobs": [ - "anti enderman grief", - "double shulker shells", - "dragon drops", - "larger phantoms", "more mob heads", - "villager death messages" - ], - "utilities": [ "name colors", - "spectator night vision", - "spectator conduit power" - ], - "hermitcraft": [ - "tag" + "player head drops" ], - "experimental": [ - "xp management", + "Convenience": [ + "cauldron concrete", "chunk loaders", - "elevators" + "elevators", + "multiplayer sleep", + "spectator conduit power", + "spectator night vision" + ], + "Gameplay Changes": [ + "anti enderman grief", + "armored elytra", + "graves" + ], + "Informative": [ + "afk display", + "nether portal coords", + "real time clock", + "track raw statistics", + "track statistics", + "villager death messages" ] } -} +} \ No newline at end of file From ee50311bd8440414563165cff25e9c85932d4b6d Mon Sep 17 00:00:00 2001 From: Eric Falsett <38140317+xPand4B@users.noreply.github.com> Date: Tue, 19 May 2026 20:05:16 +0200 Subject: [PATCH 06/13] feat: updated vanilla tweaks path --- docker-compose.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 981688c..051052f 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -61,7 +61,7 @@ services: VIEW_DISTANCE: ${SERVER_VIEW_DISTANCE} ONLINE_MODE: "false" # Has to be false for the proxy to be working # Mods & Datapacks - VANILLATWEAKS_FILE: /config/vt-datapacks.json,/config/vt-craftingtweaks.json + VANILLATWEAKS_FILE: /server/${MC_SMP_NAME}/config/vt-datapacks.json,/server/${MC_SMP_NAME}/config/vt-craftingtweaks.json REMOVE_OLD_MODS: "true" REMOVE_OLD_DATAPACKS: "true" DATAPACKS: ${MC_SMP_DATAPACKS} @@ -114,7 +114,7 @@ services: VIEW_DISTANCE: ${SERVER_VIEW_DISTANCE} ONLINE_MODE: "false" # Has to be false for the proxy to be working # Mods & Datapacks - VANILLATWEAKS_FILE: /config/vt-datapacks.json,/config/vt-craftingtweaks.json + VANILLATWEAKS_FILE: /server/${MC_EXPEDITION_NAME}/config/vt-datapacks.json,/server/${MC_EXPEDITION_NAME}/config/vt-craftingtweaks.json REMOVE_OLD_DATAPACKS: "true" REMOVE_OLD_MODS: "true" DATAPACKS: ${MC_EXPEDITION_DATAPACKS} @@ -170,7 +170,7 @@ services: VIEW_DISTANCE: ${SERVER_VIEW_DISTANCE} ONLINE_MODE: "false" # Has to be false for the proxy to be working # Mods & Datapacks - VANILLATWEAKS_FILE: /config/vt-datapacks.json,/config/vt-craftingtweaks.json + VANILLATWEAKS_FILE: /server/${MC_TESTING_NAME}/config/vt-datapacks.json,/server/${MC_TESTING_NAME}/config/vt-craftingtweaks.json REMOVE_OLD_MODS: "true" REMOVE_OLD_DATAPACKS: "true" DATAPACKS: ${MC_TESTING_DATAPACKS} From 847e8587d7f0aa0d33740529e6d0ecef25c18394 Mon Sep 17 00:00:00 2001 From: Eric Falsett <38140317+xPand4B@users.noreply.github.com> Date: Tue, 19 May 2026 20:08:02 +0200 Subject: [PATCH 07/13] feat: reverted last change --- docker-compose.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 051052f..981688c 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -61,7 +61,7 @@ services: VIEW_DISTANCE: ${SERVER_VIEW_DISTANCE} ONLINE_MODE: "false" # Has to be false for the proxy to be working # Mods & Datapacks - VANILLATWEAKS_FILE: /server/${MC_SMP_NAME}/config/vt-datapacks.json,/server/${MC_SMP_NAME}/config/vt-craftingtweaks.json + VANILLATWEAKS_FILE: /config/vt-datapacks.json,/config/vt-craftingtweaks.json REMOVE_OLD_MODS: "true" REMOVE_OLD_DATAPACKS: "true" DATAPACKS: ${MC_SMP_DATAPACKS} @@ -114,7 +114,7 @@ services: VIEW_DISTANCE: ${SERVER_VIEW_DISTANCE} ONLINE_MODE: "false" # Has to be false for the proxy to be working # Mods & Datapacks - VANILLATWEAKS_FILE: /server/${MC_EXPEDITION_NAME}/config/vt-datapacks.json,/server/${MC_EXPEDITION_NAME}/config/vt-craftingtweaks.json + VANILLATWEAKS_FILE: /config/vt-datapacks.json,/config/vt-craftingtweaks.json REMOVE_OLD_DATAPACKS: "true" REMOVE_OLD_MODS: "true" DATAPACKS: ${MC_EXPEDITION_DATAPACKS} @@ -170,7 +170,7 @@ services: VIEW_DISTANCE: ${SERVER_VIEW_DISTANCE} ONLINE_MODE: "false" # Has to be false for the proxy to be working # Mods & Datapacks - VANILLATWEAKS_FILE: /server/${MC_TESTING_NAME}/config/vt-datapacks.json,/server/${MC_TESTING_NAME}/config/vt-craftingtweaks.json + VANILLATWEAKS_FILE: /config/vt-datapacks.json,/config/vt-craftingtweaks.json REMOVE_OLD_MODS: "true" REMOVE_OLD_DATAPACKS: "true" DATAPACKS: ${MC_TESTING_DATAPACKS} From 6512a99ebca54ab5cd17e226dd415f28c03176cd Mon Sep 17 00:00:00 2001 From: Eric Falsett <38140317+xPand4B@users.noreply.github.com> Date: Tue, 19 May 2026 20:27:04 +0200 Subject: [PATCH 08/13] feat: updated env --- .env.dist | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.env.dist b/.env.dist index 82bd001..8ce90e9 100644 --- a/.env.dist +++ b/.env.dist @@ -42,7 +42,7 @@ PROXY_PLUGINS="https://github.com/Lorenzo0111/RocketJoin/releases/download/2.5/R # SERVER - SMP ################################################## -MC_SMP_NAME=smp +MC_SMP_NAME=waldicraft MC_SMP_SEED=-7754207215465818387 MC_SMP_SERVER_PORT=1338 MC_SMP_MAX_MEMORY="4G" @@ -51,7 +51,7 @@ MC_SMP_DIFFICULTY=normal MC_SMP_RCON_PASSWORD=CHANGE-ME MC_SMP_RCON_PORT=25575 MC_SMP_DATAPACKS= -MC_SMP_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, amplified-nether:rp2A0tDf, appleskin:HwaLJe3v, architectury-api:Sbew3kXe, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW, nullscape:E4kh5rGD, midnightlib:jcj4Ev6D, repurposed-structures-fabric:Jvol4Hh2, terralith:FCzSjHeG, travelersbackpack:XFdxMe7g, trinkets:e563ycts" +MC_SMP_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, amplified-nether:rp2A0tDf, appleskin:HwaLJe3v, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW, nullscape:E4kh5rGD, midnightlib:jcj4Ev6D, repurposed-structures-fabric:Jvol4Hh2, terralith:FCzSjHeG, travelersbackpack:XFdxMe7g, trinkets:e563ycts" MC_SMP_CURSEFORGE_FILES="worldedit:8037379" MC_SMP_SPIGET_RESOURCES= @@ -66,7 +66,7 @@ MC_EXPEDITION_DIFFICULTY=normal MC_EXPEDITION_RCON_PASSWORD=CHANGE-ME MC_EXPEDITION_RCON_PORT=25580 MC_EXPEDITION_DATAPACKS= -MC_EXPEDITION_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, amplified-nether:rp2A0tDf, appleskin:HwaLJe3v, architectury-api:Sbew3kXe, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW, nullscape:E4kh5rGD, midnightlib:jcj4Ev6D, repurposed-structures-fabric:Jvol4Hh2, terralith:FCzSjHeG, travelersbackpack:XFdxMe7g, trinkets:e563ycts" +MC_EXPEDITION_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, amplified-nether:rp2A0tDf, appleskin:HwaLJe3v, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW, nullscape:E4kh5rGD, midnightlib:jcj4Ev6D, repurposed-structures-fabric:Jvol4Hh2, terralith:FCzSjHeG, travelersbackpack:XFdxMe7g, trinkets:e563ycts" MC_EXPEDITION_CURSEFORGE_FILES="worldedit:8037379" MC_EXPEDITION_SPIGET_RESOURCES= From cb3ec67401c12981ad84a5895d96ab67f82de16d Mon Sep 17 00:00:00 2001 From: Eric Falsett <38140317+xPand4B@users.noreply.github.com> Date: Tue, 19 May 2026 20:30:36 +0200 Subject: [PATCH 09/13] feat: removed older mods --- .env.dist | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.env.dist b/.env.dist index 8ce90e9..4d6e9fe 100644 --- a/.env.dist +++ b/.env.dist @@ -51,7 +51,7 @@ MC_SMP_DIFFICULTY=normal MC_SMP_RCON_PASSWORD=CHANGE-ME MC_SMP_RCON_PORT=25575 MC_SMP_DATAPACKS= -MC_SMP_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, amplified-nether:rp2A0tDf, appleskin:HwaLJe3v, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW, nullscape:E4kh5rGD, midnightlib:jcj4Ev6D, repurposed-structures-fabric:Jvol4Hh2, terralith:FCzSjHeG, travelersbackpack:XFdxMe7g, trinkets:e563ycts" +MC_SMP_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, amplified-nether:rp2A0tDf, appleskin:HwaLJe3v, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW, nullscape:E4kh5rGD, midnightlib:jcj4Ev6D, repurposed-structures-fabric:Jvol4Hh2, terralith:FCzSjHeG, travelersbackpack:Q6rEigkb" MC_SMP_CURSEFORGE_FILES="worldedit:8037379" MC_SMP_SPIGET_RESOURCES= @@ -66,7 +66,7 @@ MC_EXPEDITION_DIFFICULTY=normal MC_EXPEDITION_RCON_PASSWORD=CHANGE-ME MC_EXPEDITION_RCON_PORT=25580 MC_EXPEDITION_DATAPACKS= -MC_EXPEDITION_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, amplified-nether:rp2A0tDf, appleskin:HwaLJe3v, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW, nullscape:E4kh5rGD, midnightlib:jcj4Ev6D, repurposed-structures-fabric:Jvol4Hh2, terralith:FCzSjHeG, travelersbackpack:XFdxMe7g, trinkets:e563ycts" +MC_EXPEDITION_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, amplified-nether:rp2A0tDf, appleskin:HwaLJe3v, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW, nullscape:E4kh5rGD, midnightlib:jcj4Ev6D, repurposed-structures-fabric:Jvol4Hh2, terralith:FCzSjHeG, travelersbackpack:Q6rEigkb" MC_EXPEDITION_CURSEFORGE_FILES="worldedit:8037379" MC_EXPEDITION_SPIGET_RESOURCES= @@ -80,7 +80,7 @@ MC_TESTING_MAX_PLAYERS=10 MC_TESTING_RCON_PORT=25581 MC_TESTING_RCON_PASSWORD=CHANGE-ME MC_TESTING_DATAPACKS= -MC_TESTING_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, architectury-api:Sbew3kXe, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW" +MC_TESTING_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW" MC_TESTING_CURSEFORGE_FILES="worldedit:8037379" MC_TESTING_SPIGET_RESOURCES= From 12d5d20be38fcf66970852cd39ec6408071aa0eb Mon Sep 17 00:00:00 2001 From: Eric Falsett Date: Sun, 24 May 2026 11:45:19 +0200 Subject: [PATCH 10/13] feat: updated to 26.1.2 --- .env.dist | 19 ++++--- docker-compose.yaml | 83 +++++++++++++++++++---------- proxy/velocity/config/velocity.toml | 11 ++-- 3 files changed, 70 insertions(+), 43 deletions(-) diff --git a/.env.dist b/.env.dist index 4d6e9fe..f9ebbe8 100644 --- a/.env.dist +++ b/.env.dist @@ -8,8 +8,9 @@ SERVER_MC_VERSION="26.1.2" SERVER_NAME=26_1_2-network SERVER_MOTD="§4[WARNING]§r Please connect to the correct server." SERVER_VIEW_DISTANCE=14 -# For the CF_API_KEY >> every '$' has to be escaped with another '$' character !!! -SERVER_CF_API_KEY=CHANGE-ME + +# Every '$' has to be escaped with another '$' character !!! +SERVER_CURSEFORG_API_KEY=CHANGE-ME # SERVICES ################################################## @@ -32,6 +33,8 @@ SERVICE_VSCODE_PROXY_DOMAIN=mcdev.waldinet.de ################################################## PROXY_TYPE=velocity PROXY_PORT=1337 +MODRINTH_DOWNLOAD_DEPENDENCIES="required" +PROXY_MODRINTH_PROJECTS="simple-voice-chat:5SU8XYFw" PROXY_PLUGINS="https://github.com/Lorenzo0111/RocketJoin/releases/download/2.5/RocketJoin-velocity-2.5.jar" # https://cdn-raw.modrinth.com/data/16vhQOQN/versions/OQpVrXXW/minimotd-velocity-2.0.13.jar # https://ci.dmulloy2.net/job/ProtocolLib/668/artifact/build/libs/ProtocolLib.ja @@ -51,8 +54,8 @@ MC_SMP_DIFFICULTY=normal MC_SMP_RCON_PASSWORD=CHANGE-ME MC_SMP_RCON_PORT=25575 MC_SMP_DATAPACKS= -MC_SMP_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, amplified-nether:rp2A0tDf, appleskin:HwaLJe3v, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW, nullscape:E4kh5rGD, midnightlib:jcj4Ev6D, repurposed-structures-fabric:Jvol4Hh2, terralith:FCzSjHeG, travelersbackpack:Q6rEigkb" -MC_SMP_CURSEFORGE_FILES="worldedit:8037379" +MC_SMP_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, waystones:crPXnQlJ, balm:ySr8K68c, shogi:2Xg13Gfy, luckperms:fTIdfb46, amplified-nether:rp2A0tDf, appleskin:HwaLJe3v, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, mc-data-bridge:N02wJcbK, lithium:R7MxYvuW, nullscape:E4kh5rGD, midnightlib:jcj4Ev6D, repurposed-structures-fabric:Jvol4Hh2, terralith:FCzSjHeG, travelersbackpack:Q6rEigkb, forge-config-api-port:mwAOaKnn, simple-voice-chat:gVPjsMto, worldedit:gjsLvJfW" +MC_SMP_CURSEFORGE_FILES= MC_SMP_SPIGET_RESOURCES= # SERVER - EXPEDITION @@ -66,8 +69,8 @@ MC_EXPEDITION_DIFFICULTY=normal MC_EXPEDITION_RCON_PASSWORD=CHANGE-ME MC_EXPEDITION_RCON_PORT=25580 MC_EXPEDITION_DATAPACKS= -MC_EXPEDITION_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, amplified-nether:rp2A0tDf, appleskin:HwaLJe3v, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW, nullscape:E4kh5rGD, midnightlib:jcj4Ev6D, repurposed-structures-fabric:Jvol4Hh2, terralith:FCzSjHeG, travelersbackpack:Q6rEigkb" -MC_EXPEDITION_CURSEFORGE_FILES="worldedit:8037379" +MC_EXPEDITION_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, waystones:crPXnQlJ, balm:ySr8K68c, shogi:2Xg13Gfy, luckperms:fTIdfb46, amplified-nether:rp2A0tDf, appleskin:HwaLJe3v, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, mc-data-bridge:N02wJcbK, lithium:R7MxYvuW, nullscape:E4kh5rGD, midnightlib:jcj4Ev6D, repurposed-structures-fabric:Jvol4Hh2, terralith:FCzSjHeG, travelersbackpack:Q6rEigkb, forge-config-api-port:mwAOaKnn, simple-voice-chat:gVPjsMto, worldedit:gjsLvJfW" +MC_EXPEDITION_CURSEFORGE_FILES= MC_EXPEDITION_SPIGET_RESOURCES= # SERVER - TESTING @@ -80,8 +83,8 @@ MC_TESTING_MAX_PLAYERS=10 MC_TESTING_RCON_PORT=25581 MC_TESTING_RCON_PASSWORD=CHANGE-ME MC_TESTING_DATAPACKS= -MC_TESTING_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, luckperms:fTIdfb46, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW" -MC_TESTING_CURSEFORGE_FILES="worldedit:8037379" +MC_TESTING_MODRINTH_PROJECTS="fabric-api:BLz7ETCw, waystones:crPXnQlJ, balm:ySr8K68c, shogi:2Xg13Gfy, luckperms:fTIdfb46, chunky:4Eotm6ov, fabricproxy-lite:CsEpiziv, lithium:R7MxYvuW, simple-voice-chat:gVPjsMto, worldedit:gjsLvJfW" +MC_TESTING_CURSEFORGE_FILES= MC_TESTING_SPIGET_RESOURCES= # MODS diff --git a/docker-compose.yaml b/docker-compose.yaml index 981688c..74f8d67 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -12,16 +12,20 @@ services: restart: unless-stopped ports: - ${PROXY_PORT:-25565}:25577 + networks: + - mc-proxy environment: TYPE: ${PROXY_TYPE} DEBUG: "false" ENABLE_RCON: "true" PLUGINS: ${PROXY_PLUGINS} + MODRINTH_PROJECTS: ${PROXY_MODRINTH_PROJECTS} + MINECRAFT_VERSION: ${SERVER_MC_VERSION} volumes: - /etc/timezone:/etc/timezone:ro - - ${BASE_DIR}/${SERVER_NAME}/proxy/${PROXY_TYPE}/server:/server - - ${BASE_DIR}/${SERVER_NAME}/proxy/${PROXY_TYPE}/plugins:/plugins - - ${BASE_DIR}/${SERVER_NAME}/proxy/${PROXY_TYPE}/config:/config + - ./proxy/${PROXY_TYPE}/server:/server + - ./proxy/${PROXY_TYPE}/plugins:/plugins + - ./proxy/${PROXY_TYPE}/config:/config labels: com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/papermc-velocity.svg com.getarcaneapp.arcane.updater: false @@ -34,6 +38,9 @@ services: ports: - ${MC_SMP_SERVER_PORT:-25566}:25565 - ${MOD_VOICECHAT_PORT_SMP:-24455}:24454/udp # Voicechat + networks: + - mc-proxy + - mc-smp-backup environment: # Java specific TUNE_VIRTUALIZED: "true" @@ -44,7 +51,7 @@ services: # MC Server specific EULA: "true" TYPE: ${SERVER_TYPE} - LEVEL: waldicraft + LEVEL: world-${MC_SMP_NAME} VERSION: ${SERVER_MC_VERSION} SEED: ${MC_SMP_SEED} MAX_PLAYERS: ${MC_SMP_MAX_PLAYERS:-10} @@ -67,14 +74,14 @@ services: DATAPACKS: ${MC_SMP_DATAPACKS} MODRINTH_DOWNLOAD_DEPENDENCIES: "required" MODRINTH_PROJECTS: ${MC_SMP_MODRINTH_PROJECTS} - CF_API_KEY: ${SERVER_CF_API_KEY} + CF_API_KEY: ${SERVER_CURSEFORG_API_KEY} CURSEFORGE_FILES: ${MC_SMP_CURSEFORGE_FILES} SPIGET_RESOURCES: ${MC_SMP_SPIGET_RESOURCES} volumes: - /etc/timezone:/etc/timezone:ro - - ${BASE_DIR}/${SERVER_NAME}/server/${MC_SMP_NAME}/config:/config:ro - - ${BASE_DIR}/${SERVER_NAME}/server/${MC_SMP_NAME}/data:/data - - ${BASE_DIR}/${SERVER_NAME}/server/${MC_SMP_NAME}/mods:/mods:ro + - ./server/${MC_SMP_NAME}/config:/config:ro + - ./server/${MC_SMP_NAME}/data:/data + - ./server/${MC_SMP_NAME}/mods:/mods:ro labels: com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/minecraft.svg com.getarcaneapp.arcane.updater: false @@ -87,6 +94,9 @@ services: ports: - ${MC_EXPEDITION_SERVER_PORT:-25567}:25565 - ${MOD_VOICECHAT_PORT_EXPEDITION:-24456}:24454/udp # Voicechat + networks: + - mc-proxy + - mc-expedition-backup environment: # Java specific TUNE_VIRTUALIZED: "true" @@ -97,7 +107,7 @@ services: # MC Server specific EULA: "true" TYPE: ${SERVER_TYPE} - LEVEL: expedition + LEVEL: world-${MC_EXPEDITION_NAME} VERSION: ${SERVER_MC_VERSION} SEED: ${MC_EXPEDITION_SEED} MAX_PLAYERS: ${MC_EXPEDITION_MAX_PLAYERS:-10} @@ -120,14 +130,14 @@ services: DATAPACKS: ${MC_EXPEDITION_DATAPACKS} MODRINTH_DOWNLOAD_DEPENDENCIES: "required" MODRINTH_PROJECTS: ${MC_EXPEDITION_MODRINTH_PROJECTS} - CF_API_KEY: ${SERVER_CF_API_KEY} + CF_API_KEY: ${SERVER_CURSEFORG_API_KEY} CURSEFORGE_FILES: ${MC_EXPEDITION_CURSEFORGE_FILES} SPIGET_RESOURCES: ${MC_EXPEDITION_SPIGET_RESOURCES} volumes: - /etc/timezone:/etc/timezone:ro - - ${BASE_DIR}/${SERVER_NAME}/server/${MC_EXPEDITION_NAME}/config:/config:ro - - ${BASE_DIR}/${SERVER_NAME}/server/${MC_EXPEDITION_NAME}/data:/data - - ${BASE_DIR}/${SERVER_NAME}/server/${MC_EXPEDITION_NAME}/mods:/mods:ro + - ./server/${MC_EXPEDITION_NAME}/config:/config:ro + - ./server/${MC_EXPEDITION_NAME}/data:/data + - ./server/${MC_EXPEDITION_NAME}/mods:/mods:ro labels: com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/minecraft.svg com.getarcaneapp.arcane.updater: false @@ -140,6 +150,9 @@ services: ports: - ${MC_TESTING_SERVER_PORT:-25568}:25565 - ${MOD_VOICECHAT_PORT_TESTING:-24456}:24454/udp # Voicechat + networks: + - mc-proxy + - mc-testing-backup environment: # Java specific TUNE_VIRTUALIZED: "true" @@ -150,9 +163,9 @@ services: # MC Server specific EULA: "true" TYPE: ${SERVER_TYPE} - LEVEL: testing + LEVEL: world-${MC_TESTING_NAME} VERSION: ${SERVER_MC_VERSION} - SEED: ${MC_TESTIN_SEED} + SEED: ${MC_TESTING_SEED} MAX_PLAYERS: ${MC_TESTING_MAX_PLAYERS} LEVEL_TYPE: flat OVERRIDE_SERVER_PROPERTIES: "true" @@ -176,16 +189,16 @@ services: DATAPACKS: ${MC_TESTING_DATAPACKS} MODRINTH_DOWNLOAD_DEPENDENCIES: "required" MODRINTH_PROJECTS: ${MC_TESTING_MODRINTH_PROJECTS} - CF_API_KEY: ${SERVER_CF_API_KEY} + CF_API_KEY: ${SERVER_CURSEFORG_API_KEY} CURSEFORGE_FILES: ${MC_TESTING_CURSEFORGE_FILES} SPIGET_RESOURCES: ${MC_TESTING_SPIGET_RESOURCES} RCON_CMDS_STARTUP: |- /gamerule keepInventory true volumes: - /etc/timezone:/etc/timezone:ro - - ${BASE_DIR}/${SERVER_NAME}/server/${MC_TESTING_NAME}/config:/config:ro - - ${BASE_DIR}/${SERVER_NAME}/server/${MC_TESTING_NAME}/data:/data - - ${BASE_DIR}/${SERVER_NAME}/server/${MC_TESTING_NAME}/mods:/mods:ro + - ./server/${MC_TESTING_NAME}/config:/config:ro + - ./server/${MC_TESTING_NAME}/data:/data + - ./server/${MC_TESTING_NAME}/mods:/mods:ro labels: com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/minecraft.svg com.getarcaneapp.arcane.updater: false @@ -195,6 +208,8 @@ services: image: itzg/mc-backup container_name: mc-backup-smp restart: unless-stopped + networks: + - mc-smp-backup environment: TZ: ${BASE_TIMEZONE} BACKUP_NAME: ${MC_SMP_NAME} @@ -209,8 +224,8 @@ services: EXCLUDES: ${BACKUP_EXCLUDES} volumes: - /etc/timezone:/etc/timezone:ro - - ${BASE_DIR}/${SERVER_NAME}/backups/server/${MC_SMP_NAME}:/backups - - ${BASE_DIR}/${SERVER_NAME}/server/${MC_SMP_NAME}:/data + - ./backups/server/${MC_SMP_NAME}:/backups + - ./server/${MC_SMP_NAME}:/data labels: #com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/minecraft.svg com.getarcaneapp.arcane.updater: false @@ -220,6 +235,8 @@ services: image: itzg/mc-backup container_name: mc-backup-expedition restart: unless-stopped + networks: + - mc-expedition-backup environment: TZ: ${BASE_TIMEZONE} BACKUP_NAME: ${MC_EXPEDITION_NAME} @@ -234,8 +251,8 @@ services: EXCLUDES: ${BACKUP_EXCLUDES} volumes: - /etc/timezone:/etc/timezone:ro - - ${BASE_DIR}/${SERVER_NAME}/backups/server/${MC_EXPEDITION_NAME}:/backups - - ${BASE_DIR}/${SERVER_NAME}/server/${MC_EXPEDITION_NAME}:/data + - ./backups/server/${MC_EXPEDITION_NAME}:/backups + - ./server/${MC_EXPEDITION_NAME}:/data labels: #com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/minecraft.svg com.getarcaneapp.arcane.updater: false @@ -245,6 +262,8 @@ services: image: itzg/mc-backup container_name: mc-backup-testing restart: unless-stopped + networks: + - mc-testing-backup environment: TZ: ${BASE_TIMEZONE} BACKUP_NAME: ${MC_TESTING_NAME} @@ -259,8 +278,8 @@ services: EXCLUDES: ${BACKUP_EXCLUDES} volumes: - /etc/timezone:/etc/timezone:ro - - ${BASE_DIR}/${SERVER_NAME}/backups/server/${MC_TESTING_NAME}:/backups - - ${BASE_DIR}/${SERVER_NAME}/server/${MC_TESTING_NAME}:/data + - ./backups/server/${MC_TESTING_NAME}:/backups + - ./server/${MC_TESTING_NAME}:/data labels: #com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/minecraft.svg com.getarcaneapp.arcane.updater: false @@ -354,8 +373,18 @@ services: PROXY_DOMAIN: ${SERVICE_VSCODE_PROXY_DOMAIN} volumes: - /etc/timezone:/etc/timezone:ro - - ${BASE_DIR}/${SERVER_NAME}/services/code-server/config:/config - - ${BASE_DIR}/${SERVER_NAME}:/config/workspace + - ./services/code-server/config:/config + - ./:/config/workspace labels: com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/visual-studio-code.svg com.getarcaneapp.arcane.updater: false + +networks: + mc-proxy: + driver: bridge + mc-smp-backup: + driver: bridge + mc-expedition-backup: + driver: bridge + mc-testing-backup: + driver: bridge \ No newline at end of file diff --git a/proxy/velocity/config/velocity.toml b/proxy/velocity/config/velocity.toml index 1db3119..a4f2180 100644 --- a/proxy/velocity/config/velocity.toml +++ b/proxy/velocity/config/velocity.toml @@ -73,14 +73,9 @@ enable-player-address-logging = true [servers] # Configure your servers here. Each key represents the server's name, and the value # represents the IP address of the server to connect to. -# waldicraft = "167.86.71.76:1338" # xPand VPS -waldicraft = "172.16.4.22:1338" # NHO2 - -# expedition = "167.86.71.76:1339" # xPand VPS -expedition = "172.16.4.22:1339" # NHO2 - -# testing = "167.86.71.76:1340" # xPand VPS -testing = "172.16.4.22:1340" # NHO2 +waldicraft = "server-smp:25565" +expedition = "server-expedition:25565" +testing = "server-testing:25565" # In what order we should try servers when a player logs in or is kicked from a server. try = [ From 44b89a470425543ff7cf87042a3b3097a636afed Mon Sep 17 00:00:00 2001 From: xPand4B Date: Tue, 2 Jun 2026 12:31:49 +0200 Subject: [PATCH 11/13] feat(ai): Added opencode for questiona + AGENTS context --- .env.dist | 4 +- .github/workflows/opencode.yml | 33 +++++++++++ AGENTS.md | 101 +++++++++++++++++++++++++++++++++ 3 files changed, 136 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/opencode.yml create mode 100644 AGENTS.md diff --git a/.env.dist b/.env.dist index f9ebbe8..377afab 100644 --- a/.env.dist +++ b/.env.dist @@ -9,7 +9,7 @@ SERVER_NAME=26_1_2-network SERVER_MOTD="§4[WARNING]§r Please connect to the correct server." SERVER_VIEW_DISTANCE=14 -# Every '$' has to be escaped with another '$' character !!! +# CurseForge API Key: Every '$' has to be escaped with another '$' character !!! SERVER_CURSEFORG_API_KEY=CHANGE-ME # SERVICES @@ -31,7 +31,7 @@ SERVICE_VSCODE_PROXY_DOMAIN=mcdev.waldinet.de # PROXY ################################################## -PROXY_TYPE=velocity +PROXY_TYPE=velocity # currently only velocity is supported PROXY_PORT=1337 MODRINTH_DOWNLOAD_DEPENDENCIES="required" PROXY_MODRINTH_PROJECTS="simple-voice-chat:5SU8XYFw" diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml new file mode 100644 index 0000000..a2d208f --- /dev/null +++ b/.github/workflows/opencode.yml @@ -0,0 +1,33 @@ +name: opencode + +on: + issue_comment: + types: [created] + pull_request_review_comment: + types: [created] + +jobs: + opencode: + if: | + contains(github.event.comment.body, ' /oc') || + startsWith(github.event.comment.body, '/oc') || + contains(github.event.comment.body, ' /opencode') || + startsWith(github.event.comment.body, '/opencode') + runs-on: ubuntu-latest + permissions: + id-token: write + contents: read + pull-requests: read + issues: read + steps: + - name: Checkout repository + uses: actions/checkout@v6 + with: + persist-credentials: false + + - name: Run opencode + uses: anomalyco/opencode/github@latest + env: + OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} + with: + model: opencode-go/deepseek-v4-pro \ No newline at end of file diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..6c48b3f --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,101 @@ +# AGENTS.md + +## Project type + +Docker Compose infrastructure for a Minecraft server network. No code, no build, no tests, no lint. + +## Prerequisites + +Only **Docker** is required. No language runtime. + +## Setup and run + +```bash +cp .env.dist .env # required first step — .env is gitignored +docker compose up -d +docker compose down +``` + +The `.env.dist` is the template. The `.env` file must exist at runtime and is never committed. + +## .env quirks + +- `SERVER_CURSEFORGE_API_KEY` must be set if any `_CURSEFORGE_FILES` variables are used. +- Mod lists use `_MODRINTH_PROJECTS` (slug:version-id format) and `_CURSEFORGE_FILES` (project-id:file-id format), per the itzg docs. + +## Architecture + +- **1 proxy** (Velocity via [`itzg/bungeecord`](https://github.com/itzg/docker-mc-proxy)) + **3 backend servers** (Fabric via [`itzg/minecraft-server`](https://github.com/itzg/docker-minecraft-server)). +- **3 backup containers** ([`itzg/mc-backup`](https://github.com/itzg/docker-mc-backup)) — one per server instance. +- **1 code-server** for in-browser editing (exposes the whole repo at `/config/workspace`). + +### Server instances + +| Instance | Container | Game mode | Memory | +|-------------|--------------------|--------------|--------| +| `waldicraft` | `server-smp` | survival | 4G | +| `expedition` | `server-expedition`| survival | 8G | +| `testing` | `server-testing` | creative/flat| 2G | + +Each instance directory (`server//`) has three subdirs: +- `config/` — mounted read-only, committed to git +- `data/` — world data, mostly gitignored (only `ops.json`, `whitelist.json`, and `dynmap/` config are tracked) +- `mods/` — mod JARs, entirely gitignored (downloaded at container startup from Modrinth/CurseForge URLs in `.env`) + +### Proxy/server forwarding + +- Velocity uses `modern` forwarding mode with `forwarding.secret` (committed). +- Backend servers run `ONLINE_MODE=false` and use **FabricProxy-Lite** with hack settings for player info forwarding. +- Velocity `velocity.toml` maps server names to internal Docker hostnames: + ``` + waldicraft = "server-smp:25565" + expedition = "server-expedition:25565" + testing = "server-testing:25565" + ``` + +## Adding or modifying mods + +Mod JARs are **never committed**. They are downloaded at container startup. To change mods: + +1. Edit the relevant `_MODRINTH_PROJECTS`, `_CURSEFORGE_FILES`, or `_DATAPACKS` variable in `.env.dist` (and update `.env`). +2. For mods not on Modrinth/CurseForge, place JARs manually in `server//mods/`. +3. Mod config files go in `server//config/` and **are** committed. + +## Key files for configuration changes + +- `.env.dist` — environment variables (ports, seeds, mods, memory, RCON passwords) +- `proxy/velocity/config/velocity.toml` — proxy routing and server list +- `server//config/` — per-server mod configs +- `docker-compose.yaml` — service definitions + +## Optional services + +Four additional services exist in `docker-compose.yaml` but are **commented out**. To enable them, uncomment the service definition, verify paths/variables, and configure `.env` values. Only code-server is active by default. + +### Nginx (`service-nginx`) + +Serves the **LiveAtlas** web map UI plus dynmap tiles for all three servers. Required because all dynmap configs have `disable-webserver: true` and use `org.dynmap.JsonFileClientUpdateComponent` — the internal dynmap web server is off; data is written as JSON/tiles to the filesystem for an external web server to serve. + +- Web root: `services/nginx/www/` — contains `index.html` (pre-configured LiveAtlas app) + `live-atlas/` (built JS/CSS assets) +- Mounts dynmap output from each server: `server//data/dynmap/web/standalone` and `…/tiles` +- LiveAtlas is pre-configured for all three servers in `index.html` using the filetree/JSON approach + +### PHP-FPM (`service-php-fpm`) + +Required by Nginx to handle PHP endpoints for LiveAtlas — chat sending, login, and register. The nginx config (`docker/nginx/conf.d/default.conf`) proxies `*.php` requests to `service-php-fpm:9000`. Must be enabled alongside Nginx. + +### MySQL (`service-mysql`) + +Alternative dynmap storage backend. The current dynmap configs use `type: filetree`; MySQL is the commented-out option (`type: mysql`) in each `configuration.txt`. + +- Init script (`.docker/mysql/init/01-databases.sql`) creates a `dynmap` database and grants access to the `minecraft` user +- LiveAtlas `index.html` includes commented-out `MySQL_*.php` endpoint URLs for when MySQL is used +- Data volume `services/mysql/` is gitignored (see `services/.gitignore`) + +### Redis (`service-redis`) + +Available as a Redis 7.2 cache instance. No config in this repo references a specific Redis consumer — intended as infrastructure for a mod or plugin that needs it. + +## CI + +A single GitHub Actions workflow (`.github/workflows/opencode.yml`) triggers OpenCode AI on issue/PR comments containing `/oc` or `/opencode`. From c1924930a0e9faa24645a62e61ae56a20e150e9e Mon Sep 17 00:00:00 2001 From: xPand4B Date: Tue, 2 Jun 2026 12:36:24 +0200 Subject: [PATCH 12/13] fix(chore): fixed typos --- .env.dist | 2 +- docker-compose.yaml | 32 ++++++++++++++++---------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.env.dist b/.env.dist index 377afab..8b919af 100644 --- a/.env.dist +++ b/.env.dist @@ -10,7 +10,7 @@ SERVER_MOTD="§4[WARNING]§r Please connect to the correct server." SERVER_VIEW_DISTANCE=14 # CurseForge API Key: Every '$' has to be escaped with another '$' character !!! -SERVER_CURSEFORG_API_KEY=CHANGE-ME +SERVER_CURSEFORGE_API_KEY=CHANGE-ME # SERVICES ################################################## diff --git a/docker-compose.yaml b/docker-compose.yaml index 74f8d67..be18741 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -74,7 +74,7 @@ services: DATAPACKS: ${MC_SMP_DATAPACKS} MODRINTH_DOWNLOAD_DEPENDENCIES: "required" MODRINTH_PROJECTS: ${MC_SMP_MODRINTH_PROJECTS} - CF_API_KEY: ${SERVER_CURSEFORG_API_KEY} + CF_API_KEY: ${SERVER_CURSEFORGE_API_KEY} CURSEFORGE_FILES: ${MC_SMP_CURSEFORGE_FILES} SPIGET_RESOURCES: ${MC_SMP_SPIGET_RESOURCES} volumes: @@ -130,7 +130,7 @@ services: DATAPACKS: ${MC_EXPEDITION_DATAPACKS} MODRINTH_DOWNLOAD_DEPENDENCIES: "required" MODRINTH_PROJECTS: ${MC_EXPEDITION_MODRINTH_PROJECTS} - CF_API_KEY: ${SERVER_CURSEFORG_API_KEY} + CF_API_KEY: ${SERVER_CURSEFORGE_API_KEY} CURSEFORGE_FILES: ${MC_EXPEDITION_CURSEFORGE_FILES} SPIGET_RESOURCES: ${MC_EXPEDITION_SPIGET_RESOURCES} volumes: @@ -189,7 +189,7 @@ services: DATAPACKS: ${MC_TESTING_DATAPACKS} MODRINTH_DOWNLOAD_DEPENDENCIES: "required" MODRINTH_PROJECTS: ${MC_TESTING_MODRINTH_PROJECTS} - CF_API_KEY: ${SERVER_CURSEFORG_API_KEY} + CF_API_KEY: ${SERVER_CURSEFORGE_API_KEY} CURSEFORGE_FILES: ${MC_TESTING_CURSEFORGE_FILES} SPIGET_RESOURCES: ${MC_TESTING_SPIGET_RESOURCES} RCON_CMDS_STARTUP: |- @@ -294,18 +294,18 @@ services: # - ${NGINX_PORT:-80}:80 # volumes: # - /etc/localtime:/etc/localtime:ro - # - ${BASE_DIR}/${SERVER_NAME}/.docker/nginx/conf.d/:/etc/nginx/conf.d/ - # - ${BASE_DIR}/${SERVER_NAME}/services/nginx/www:/var/www - # - ${BASE_DIR}/${SERVER_NAME}/services/nginx/logs:/var/log/nginx + # - ./.docker/nginx/conf.d/:/etc/nginx/conf.d/ + # - ./services/nginx/www:/var/www + # - ./services/nginx/logs:/var/log/nginx # # Dynmap => SMP - # - ${BASE_DIR}/${SERVER_NAME}/server/${MC_SMP_NAME}/data/dynmap/web/standalone:/var/www/maps/${MC_SMP_NAME}/standalone - # - ${BASE_DIR}/${SERVER_NAME}/server/${MC_SMP_NAME}/data/dynmap/web/tiles:/var/www/maps/${MC_SMP_NAME}/tiles + # - ./server/${MC_SMP_NAME}/data/dynmap/web/standalone:/var/www/maps/${MC_SMP_NAME}/standalone + # - ./server/${MC_SMP_NAME}/data/dynmap/web/tiles:/var/www/maps/${MC_SMP_NAME}/tiles # # Dynmap => Expedition - # - ${BASE_DIR}/${SERVER_NAME}/server/${MC_EXPEDITION_NAME}/data/dynmap/web/standalone:/var/www/maps/${MC_EXPEDITION_NAME}/standalone - # - ${BASE_DIR}/${SERVER_NAME}/server/${MC_EXPEDITION_NAME}/data/dynmap/web/tiles:/var/www/maps/${MC_EXPEDITION_NAME}/tiles + # - ./server/${MC_EXPEDITION_NAME}/data/dynmap/web/standalone:/var/www/maps/${MC_EXPEDITION_NAME}/standalone + # - ./server/${MC_EXPEDITION_NAME}/data/dynmap/web/tiles:/var/www/maps/${MC_EXPEDITION_NAME}/tiles # # Dynmap => Testing - # - ${BASE_DIR}/${SERVER_NAME}/server/${MC_TESTING_NAME}/data/dynmap/web/standalone:/var/www/maps/${MC_TESTING_NAME}/standalone - # - ${BASE_DIR}/${SERVER_NAME}/server/${MC_TESTING_NAME}/data/dynmap/web/tiles:/var/www/maps/${MC_TESTING_NAME}/tiles + # - ./server/${MC_TESTING_NAME}/data/dynmap/web/standalone:/var/www/maps/${MC_TESTING_NAME}/standalone + # - ./server/${MC_TESTING_NAME}/data/dynmap/web/tiles:/var/www/maps/${MC_TESTING_NAME}/tiles # labels: # com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/nginx.svg # com.getarcaneapp.arcane.updater: false @@ -319,7 +319,7 @@ services: # - ${PHP_PORT:-9000}:9000 # volumes: # - /etc/timezone:/etc/timezone:ro - # - ${BASE_DIR}/${SERVER_NAME}/services/nginx/www:/var/www + # - ./services/nginx/www:/var/www # labels: # #com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/nginx.svg # com.getarcaneapp.arcane.updater: false @@ -338,8 +338,8 @@ services: # MYSQL_PASSWORD: ${DB_PASSWORD} # volumes: # - /etc/localtime:/etc/localtime:ro - # - ${BASE_DIR}/${SERVER_NAME}/.docker/mysql/init:/docker-entrypoint-initdb.d - # - ${BASE_DIR}/${SERVER_NAME}/services/mysql:/var/lib/mysql + # - ./.docker/mysql/init:/docker-entrypoint-initdb.d + # - ./services/mysql:/var/lib/mysql # labels: # #com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/nginx.svg # com.getarcaneapp.arcane.updater: false @@ -353,7 +353,7 @@ services: # - ${REDIS_PORT}:6379 # volumes: # - /etc/localtime:/etc/localtime:ro - # - ${BASE_DIR}/${SERVER_NAME}/services/redis:/var/lib/redis + # - ./services/redis:/var/lib/redis # labels: # com.centurylinklabs.watchtower.enable: "false" # com.centurylinklabs.watchtower.monitor-only: "true" From 41aff11426139ad4068ffc118a261d3feacdc0da Mon Sep 17 00:00:00 2001 From: xPand4B Date: Tue, 2 Jun 2026 12:45:13 +0200 Subject: [PATCH 13/13] feat(chore): updated opencode workflow model to flash --- .github/workflows/opencode.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml index a2d208f..2e2de20 100644 --- a/.github/workflows/opencode.yml +++ b/.github/workflows/opencode.yml @@ -30,4 +30,4 @@ jobs: env: OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} with: - model: opencode-go/deepseek-v4-pro \ No newline at end of file + model: opencode-go/deepseek-v4-flash \ No newline at end of file