wmassingham,

I missed the word “server” every time and thought it was a client, and spent far too long trying to figure out how you’d play Minecraft in Bash. Text based? ASCII graphics?

wizzor,

<span style="color:#323232;">What does not work
</span><span style="color:#323232;">...
</span><span style="color:#323232;">capitalism (IRL; I wouldn't want to try implementing it here)
</span>

I actually lol’d

And I gotta ask, what insanity drives someone to implement a minecraft server in bash…?

ouigol,

How much work is making a Minecraft server from scratch? What things need to be implemented? I saw on the GitHub that placing and destroying blocks was implemented, so I’m guessing it’s a lot of work

qaz, (edited )

One of the most common Minecraft server implementations called Paper MC consists of 321k lines of code (mostly Java and a little bit of Kotlin).

ShortN0te,

To my knowledge Paper, Spigot etc are ‘just’ patching the official server decompiled source.

See here github.com/PaperMC/mache

haui_lemmy,

Its somewhat intriguing to me. I always thought companies would obfuscate their code so that nobody can just reverse engineer their product. Does mojang not do it or is it not possible to keep people from decompiling it?

ShortN0te,

In the end it is always assembler. Enough time given and you can translate it to higher languages. A huge modding community and a lot of tooling for the Java language made it possible i guess.

There was a lot of work here. I doubt there were any symbols present in the binary.

haui_lemmy,

Very cool! Thanks for elaborating. Took me only a decade plus to learn this fact. ;)

Chewy7324,

Mojang/Microsoft actually releases obfuscation maps for Minecraft: Java since 2019. This maps the decompiled random class names to the official variable/class names used by Mojang devs.

In an effort to help make modding the game easier, we have decided to publish our game obfuscation maps with all future releases of the game, starting today. This means that anyone who is interested may deobfuscate the game and find their way around the code without needing to spend a few months figuring out what’s what. It is our hope that mod authors and mod framework authors use these files to augment their updating processes that they have today. These mappings will always be available, instantly and immediately as part of every newly released version. This does not, however, change the existing restrictions on what you may or may not do with our game code or assets. The links to the obfuscation mappings are included as part of the version manifest json, and may be automatically pulled for any given version.

www.minecraft.net/…/minecraft-snapshot-19w36a

As others have said, Java is pretty easy to decompile, so there were community maintained obfuscation maps before (huge amount of work).

haui_lemmy,

Great addition! Thanks. So they did actually help with modding but only eventually it seems.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • opensource@lemmy.ml
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #