Setting up a BDS

May 31, 2020

How it began

Minecraft Editions

Some years ago I would play Minecraft all day long till my eyes became red. Well, precisely I played Minecraft Java Edition which was the only edition one thought to play and have fun because even though Minecraft Pocket Edition (it was called like this) was yet out, it did lack of fun blocks such as rails or redstone!
Eventually I got bored and had something else to do.


At the time of writing Minecraft version is 1.14.60, both Java and Bedrock (which is the new name of the Pocket Edition), having almost every feature in all versions, therefore at first glance one could be tricked in to thingking that they are the same game with two different names.
While Minecraft Java Edition is coded using Java language, Minecraft Bedrock Edition is written in C++. The two code languages manage data in slightly different ways with exetremely weird results when it comes to redstone contraptions/circuits.
Beside that, there is a clear interest by Mojang to develop Bedrock version because it's available on mobile, console and Windows 10. Plus, it's cross-platform (even if you can't play with somene who is using the Java Edition). Furthermore, to play Bedrock you must buy it from a centralised store so it's harder to get it illegaly for free.
Lastly Minecraft Windows 10 Edition (another name for Bedrock on Windows 10) will enebale in the future the possibility to play it with ray tracing, an awesome technology that produces astonishing graphics when it comes to light management in Minecraft.
Having already bought Bedrock a long time ago on the Playstaion 4 store and on the iOS store I've decided that now was the time to play it again.

The Server

First attempt

At first I just wanted to play again in the world I made back when I would play the Java edition and maybe to show it to my friends who lately beguin to play Bedrock. This is why I needed a Server.
I found this wiki page and I've tried two popular Bedrock server software: PMMP and NukkitX. These softwares have the peculiarity that they use Minecraft Java database system so potentially I could load my savings and beguin to play.
Not at all! There are all sorts of issue doing so. Eventually I opted to convert my savings to a Bedrock format with MCC Tool Chest, losing the possibility to load them into PMMP or NukkitX.

Second attempt

Here came Mojang to rescue me: it allows you to run your very own Bedrock Dedicated Server for free, but you can only do it on Windows or Ubuntu…f***k (I use macOS).
Luckily with virtualization I could run a Ubuntu Server VM from my Mac an set up a working Minecraft server. I even found a project on Github thanks to which with some scripts it is possible to have everything working with very little setup.


There was just one thing I hated of this setup: there was no way to quickily change server without saving and exiting the game. For this reason I made some researches and I found out that actually there is a simple way to do that (even in a semi-official way) with some softwares, but unfortunately only on Windows…
This is the time where Docker came exetremely handy (like every time you have to use it), because you can run a modded version of a BDS called ElementZero that enables you to do precisely what I wanted to do on any system that can run Docker!
That was it! I was finally able to build my Minecraft