About Me
From a young age, I’ve always loved tinkering with technology both old and new. Gradually I’ve managed to pick up some experience over the years, especially with Android phones as we had an abundance of old unusable smartphones somehow acquired. I’ve learnt to gain root access, installing custom OS’s, one of the first bigger projects I did was to convert the phones into security cameras, which is a surprisingly a hard thing to have them constantly, reliably running.
Lately my friends have introduced me to the wonders of Minecraft, as I have been quite sheltered from video games until this year. This journey of discovery led me to create a Minecraft Server for me and my friends which took a long time to get to a standard I was happy with. Below, I’ve written about how one may follow my steps. Some prior technical knowledge is required, but being a server admin requires a relative technical fluency to a standard anyway.
Running a MC server
Running a Minecraft server on a phone might seem ludicrous at first sight, but this voxel-based game is at heart a extremely convoluted Java program (except for the Bedrock version which is its own rat’s nest). This means that theoretically any device with a Java Virtual Machine ported can theoretically run Minecraft. In fact Pojav Launcher shows what a dedicated team can do to allow you to play Java Minecraft on a mobile device.
Why run it on a phone?
If you look at the pricing for a Raspberry Pi, prices can fetch up to £100 per Pi, and only for okay specs, while I was able to acquire a SG10+ with a cracked screen for £40, which has a much better cpu, memory and storage. For a basic comparison look at these scores S10+ Geekbench and Pi4 Geekbench , 3 times the performance for less than half the price! Of course, benchmarks aren’t everything but for Java programs, especially a Minecraft server single thread CPU performance is one of the most important metrics.
The steps
- Obtain a suitable tar.gz e.g. Ubuntu tar.gz
- Create a chroot environment An example script to use
- Install a OpenJdk variant suitable for your architecture e.g. Adoptium OpenJdk
- Run a suitable server e.g. PaperMC
- Profit!
Things to note
- Security Issues – Although running in a sandboxed chroot environment, you are still likely running an outdated Linux Kernel unless your phone is supported by PostMarketOS.
- Install screen to allow the program to keep running after closing your shell if you’re using adb shell(add service.adb.tcp.port=5555 to build.prop for always on network access to interact) which is arguably the easiest way
-
Use
chroot /data/ubuntu/ /bin/su – root
to re-enter, running the whole script again will cause android to go crazy.