MinecraftServerControl / mscs

Powerful command-line control for UNIX and Linux powered Minecraft servers
https://minecraftservercontrol.github.io
BSD 2-Clause "Simplified" License
485 stars 62 forks source link

Server.properties file rewritten on every startup #276

Closed RudiKleinert closed 3 years ago

RudiKleinert commented 3 years ago

Hi guys, I'm not sure if this might be an actual issue but since I don't find anything on this specific topic I thought I might as well ask here and see if you know how this comes about:

I'm running two separate worlds in MSCS on ports 25565 (#1) and 25566 (#2). After a reboot of my Ubuntu-Server one of the worlds wouldn't start (I set up mscs start @reboot via cron). I turns out, the server.properties file of world #2 had been overwritten with a new one. So the level name, motd, servername and the port were all set to default. Alle the other files were untouched and - besides a new "world" folder the old world-folder was still there.

On further investigation I noticed, that the server.properties file hat a timestamp in it's headline that seems to change with every reboot of my machine. After the last reboot however the properties were not overwritten and everything works as it should. The file still had a new timestamp in the headline which tells me, that the file had indeed been touched, but this time at least not completely messed up.

My question: It rewriting the server.properties file on startup of mscs a (wanted) feature and how can I make sure that my settings won't be overwritten with default ones?

PS: In the mscs.defaults I set at least a non-default value for the "default world". So the newly generated "world" and the generic motd are not invoked by the default (although in my view the default file shouldn't overwrite world-specific settings anyhow).

Thanks for any reply and help on this topic guys!

Xarius86 commented 3 years ago

Are you using a plugin like EssentialsX that messes with things like the MOTD?

RudiKleinert commented 3 years ago

Are you using a plugin like EssentialsX that messes with things like the MOTD?

I actually do use EssentialsX, but only on the world that didn't get messed up. So world #1 is running on Paper 1.16.5 with Essentials X and world #2 is running Vannila 1.15.2. And #2 was the one that got messed up and reset to port 25565 which let it collide with world #1 on startup.

sandain commented 3 years ago

Hi @RudiKleinert. MSCS only writes to the server.properties file in the createWorld function. This function is called when mscs create (aka mscs new) or when mscs import (aka mscs copy and mscs cp) are used. Make sure that your startup sequence is not using one of these options to mscs.

RudiKleinert commented 3 years ago

Hi @RudiKleinert. MSCS only writes to the server.properties file in the createWorld function. This function is called when mscs create (aka mscs new) or when mscs import (aka mscs copy and mscs cp) is used. Make sure that your startup sequence is not using one of these options to mscs.

Hi @sandain, thanks for your reply. I'm not calling the functions you mention in my cronjob. But I will further investigate to see if I can reproduce the problem. Maybe I just made some mistake while setting up and that led to the explained behaviour.

sandain commented 3 years ago

Any luck tracking this down @RudiKleinert? If you post the console.out file for the affected world, maybe I can help.

RudiKleinert commented 3 years ago

Any luck tracking this down @RudiKleinert? If you post the console.out file for the affected world, maybe I can help.

Hi Jason, thank you for helping.

I haven't looked into it much further, as the issue didn't occur again. It now seems to me that minecraft i.e. the server itself updates the server.properties file on every restart of the server. The file's headline always includes a timestamp with the time of the last server-restart (5:00 am every day in my case). I wasn't aware that minecraft does that and thought that this must be something that mscs does.

sandain commented 3 years ago

It looks like this issue is resolved. Closing.