Closed WaDixix closed 1 week ago
I've reviewed the parser code in Wings, and I found that the docblock in the parsePropertiesFile function explicitly addresses this issue. The current behavior—writing UTF-8 values as escaped sequences—is intentional and was implemented to fix earlier bugs where some games had trouble handling raw UTF-8 characters. However, this fix introduced a regression for other games that require unescaped UTF-8 representations.
The docblock mentions that this situation is complex, as balancing the needs of different games and handling UTF-8 sequences correctly without breaking compatibility is challenging. Therefore, this behavior might not be easily changeable or "uncorrectable" without risking further issues for other use cases.
Current Behavior
When using the
properties
parser in the wings configuration which is implemented by default on minecraft eggs to enforce certain server variables inserver.properties
, emojis and special characters in themotd
field get corrupted after a server restart.For instance, if the
motd
is set to🔥 §2Welcome§1 to my awesome §bMinecraft Server §b🏴
,it displays correctly until the server is restarted. After the restart, the motd is modified to an escaped Unicode format like:
\U0001f525 \u00a72Welcome\u00a71 to my awesome \u00a7bMinecraft Server \u00a7b\U0001f3f4
In Game Render with default pterodactyl parameter
after disabling properties parser
Expected Behavior
The properties parser should retain the original formatting of the parsed file, including emojis and special characters, without converting them to escaped Unicode sequences.
Steps to Reproduce
Edit
server.properties
and setmotd
to🔥 §2Welcome§1 to my awesome §bMinecraft Server §b🏴
.Save the changes and verify the motd appears correctly in the file.
Restart the server.
Reopen
server.properties
and observe that themotd
has been converted to escaped Unicode format.Panel Version
1.11.9
Wings Version
1.11.13
Games and/or Eggs Affected
not appliable
Docker Image
not appliable
Error Logs
No response
Is there an existing issue for this?