Open cn-ml opened 10 months ago
It might be an issue with Purpur, but also be sure to re-pull the latest image since I have just made improvements to server properties unicode handling in the past couple of days. Speaking of which, you may need to set the newly added SERVER_PROPERTIES_ESCAPE_UNICODE
to "true".
FWIW,
services:
mc:
image: itzg/minecraft-server
environment:
EULA: true
MOTD: "A §l§cMinecraft§r §nserver"
ports:
- "25565:25565"
volumes:
- mc:/data
volumes:
mc: {}
correctly renders as
...actually, changing that to
environment:
EULA: true
MOTD: "A §l§cMinecraft§r §nserver"
TYPE: PURPUR
still renders fine. If you're still having issues, add DUMP_SERVER_PROPERTIES: true
and provide the server properties output during init.
...and trying
environment:
EULA: true
MOTD: "welcome to §athis server§r!§r\nwe are playing §bVanilla Minecraft §d1.20.2"
TYPE: PURPUR
I just pulled the latest java17-graalvm tag from docker hub (3 hours old)
This is the output of the server startup when running with DUMP_SERVER_PROPERTIES: true
with the compose environment variable MOTD: "Herzlich willkommen beim §aMinenhandwerk§r!§r\nWir spielen §bVanilla Minecraft §d1.20.2"
:
[init] Changing uid of minecraft to 1001
[init] Changing gid of minecraft to 1001
[init] Running as uid=1001 gid=1001 with /data as 'drwxr-xr-x 14 1001 1001 4096 Nov 13 02:22 /data'
[init] Resolving type given PURPUR
[mc-image-helper] 02:23:24.852 INFO : Resolved Purpur version 1.20.2 build 2090
[mc-image-helper] 02:23:24.981 INFO : The file /data/purpur-1.20.2-2090.jar is already up to date
[init] Removing old mods including:*.jar,*-version.json excluding:
[init] Copying any plugins from /plugins to /data/plugins
[mc-image-helper] 02:23:28.311 INFO : Copying /plugins/BlueMap-3.17-paper.jar -> /data/plugins/BlueMap-3.17-paper.jar
[mc-image-helper] 02:23:28.320 INFO : Copying /plugins/Vault.1.7.3.jar -> /data/plugins/Vault.1.7.3.jar
[mc-image-helper] 02:23:28.323 INFO : Copying /plugins/CoreProtect-22.2.jar -> /data/plugins/CoreProtect-22.2.jar
[mc-image-helper] 02:23:28.324 INFO : Interpolating /plugins/EssentialsDiscordLink/config.yml -> /data/plugins/EssentialsDiscordLink/config.yml
[mc-image-helper] 02:23:28.327 INFO : Copying /plugins/EssentialsXChat-2.20.1.jar -> /data/plugins/EssentialsXChat-2.20.1.jar
[mc-image-helper] 02:23:28.328 INFO : Interpolating /plugins/EssentialsDiscord/config.yml -> /data/plugins/EssentialsDiscord/config.yml
[mc-image-helper] 02:23:28.332 INFO : Copying /plugins/EssentialsXDiscordLink-2.20.1.jar -> /data/plugins/EssentialsXDiscordLink-2.20.1.jar
[mc-image-helper] 02:23:28.334 INFO : Interpolating /plugins/LuckPerms/config.yml -> /data/plugins/LuckPerms/config.yml
[mc-image-helper] 02:23:28.339 INFO : Copying /plugins/EssentialsX-2.20.1.jar -> /data/plugins/EssentialsX-2.20.1.jar
[mc-image-helper] 02:23:28.342 INFO : Copying /plugins/TAB v4.0.9.jar -> /data/plugins/TAB v4.0.9.jar
[mc-image-helper] 02:23:28.344 INFO : Copying /plugins/EssentialsXDiscord-2.20.1.jar -> /data/plugins/EssentialsXDiscord-2.20.1.jar
[mc-image-helper] 02:23:28.350 INFO : Copying /plugins/LuckPerms-Bukkit-5.4.106.jar -> /data/plugins/LuckPerms-Bukkit-5.4.106.jar
[init] Enabling whitelist functionality
[init] Setting mode
[init] DEBUG Dumping server.properties
#Minecraft server properties
#Mon Nov 13 02:22:41 CET 2023
enable-jmx-monitoring=false
level-seed=-6687876678944730503
rcon.port=25575
gamemode=survival
enable-command-block=false
enable-query=true
generator-settings={}
enforce-secure-profile=true
level-name=world
motd=Herzlich willkommen beim ��aMinenhandwerk��r\!��r\nWir spielen ��bVanilla Minecraft ��d1.20.2
query.port=25565
pvp=true
generate-structures=true
max-chained-neighbor-updates=1000000
difficulty=normal
network-compression-threshold=256
max-tick-time=60000
require-resource-pack=false
max-players=20
use-native-transport=true
online-mode=true
enable-status=true
allow-flight=false
initial-disabled-packs=
broadcast-rcon-to-ops=true
view-distance=10
server-ip=
resource-pack-prompt=
allow-nether=true
server-port=25565
enable-rcon=true
sync-chunk-writes=true
server-name=Unknown Server
op-permission-level=4
prevent-proxy-connections=false
hide-online-players=false
resource-pack=
entity-broadcast-range-percentage=100
simulation-distance=10
rcon.password=<private rcon password>
player-idle-timeout=0
debug=false
force-gamemode=false
rate-limit=0
hardcore=false
white-list=true
broadcast-console-to-ops=true
spawn-npcs=true
spawn-animals=true
log-ips=true
function-permission-level=2
initial-enabled-packs=vanilla
level-type=minecraft\:normal
text-filtering-config=
spawn-monsters=true
enforce-whitelist=true
spawn-protection=0
resource-pack-sha1=
max-world-size=29999984
[init] Using server icon from <my icon>...
[init] log4j2.xml already created, skipping
[init] Using Aikar's flags
[init] Setting initial memory to 2G and max to 2G
[init] Starting the Minecraft server...
I also just checked if the issue is during docker setup, but inspecting the docker container reveals that the environment variable is indeed set correctly (as shown above).
Something seems to be unusual with GraalVM. I see what you are reporting with java17-graalvm
but changing only the image to itzg/minecraft-server:java17
generates the properties file correctly:
motd=Herzlich willkommen beim §aMinenhandwerk§r\!§r\nWir spielen §bVanilla Minecraft §d1.20.2
That's unusual, i expected the server properties to not be influenced by the bundled java runtime. I'd also prefer to run graalvm for my server in the long term. Switching to Hotspot seems to a possible workaround for now. Thanks for the quick help.
I'll keep this issue opened for GraalVM instead.
Agreed, there's entire compatibility suites that the JREs are supposed to comply with...but maybe properties I/O is not part of that 😀 And Oracle gets to do whatever they want with their GraalVM 😉
That's unusual, i expected the server properties to not be influenced by the bundled java runtime
To clarify this, the mc-image-helper tool, which is used for several things including server.properties setup, is a Java app that has to use the bundled JVM.
To clarify this, the mc-image-helper tool, which is used for several things including server.properties setup, is a Java app that has to use the bundled JVM.
Ah, that's the part that i missed. I thought that that was also part of the shell scripts in the container. Thanks for the clarification.
Ah, that's the part that i missed. I thought that that was also part of the shell scripts in the container. Thanks for the clarification.
FWIW it used to be. Re-implementing in Java opened up more features and capabilities...but didn't know I'd be dealing with incompatible Java behavior like it was the 1990's 😄 .
This issue is stale because it has been open 30 days with no activity. Please add a comment describing the reason to keep this issue open.
Just recently switched to Graal to implement some optimizations and was confused when my MOTD broke. +1 hope there's a way to fix this in the future!
Describe the problem
The MOTD of my server displays incorrectly: Instead of the color codes entered as environment variables the motd contains two unknown characters instead of the color formatting sign:
I tried all of the below versions:
Container definition
Container logs