TheRemote/MinecraftBedrockServer

Feature Request - Add way to update to latest version of scripts

cdhagmann opened this issue · 2 comments

Would it be possible to make it so that the scripts get updated daily as well so that important changes get added to existing servers?

It's possible but it would cause a tremendous amount of problems. People often change/tweak the scripts to run on different systems/configurations or even for example when wget started freezing people commented those lines out. Many of you have already done this before and at the very least we'd have to add a DisableUpdates=1 flag to the top of the scripts and a lot of checks would need to be added all over so that people can still modify/use them the way they want without getting everything overwritten.

It would also create a giant botnet of computers that connect to this GitHub repository and download instructions every day and execute them without question. That could be very bad if GitHub or my account got hacked and someone put something super malicious in there.

That is much more invasive than what these scripts ask from users right now. You don't have to trust any of it right now and the only server it will automatically pull updates from is the official Microsoft Minecraft servers. That's fine because theoretically if something crazy enough happened you could take them to court or do a class action lawsuit etc.

Don't get me wrong, it would be very nice right now, most of all for me (since most of the problems/issues from the script that people have/open issues/comment about are missing updates related)! But there's some implications to doing this that are uncomfortable. If you look at the changelog the script usually is pretty stable but we're going through a period where there's a ton of changes all at once because Bedrock made some changes and was doing blocking of bots and a bunch of other things all at roughly the same time.

I'd say I'm open to it especially if things don't slow down with how often I have to update the script but I'm really hoping it's not necessary to add these additional risks/exposures. Theoretically if things stabilize you should be able to go months/years at a time without updates (and this is how it has been in the past) since once the script is stable it shouldn't have to change much (or at all). In fact I would say it was stable until the whole wget blocking thing started. I think it had been stable for so long when I came in here earlier in the year to clean up the issues people were asking if the project was dead!

I did add an update.sh convenience script in the folder that when you run it will call the latest version of SetupMinecraft.sh so you don't have to hunt for the URL or fire up a web browser. For those who don't know, you can always call SetupMinecraft.sh again like this:

curl https://raw.githubusercontent.com/TheRemote/MinecraftBedrockServer/master/SetupMinecraft.sh | bash

and it will update to the latest scripts for you. When it asks for the folder leave it default (~) as it's asking for the "root" folder where all the servers are located together. Next it will ask for the server label and for that put the same server label as your existing server and it will detect there's already a server there. It will safely update to the latest version for you! You don't have to reinstall from scratch or restore a backup or anything like that (although you should always make sure you have backups before messing with any updates).

Let's see if things stabilize here and this might not end up being necessary / worth it but there are definitely upsides and downsides to both approaches!

Going to close for the moment as things seem to have stabilized -- will remain open to this if circumstances change again!