Conversion proxy tool for connecting from Luanti(Minetest) to Minecraft Server

4 months ago 3

This program is supposed to let a unmodified Luanti (Minetest) client connect to
another (mostly) unmodified Minecraft (Java Edition) server.
The Java Server version needed is 1.21.5, use ViaProxy if you need another version.
Compile it using cargo build, the run --help for usage info.

You need nightly rust to build some dependencies (rustup default nightly).
You should follow the instructions below if you want to use it.

Installation Instructions

This program needs the minecraft textures.
I won't just bundle these due to copyright reasons, but you can get them:

  • From the Minecraft client:
    • Get a minecraft jar file (should be something like minecraft-1.21.4-client.jar)
    • Unpack it (jar files are glorified zip archives)
    • Grab the folders in assets/minecraft/textures/
  • or from the internet:
    • Go here (mcasset.cloud)
    • Click "Download Folder"
    • You'll need to unpack that zip file, it contains your textures.

Regardless of method, you now have a bunch of directories.
Checkpoint: These directories should contain a bunch of PNG files.
Now, move these so you'll have this folder structure:

<bridgetext-data-directory> └── textures ├── block ├── colormap └── ...

The bridgetest-data-directory is ~/.local/share/bridgetest on Linux.
On Windows, it should be C:\Users\Alice\AppData\Roaming\bridgetest.
It will be created on the first start, alternatively you can create it yourself.

Some models are also needed and will be downloaded on the first start.

If you want to use a microsoft account, you'll need to add your e-mail address to
the config file. You will also need to visit microsoft.com/link and enter a code
provided by this program to authenticate your account on the first launch.

Troubleshooting Steps

  • Ensure you are running the latest commit for bridgetest.
  • Try using luanti compiled from somewhat recent source.
  • Make a issue report, most likely any problems are caused by bridgetest.

Things that are still missing from a usable version

  • Crafting (Containers work (mostly, the UI is broken))
  • Rotated Blocks (ex. ladders that have a "side")
  • Swimming

Other, smaller, broken things

  • Climbable Blocks (ladders/vines)
  • Particles (will suck to implement, delayed until i cant do other stuff instead)
  • Imprecisions in the movement (the client speed/gravity etc is not exact, so
    server/client will drift out of sync for up to half a block, at which point the
    proxy re-positions the client)

Even more limitations (ones that don't affect gameplay)

  • Any Anticheats are likely near-certain to ban you.
    (if they don't, you probably found a bug in the anticheat? the traffic sent
    by this proxy is looking basically the same as that from any bot.)
    That is a slight danger even with GeyserMC in proxy mode, a similar
    (but mature) program basically doing the same thing for Bedrock.

  • The program might work on Windows, but I am not testing this.
    If you find a windows bug, feel free to open a issue, but I will only work
    on that if it won't take too long. PRs fixing windows will be accepted.
    for now, i'd prefer getting this mess to work at all :3

  • The proxy can only handle one client at a time, but could probably be
    rewritten to handle more clients without changing that much.

Attributions

This program automatically downloads entity models.
These were not made by me and are licensed under the CC-BY-SA 4.0.
The Models are taken from Mineclonia, a minetest mod.
This Mod is owned on ContentDB by ryvnf, a full list of contributors is here.

Read Entire Article