Playing "Minecraft" without Minecraft (free minecraft-like/compatible game)

A discussion group for the most cursed software ideas out there
Post Reply
User avatar
minki
Site Admin
Posts: 6
Joined: 2024-03-25
Location: /bin/bash
Contact:

Playing "Minecraft" without Minecraft (free minecraft-like/compatible game)

Post by minki »

Ever wanted to play the worlds second most popular videogame without actually playing it?
Well, I will guide you through it!

First of all, what do I mean by 'Playing "Minecraft" without Minecraft'?
To put it simple, Minecraft is a Videogame developed by Mojang. The game consists of two parts, a Client and a Server.
Over the years, the community has written many custom cleanroom implementations of both sides, which will allow us to play "Minecraft" without executing any Mojang code.

Requirements:
We will be using the Cuberite Server (C++), ViaProxy Protocol Translator (Java) and Minosoft Client (Kotlin).
In order to run all of these, you will need a 64 bit computer (ideally little endian, on BE you will need to use a JIT like box64 which decreases performance) with 4 or more processor cores at over 900 MHz. A minimum of 4 GB of RAM is recommended, with some trickery like zram you might get away with less but it will cause slowdown. Ideally youd want an OpenGL capable graphics card too.

Installing the Server:
Now, first of all, we need the backend of our game. The (at the time of writing this) most accurate implementation of a 1.12.2 Minecraft server is Cuberite. It implements survival mode pretty close to the original, even having a nether and end dimension. This allows us to actually beat the game which might be a cool challenge.

So, how do we install this now?
Its pretty straight forward. Go to the Cuberite Website and download the right version for your operating system and architecture. For some platforms you may have to compile from source but doing so is rather trivial due to Cuberite using pkgconfig.

Now, once you have your server binary, copy it into a folder and execute it. After a while, you will have a Minecraft-compatible server running on 127.0.0.1:25565. We will be using this later so keep it open.

Installing the Proxy:
This whole adventure has one small problem: Minecraft changed how items and blocks are named between 1.12.2 and 1.13. Minosoft does not have good support for versions below 1.14. We need a translator.
Luckily, the Minecraft community has us covered here too!
With a software called ViaProxy, anyone is able to connect any client to any server!

To run the proxy software, download the latest Jar file from the official GitHub releases page. Make sure to pick a version matching your Java build. As we will need a Java 17 JDK install to run the Kotlin program Minosoft later on, you should ideally go with a Java 17 compatible release as to not require a second Java install.

Now, run the Proxy Software and configure it as follows:
Image

After setting it up, hit Start. It should show a green text at the bottom with the IP you will later have to enter into Minosoft.

Installing the Client
Now that we have both server and proxy running, its time to get started with the Client. The currently best option for this is Minosoft.

You can download Minosoft from the GitHub Actions builds. Make sure you pick the latest build with a green marking and scroll down all the way to artifacts.

Now that you have the file acquired, we are finally ready for...

Launching the Game:
Run the file using your Java 17 JDK install.
You should be greeted by this screen:
Image
In order to connect to your proxied server, you will have to create an account. Click on "No account selected", then on "Add account". For the purposes of this guide, we will be naming the player "singleplayer".
Image
Now, click on the right facing triangle (play button) icon and click on "Add server".
A new Window will pop up. Make sure to fill it in as follows:
Image
(port may vary, double check with the green text in your ViaProxy window)
Image
With all of this completed now, you can finally click on your new server profile and click on Connect.

Congratulations! You have made it!
Image

Troubleshooting:
If you are running into issues connecting to the Cuberite server, it might be due to the build of Cuberite defaulting to Online mode login. In that case, stop the Cuberite process, open the settings.ini file in a text editor and change Authenticate=1 into Authenticate=0. Relaunch Cuberite and attempt to connect again.
~-~-~ MSD - Making your old devices useful again since 2022! ~-~-~
Post Reply