Most Minecraft servers are run on x86_64 based hardware. Ampere AltraMax chips run AARCH64…which is the non-ARM specific way of saying ARM64 instruction set.
I just tested run the the Mojang Minecraft server on an AltraMax based system we have in our lab. This is not a surprise that it runs, as the Server is a pure Java application and does not use any hardware specific tools; all of the rendering happens on the client side. Here’s how I set up to run it.
My system is running Fedora 36
$ cat /etc/redhat-release Fedora release 36 (Thirty Six) |
I installed the latest OpenJDK runtime.
sudo yum install java-17-openjdk.aarch64 |
And downloaded the latest version of the server from the Mojang site. This version will change and I suggest you start here to get the actual file name.
wget https://launcher.mojang.com/v1/objects/e00c4052dac1d59a1188b2aa9d5a87113aaf1122/server.jar |
To run the server from the bash prompt
java -jar server.jar |
When you run it, it will stop with a message telling you to change the eula.txt file:
[07:20:38] [ServerMain/INFO]: Building unoptimized datafixer [07:20:39] [ServerMain/ERROR]: Failed to load properties from file: server.properties [07:20:39] [ServerMain/WARN]: Failed to load eula.txt [07:20:39] [ServerMain/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info. |
Edit that file and change false to true.
$ cat eula.txt #By changing the setting below to TRUE you are indicating your agreement to our EULA (https://aka.ms/MinecraftEULA). #Mon Jul 25 07:20:39 PDT 2022 eula=true |
Run the program again and you will see standard world setup happening.
$ java -jar server.jar Starting net.minecraft.server.Main [07:31:29] [ServerMain/INFO]: Building unoptimized datafixer [07:31:30] [ServerMain/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD' [07:31:32] [ServerMain/INFO]: Loaded 7 recipes [07:31:32] [ServerMain/INFO]: Loaded 1179 advancements [07:31:33] [Server thread/INFO]: Starting minecraft server version 1.19 [07:31:33] [Server thread/INFO]: Loading properties [07:31:33] [Server thread/INFO]: Default game type: SURVIVAL [07:31:33] [Server thread/INFO]: Generating keypair [07:31:33] [Server thread/INFO]: Starting Minecraft server on *:25565 [07:31:33] [Server thread/INFO]: Using epoll channel type [07:31:34] [Server thread/INFO]: Preparing level "world" [07:31:34] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld [07:31:36] [Worker-Main-6/INFO]: Preparing spawn area: 0% ... [07:31:38] [Worker-Main-27/INFO]: Preparing spawn area: 86% [07:31:38] [Server thread/INFO]: Time elapsed: 4172 ms [07:31:38] [Server thread/INFO]: Done (4.347s)! For help, type "help" |
Type in help and you get copious output.
Connect from your minecraft client using the FQDN or IP address of the server.
This particualr machine has 80 cores. I wonder how that would deal with the lag at Boatem?
I am confused. Why run a MINECRAFT server and suffer the Microsoft restrictions instead of a MINETEST that is totally open source and runs faster using fewer resources.
There are many ways to run a server. I’ve never run MINETEST, but I could give it a test if there is any demand. I suspect that the answer depends on what a hosting provider needs to run. They might be getting support from Microsoft and thus run the Mojang version. My suspicion is that Microsoft would use the supported server (possibly modified) for the realms hosting or for any offering they have on Azure.
OTOH, there are servers that might be using native code that would have to be compiled for ARCH64 and this would not work without a recompile.
I’m kind of an Open Source aficionado, so yeah, something like MINETEST would make sense if I were to run a server long term. Haven’t committed to that. Yet.