Recent Entries
- An Update to Beacon’s Free Cloud Storage Policy
- Beacon 2.0 Has Been Released! Here’s What’s Coming Next.
- Happy Summer! That Means It’s Time for Beacon’s 2023 Roadmap
- Let’s Talk About Beacon and Ark: Survival Ascended [Updated]
- Beacon 1.6.3: The Security Update
- Beacon Summer 2022 Development Update
- Introducing Beacon's AI Config Generator
- Beacon Summer 2021 Dev Update
- Preparing Beacon for Ark: Genesis Part 2
- Beacon's API v2
Feeds
Ark's Message of the Day Bug
Published (Updated )
Ark currently has a problem writing your Message of the Day to its GameUserSettings.ini file which causes the wrong value to be used after the second server start.
It's all about newline characters, or line breaks. So if you wanted your message to look like
Welcome to the server! Play nice!
Then the config should be written as
Message="Welcome to the server!\nPlay nice!"
And Ark will read the message perfectly on server start. But it will also change the config to look like
Message=Welcome to the server!
Play nice!
And that will still work... so no problem right? In this case, no there won't be a problem. But once the message starts to get more complex, it does become a big problem. Colors using <RichColor>
and slashes /
, such as would be included in a Discord link, will both get messed up. The message needs to be wrapped in quotation marks to ensure the slashes do not get treated as color termination characters. So expanding on the example, let's say we now want:
Welcome to the server!
Play nice!
Join the Discord at https://discord.gg/invite!
The correct config is:
Message="Welcome to the server!\nPlay nice!\nJoin the Discord at<RichColor Color=\"1.00,1.00,0.04,1\">https://discord.gg/invite</>!"
Note that I made the yellow in the code above different from the example code so it can be more visible on all screens.
And Ark changes it to:
Message=Welcome to the server!
Play nice!
Join the Discord at<RichColor Color=1.00,1.00,0.04,1">https:
Now that last line is completely messed up. It is missing the opening quotation mark after the Color=
portion of the RichColor tag, so it will be displayed in the game exactly as seen in the config. And the Discord link itself is gone because the slashes in the link were treated as the color termination sequence.
Let me repeat so it is absolutely clear: Ark is loading the correct config from the GameUserSettings.ini file, then immediately writing it back to the same file in the wrong format. I cannot fix this for Wildcard.
Where Do We Go From Here?
For Beacon, I honestly don't know. Perhaps line breaks shouldn't be allowed. But I don't believe the quotation marks will be maintained either, which will end up breaking links on the second server start. I could have Beacon disallow both line breaks and slashes, but those are both valid in some scenarios.
The best thing that can happen is for Wildcard to fix the problem. I don't have any experience with their code, so I can't say "just" do something. But from an outsider looking in, it seems like the easiest fix is to not have Ark rewrite the message on server start. I bet it does this because the cheat code SetMessageOfTheDay
and config parsing might both point to the same function, and that function writes the value to the file. It's what you want to happen if you call SetMessageOfTheDay
, but if you're just starting the server, Ark shouldn't be changing the value.
Alternatively, Wildcard could fix their code that writes the message to the ini. But there are a lot of weird behaviors to get correct here, that I'm not confident they would get right. That's why I think it's a better idea to not rewrite the config at all.
We need Wildcard's attention on this. Make forum posts. Here are the bug report sections for the forums: Xbox and PS4. For PC servers, bug reporting is done with this form but be aware that it will show as a missing item until you log in.
Let's get this fixed. Feel free to link to this post. Please share it to other admins.