This last weekend I had two things I wanted to do. One of which was to rebuild our family Minecraft server.
My son asked about the server some time last week and while waiting for some glue to finishing curing for a different project, I thought I would look into it.
The Minecraft server started in 2020 conceptually, but my children were so young at the time that they didn’t care about the game and I have more fun building things than playing games. The project was brought back in 2023. The server was built on a Raspberry Pi with mixed results. It was nice that it worked, but there were problems.
Latency – The ping measured varied. The bandwidth was low and the server couldn’t support many users.
Support – The bedrock server used was Nukkit. It had a great user community and, best of all, it worked.
Mobs – I had to manually add packages for mobs of all kinds. The potential for viruses was greater than I would have preferred.
Updates – Maintaining updates wasn’t bad after I wrote some python code to automate the process. I designed the system to create backups and then update the server. The problem is that the client updates on different device OS environments didn’t come out at the same time and the server side updates would come at different times as well. There may be days that one child wouldn’t able to play while the other would. There even be some days when no child could play.
The project seemed simple. I was going to simply rebuild the Minecraft server. I could have just run updates. Instead, I decided to run the new server inside docker. To update, all I would have to do is run:
sudo docker compose down
sudo docker compose up -d
Now we get to the harder part. I wanted to allow them to see their original work from 2023. We had to move the files to a data folder outside the docker container that could be updated from outside and accessed by the container.
Along the way, we found out that Cloudburst replaced Nukkit and that neither was really the best to use in the first place. The mobs problem was fixed with using a better server option. Using an Ubuntu server on a full size computer fixed the latency issue.
More to come:
I am looking forward to using the now unused Raspberry Pi as a VPN gateway to play on the server and other projects from anywhere.