Bedrock server manager

Bedrock server manager Used AI

12 devlogs
26h 34m
•  Ship certified
Created by DjaydenR

A little project that turned into a way bigger project, originally I was planning on just releasing a script that made a backup of your bedrock server. When I was working on some other scripts for my server, I realized I could just make one big program that manages all parts of a bedrock server. This program will run updates, make and remove backup's automatically, update dynamic server addresses and handle automatic shutdown of the server.
AI was used in the making of this code, for the load_config.py and the markup of the README.md

Timeline

Ship 1

1 payout of shell 459.0 shells

DjaydenR

about 2 months ago

DjaydenR Covers 12 devlogs and 26h 34m

I have finally got it to run fully without errors, granted I wasn't able to fully check every function due to time restraint. So I predict that there will be quite some errors when other people run it on different machines. I will be working on it after this event, but for now, I will actually ship the project. I also added some tutorials to the README and updated it some more.

Update attachment
Earned sticker

I have changed the name from my project to Bedrock Server Manager, since the last name was just too long. The internal name of the Broadcaster has also been changed to console bridge. The licence has been added to my repo, I added credit for the code I used from other people and added a disclaimer about AI use to the description. I have discovered a problem with the program; it can't work with undefined services yet, as a temporary fix I made the all services required. The README.md has also been made nicer, I did use AI for it, but now it looks very fancy

Update attachment
Earned sticker

I ran many tests and fixed a lot of bugs after adding a setup.sh script, but I still need to implement a few features, like updates, automatic configuration of the console connector, and a licence. Still, I think I’m going to ship the project, since it does work currently. I’ll be actively working on the project every day and hope to finish it tomorrow or the day after.

Update attachment
Earned sticker

Instead of making another long paragraph, I will just make a bullet list.

What I have done:
— Enabled type checking in Pylance, which fixed a lot of potential bugs
— Implemented config loading with type checking (I will work on the variable names later)
— Added more questions to the config
— Made the config run automatically for new users

Next Steps
— Do full test runs.
— Replace remaining shell commands with library functions.

Update attachment
Earned sticker

I have worked on my project multiple times, so this devlog will be a bit all over the place. I removed the need for a GitHub token (idk why I even used it to begin with). The program relies on some repositories, and now it downloads them automatically. I do need to figure out how the licensing works and whether I need to use a certain type of licence. Some questions have been added about the automatic shutdown. A config.yaml is now automatically created after the setup questions and is also imported by all the parts of the program.

There is still a lot of work I need to get done, and I hope I will be able to do it before the end of this event.

Update attachment
Earned sticker

I finally got GitHub working, this was my first time actually using GitHub like I am meant to instead of just putting everything into Google Drive. I also added a nice file structure to my project and some code that adds the configuration variables to a config.yaml. And I made another function that the rest of the code uses to fetch the variables from the .yaml file. Now I just need to make all the set-up question I missed and then add a bash script people can run to make it all work by itself.

Update attachment

Still deciding on some different ways of phrasing and order of questions, but I have made quite a lot of progress, almost all the setup questions are integrated. I am also thinking about making the UI look extra nice by using some colours or styling for text.

Update attachment

I was making a start with the onboarding/setup part of the program, but after 20 minutes I realized that what I was doing was really inefficient and didn't look that good. So I searched the internet (just used AI) and found a much better way to make a setup program, using the questionary library. Attached is the example from the GitHub page.

Update attachment

I have basically forgotten to log around 10 to 15 hours of work, so there is a lot I can explain. Instead of just a backup program, I was creating many more programs that work together to manage a minecraft instance. I am still thinking on how I am going to package these so it can actually be useful for people. Since it is a lot of setting up I think I am going to have to make a readme file to explain all the steps.

Update attachment

I have made the Google Drive backup work, it was surprisingly easy using rclone. I also added all the code to functions, now I just need to add some error logging and maybe a setup process?

Update attachment

Used subprocess.run instead of the os module, since it can save output, which can be checked for error's later on, and also because it is easier to add other variables to the command. I also made the file copy to the hard drive folder. Just need to actually make Google Drive work and then add a lot of error checking.

Update attachment

Decided on using rclone instead of Pydrive for uploading files to Google Drive, since referencing to folder like this is annoying, and I would much rather just use something like drive:backup

Update attachment