Provide option to escape unicode in server.properties

This commit is contained in:
Geoff Bourne 2023-11-10 22:16:51 -06:00
parent bf621356c1
commit f5c332736d
3 changed files with 7 additions and 1 deletions

View file

@ -42,7 +42,7 @@ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--var version=1.9.1 --var app=mc-server-runner --file {{.app}} \
--from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
ARG MC_HELPER_VERSION=1.36.6
ARG MC_HELPER_VERSION=1.36.7
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

View file

@ -24,6 +24,10 @@ renders
![](../img/motd-example.png)
!!! note "Escape unicode"
Some Minecraft versions and server types do not support unicode characters, such as §, in `server.properties`. In those cases, an extra "\u00C2" will appear in the file and the client will render those as  characters. Unicode characters can be written as escaped codes by setting the environment variable `SERVER_PROPERTIES_ESCAPE_UNICODE` to "true".
To produce a multi-line MOTD, embed a newline character as `\n` in the string, such as
-e MOTD="Line one\nLine two"

View file

@ -110,11 +110,13 @@ function customizeServerProps {
setPropertiesArgs=(
--definitions "/image/property-definitions.json"
--escape-unicode="${SERVER_PROPERTIES_ESCAPE_UNICODE:-false}"
)
if [[ -v CUSTOM_SERVER_PROPERTIES ]]; then
setPropertiesArgs+=(--custom-properties "$CUSTOM_SERVER_PROPERTIES")
fi
handleDebugMode
if ! mc-image-helper set-properties "${setPropertiesArgs[@]}" "$SERVER_PROPERTIES"; then
log "ERROR: failed to update server.properties"
exit 1