From 906b110f940447aa8c67b76202f32b70a886f373 Mon Sep 17 00:00:00 2001 From: Geoff Bourne Date: Sun, 27 Aug 2023 09:43:46 -0500 Subject: [PATCH 1/2] Supports property removal, starting with white-list Using set-properties from mc-image-helper --- Dockerfile | 15 ++++++++++++--- bedrock-entry.sh | 3 ++- ...mp monitoring discovery broadcast packet.png | Bin 0 -> 56276 bytes property-definitions.json | 3 +-- 4 files changed, 15 insertions(+), 6 deletions(-) create mode 100644 docs/Example of tcpdump monitoring discovery broadcast packet.png diff --git a/Dockerfile b/Dockerfile index 5280403..233446b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,7 @@ -FROM debian +# using focal, rather than jammy to align with latest in +# https://github.com/itzg/docker-minecraft-server/blob/master/.github/workflows/build-multiarch.yml +ARG BASE_IMAGE=eclipse-temurin:17-jre-focal +FROM ${BASE_IMAGE} # hook into docker BuildKit --platform support # see https://docs.docker.com/engine/reference/builder/#automatic-platform-args-in-the-global-scope @@ -38,12 +41,18 @@ RUN chmod +x /usr/local/bin/easy-add RUN easy-add --var version=0.4.0 --var app=entrypoint-demoter --file {{.app}} --from https://github.com/itzg/{{.app}}/releases/download/v{{.version}}/{{.app}}_{{.version}}_linux_${TARGETARCH}.tar.gz -RUN easy-add --var version=0.1.1 --var app=set-property --file {{.app}} --from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_linux_${TARGETARCH}.tar.gz - RUN easy-add --var version=1.6.2 --var app=restify --file {{.app}} --from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_linux_${TARGETARCH}.tar.gz RUN easy-add --var version=0.5.0 --var app=mc-monitor --file {{.app}} --from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_linux_${TARGETARCH}.tar.gz +ARG MC_HELPER_VERSION=1.34.6 +ARG MC_HELPER_BASE_URL=https://github.com/itzg/mc-image-helper/releases/download/${MC_HELPER_VERSION} +# used for cache busting local copy of mc-image-helper +ARG MC_HELPER_REV=1 +RUN curl -fsSL ${MC_HELPER_BASE_URL}/mc-image-helper-${MC_HELPER_VERSION}.tgz \ + | tar -C /usr/share -zxf - \ + && ln -s /usr/share/mc-image-helper-${MC_HELPER_VERSION}/bin/mc-image-helper /usr/bin + COPY *.sh /opt/ COPY property-definitions.json /etc/bds-property-definitions.json diff --git a/bedrock-entry.sh b/bedrock-entry.sh index 274fb07..253d9c9 100755 --- a/bedrock-entry.sh +++ b/bedrock-entry.sh @@ -19,6 +19,7 @@ function isTrue() { function lookupVersion() { platform=${1:?Missing required platform indicator} + # shellcheck disable=SC2034 for i in {1..3}; do DOWNLOAD_URL=$(restify --user-agent=itzg/minecraft-bedrock-server --headers "accept-language:*" --attribute=data-platform="${platform}" "${downloadPage}" 2> restify.err | jq -r '.[0].href' || echo '') if [[ ${DOWNLOAD_URL} ]]; then @@ -183,7 +184,7 @@ if [[ -v ALLOW_LIST_USERS || -v WHITE_LIST_USERS ]]; then export WHITE_LIST ALLOW_LIST fi -set-property --file server.properties --bulk /etc/bds-property-definitions.json +mc-image-helper set-properties --definitions /etc/bds-property-definitions.json server.properties export LD_LIBRARY_PATH=. diff --git a/docs/Example of tcpdump monitoring discovery broadcast packet.png b/docs/Example of tcpdump monitoring discovery broadcast packet.png new file mode 100644 index 0000000000000000000000000000000000000000..a64458bf6544be5dbc8541b3f565717b7417da20 GIT binary patch literal 56276 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

{&CmG)!N)fdQAj+|H84Whpyr5qDu02)4m?x79 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%0AO430 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

-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

pWuJHinZN21%s1C#fvc&oJ zAtZ_q-UW`2s3!(}KqwXVMRN)l1slvHgfrg@$y4>4JK*;(w8=L_{5s~B0xWyvZNg>M zsS}zU^|8b4{ZRIptaeJl)Y7am$3(Gxy|9hLlgmR-C|!x;I@cebixz^u zWq5OARe4xaAqb(vQi@G^@phTZM7>vjuy!x z(cuFbwUl+J`cnT?oQSBXbLLrgeo5unOA$Q3qJV26Q4Yxd#M#iTK{JhjB`c*V-bjLU z6fcz~jZ%*EEn}*VIGHggrVvpG#2$pATSHOc@cgm6$nP0|j=4jl?LLy=uUS`bq}cHA zEta9R#Y!#8_?d!@8%A`415SkpSO%?&aC2|ytyU-xx30bnKX}31Z;G|WGoO!H8+HqD z)B5mAS@D^vD0)7BfRcXR$!y~=8kUS`?AwD@(k$ozT9rAURXJ*+q1Ck97KTAQw%&Xl zE7;={HVT#j#2Vlf5YN80uzh9!LS&7%U}?|nV=EjQaI&Xz1L5a-J*B`$rjx_9=5{?z zE3|=@%(V7bk1>@_ZA>StmDbtlU)0j{RR~gafRQ_~R!K9#@31*F;jN+Vo-tms@c3D; zNK#X(QI^m#&8t{cYh-$NwR7Bp|KCuQ3&doA{lak_@{Ntuoet)S>ag32S}E708O8Jy zaP`Enzkkpcw%8$`PvUmHzb9_Ep}#gmbM5gRvB-;TROe?DT>%#1?i50OcOotY-Gzhv z_S~n4J7To?CRxSw9_&f@0kyctSDwB?uy^Qoq!S`e{+cEBW}+kI@?s8UFPYN{SP=(b zYicR|&oH#1TQbJ_aU;?ZnsTon+R3aq+CqM}(UD4mRU#S@*OV z`tb+iip2uF`J8npK9Tmb}l0U83nhxasn z#Q=T~?(p%&^B?d{DzN*;^+sy3)$x@Z1WC=V$=)TbkpV~I06A?%n&>s%^e)zCC@0N4j!Yyaa zY1AnqHO|s~y)BH2+7Cv4T_jK&{O4a*D*SnYLEZ}3gJE3#_*X|S{>9$i59YdoNbTs; z)rBt;$qN%u`&b6NpL(x@wlhnxme3;s+Ha9cp%j&BD_O9_S-EdS9Kmd7sBDf_ATeRt zT5+zIMw5OZoUiCyFVja_Q=LOke@0wlx8VE(WMH$~{*I;F!QSSp?o-{Bd@btqoQk$| zpG=2hW?Of9b0+Jcm}qX?7_LK|ML>Hp{Clf`c6bYIv{k>6o_*kFqz)z?$`hMi)nGyl zUN0iOiMmwu56lrJ*0;$}#=QRvbEK@3PvVRe1@E|6Jia!y@I+Y7mIfZ!u`@~eU;vvwrk7tim{mQO2pyb_FOqDAJ# z`$7*n$adN8!XrzBdPq5jq*jtTCyIdUMVwWMj2vQ8GM&8#b`NMF1Pm*}d(}&GDy{jJHV% zS3nd`Lm6qFI8lRg0EjgHI3l%H47qkyn9k(!1L0l*uz;_uvP9OVo`%vZ1h5K000*3C z?F#apXMMt6ae0A6>cyk`1ldhL3prim=^G$?6}HBzKWS40N`8V-sWM~j3H<~D9yIXR zPdJ+Z{TT%OXlJ>P{xa^crV>D%gl|nZ;A9pzEJW6b*cd+K>`n9tXDmm+0N8|9au?m9OU zMzvu<2yl)G3qT8j;U5tt7&@f@D;&*d&QVZt?j@&fbb=0C^oQXA7y!OAf8!5wV(^b literal 0 HcmV?d00001 diff --git a/property-definitions.json b/property-definitions.json index 2f14cc6..1486a97 100644 --- a/property-definitions.json +++ b/property-definitions.json @@ -48,8 +48,7 @@ "allowed": ["true","false"] }, "white-list": { - "env": "WHITE_LIST", - "allowed": ["true","false"] + "remove": true }, "allow-list": { "env": "ALLOW_LIST", From 0ae043304bf3763f733f109bd26aa92751b55fdd Mon Sep 17 00:00:00 2001 From: Geoff Bourne Date: Thu, 31 Aug 2023 15:21:20 -0500 Subject: [PATCH 2/2] Use released helper --- DEVELOPMENT.md | 23 +++++++++++++++++++++++ Dockerfile | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 DEVELOPMENT.md diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md new file mode 100644 index 0000000..087f43d --- /dev/null +++ b/DEVELOPMENT.md @@ -0,0 +1,23 @@ +## Using development copy of mc-image-helper + +In the cloned copy of [`mc-image-helper`](https://github.com/itzg/mc-image-helper), create an up-to-date snapshot build of the tgz distribution using: + +```shell +./gradlew distTar +``` + +**NOTE** The distribution's version will be `0.0.0--SNAPSHOT` + +Assuming Java 18 or newer: + +```shell +cd build/distributions +jwebserver -b 0.0.0.0 -p 8008 +``` + +```shell +--build-arg MC_HELPER_VERSION=1.8.1-SNAPSHOT \ +--build-arg MC_HELPER_BASE_URL=http://host.docker.internal:8008 +``` + +Now the image can be built like normal, and it will install mc-image-helper from the locally built copy. diff --git a/Dockerfile b/Dockerfile index 233446b..3afa309 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,7 +45,7 @@ RUN easy-add --var version=1.6.2 --var app=restify --file {{.app}} --from https: RUN easy-add --var version=0.5.0 --var app=mc-monitor --file {{.app}} --from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_linux_${TARGETARCH}.tar.gz -ARG MC_HELPER_VERSION=1.34.6 +ARG MC_HELPER_VERSION=1.35.0 ARG MC_HELPER_BASE_URL=https://github.com/itzg/mc-image-helper/releases/download/${MC_HELPER_VERSION} # used for cache busting local copy of mc-image-helper ARG MC_HELPER_REV=1