CurseForge Modpackを導入したMinecraft Java版 サーバ in Docker

前回の記事: https://blog.aoirint.com/entry/2021/minecraft_server/ https://hub.docker.com/r/itzg/minecraft-server https://github.com/itzg/docker-minecraft-server 例: https://github.com/aoirint/minecraft-server-pixelmon-cj 2021年12月に確認されたLog4j 脆弱性(Log4jShell)への対応(Minecraft 1.7~1.18を使用する場合) Minecraft公式から、旧バージョンにおける脆弱性対応手順が案内されています。 https://www.minecraft.net/ja-jp/article/important-message–security-vulnerability-java-edition-jp Minecraftサーバー この記事で使用するDockerイメージitzg/minecraft-serverでは、自動的に脆弱性への対応が適用されます。 https://github.com/itzg/docker-minecraft-server#mitigated-log4jshell-vulnerability Minecraftクライアント(CurseForge Appに管理された環境) CurseForge Appでは、Minecraft向けに対応するパッチが適用されているようです(CurseForge Appが管理するMinecraft公式ランチャーのバージョンを脆弱性対応した新しいものに設定している?)。 We already released a patch to the app https://support.overwolf.com/en/support/solutions/articles/9000196615-curseforge-known-issues#Minecraft Mod CurseForge上で脆弱性の影響を受けるModは削除されているようです(独自にlog4jを同梱していたり、特殊な実装をしていたりするものしか影響を受けない気がする)。 to our best knowledge, any vulnerable mod was removed https://support.overwolf.com/en/support/solutions/articles/9000196615-curseforge-known-issues#Minecraft Modpackを導入して新規ワールド生成 CurseForge Appまたはcurseforge.comから、導入するModpackのServer Pack serverpack000_my_mod_pack.zip をダウンロードしてください。 以下では例としてMinecraft 1.12.2の環境ですが、Modpackに対応した本体バージョンに変更してください。 Minecraft公式リリースノート: https://feedback.minecraft.net/hc/en-us/sections/360001186971-Release-Changelogs docker-compose.yml version: "3.9" services: minecraft: image: itzg/minecraft-server:2022.11.0-java8-jdk ports: - "${HOST_MINECRAFT_PORT}:25565" # - "${HOST_DYNMAP_PORT}:8123" environment: EULA: "TRUE" TZ: ${TZ} TYPE: "CURSEFORGE" # https://github.com/itzg/docker-minecraft-server#server-types CF_SERVER_MOD: /modpacks/serverpack000_my_mod_pack.zip VERSION: "1.12.2" # https://feedback.minecraft.net/hc/en-us/sections/360001186971-Release-Changelogs DIFFICULTY: ${DIFFICULTY} SERVER_NAME: ${SERVER_NAME} ENABLE_WHITELIST: ${ENABLE_WHITELIST} WHITELIST: ${WHITELIST} OPS: ${OPS} SPAWN_PROTECTION: ${SPAWN_PROTECTION} VIEW_DISTANCE: ${VIEW_DISTANCE} SEED: ${SEED} MODE: ${MODE} PVP: ${PVP} LEVEL_TYPE: ${LEVEL_TYPE} GENERATOR_SETTINGS: ${GENERATOR_SETTINGS} ONLINE_MODE: ${ONLINE_MODE} tty: true stdin_open: true restart: always volumes: - ./data:/data - ./modpacks:/modpacks .env HOST_MINECRAFT_PORT=0.0.0.0:25565 HOST_DYNMAP_PORT=127.0.0.1:8123 TZ=Asia/Tokyo SERVER_NAME=my-mod-pack-server MOTD= ENABLE_WHITELIST=false WHITELIST= OPS= SPAWN_PROTECTION=0 VIEW_DISTANCE= SEED= DIFFICULTY=hard MODE=survival PVP=true LEVEL_TYPE=normal GENERATOR_SETTINGS= ONLINE_MODE=true HOST_MINECRAFT_PORT: 外部に直接公開(TCP) HOST_DYNMAP_PORT: リバースプロキシでHTTPS化を想定してローカルループバックアドレスにバインド WHITELIST, OPS: カンマ区切りでプロフィール名を記述 サーバ側Modの追加 ModPackへの追加は、初期化以外のタイミングでは反映されないため、./dataディレクトリのmodsフォルダに、通常のMod導入手順と同様に追加します。 ...

2022年10月19日 · aoirint

Minecraft Server

https://github.com/itzg/docker-minecraft-server https://feedback.minecraft.net/hc/en-us/sections/360001186971-Release-Changelogs docker-compose.yml version: "3.9" services: minecraft: image: itzg/minecraft-server ports: - "${SERVER_PORT}:25565" environment: EULA: "TRUE" OVERRIDE_SERVER_PROPERTIES: 'false' # overwrite on every container start if true TZ: ${TZ} TYPE: ${TYPE} # https://github.com/itzg/docker-minecraft-server#server-types VERSION: ${VERSION} # https://feedback.minecraft.net/hc/en-us/sections/360001186971-Release-Changelogs SERVER_NAME: ${SERVER_NAME} MOTD: ${MOTD} ENABLE_WHITELIST: ${ENABLE_WHITELIST} WHITELIST: ${WHITELIST} OPS: ${OPS} SPAWN_PROTECTION: ${SPAWN_PROTECTION} VIEW_DISTANCE: ${VIEW_DISTANCE} SEED: ${SEED} DIFFICULTY: ${DIFFICULTY} MODE: ${MODE} PVP: ${PVP} LEVEL_TYPE: ${LEVEL_TYPE} GENERATOR_SETTINGS: ${GENERATOR_SETTINGS} ONLINE_MODE: ${ONLINE_MODE} tty: true stdin_open: true restart: unless-stopped volumes: - ./data:/data .env SERVER_PORT=0.0.0.0:25565 TZ=Asia/Tokyo TYPE=VANILLA VERSION=1.17.1 SERVER_NAME=MyServer MOTD=A Vanilla Minecraft Server powered by Docker ENABLE_WHITELIST=true WHITELIST=user1,user2 OPS=user1 SPAWN_PROTECTION=0 VIEW_DISTANCE= SEED= DIFFICULTY=normal MODE=survival PVP=true LEVEL_TYPE= GENERATOR_SETTINGS= ONLINE_MODE=true スーパーフラット https://github.com/itzg/docker-minecraft-server#level-type-and-generator-settings https://minecraft.fandom.com/wiki/Superflat ※ 1.17.1でうまく動きませんでした(常にデフォルトのフラットワールドが生成される)。 代わりに、クライアントでワールドを生成してからサーバにコピーする方法が使えます。 ...

2021年11月6日 · aoirint