Hacker News new | past | comments | ask | show | jobs | submit login
Minosoft: Open-source Minecraft client, written from scratch (bixilon.de)
210 points by manwithkind on Nov 24, 2023 | hide | past | favorite | 90 comments



Hypixel is a large server/network of mini-game servers. Them working is really impressive because they (and other similar large servers) use many advanced/esoteric features of Minecraft to make their minigames stand out.


Do you have any examples of such features?

By chance (?) I happened to stumble upon a YouTube video involving a sky islands server by hypixel earlier today. It included some nether portal which seemed to transport people to different servers.


What you're seeing is BungeeCord, a Minecraft proxy server that lets you run thousands of servers through one domain name. You set up a load balancer that points to a bunch of BungeeCord instances and those in turn point to the actual internal mini-game and lobby servers. I think internally the server transfer process is described to the client as a world change (similar to going to the Nether). If you look it up it likely won't be called BungeeCord anymore (maybe Waterfall now?), as the MC community likes to constantly fork things and change the name.

Hypixel constantly uses things like custom sound effects, spawning particles where they don't belong, using player facing direction for ray tracing for projectiles (e.g., QuakeCraft), and manipulation of player inputs (e.g., remapping crouch to flight, right clicking the air to trigger scripted events/abilities). Additionally, they have advanced anticheat heuristics that are quite sensitive to the slight differences in control patterns/packets that would come from an alternative client such as OP.


> If you look it up it likely won't be called BungeeCord anymore (maybe Waterfall now?)

Yes it will be, BungeeCord itself is still a thing but then you also have a bunch of different forks people use (such as Waterfall like you mentioned)

And then there's also more proxies such as Velocity (which is now more commonly used)


It's more impressive that the anticheat doesn't flag you


Given the disclaimer in the repo's README I wouldn't be sure about that.


Just so you know there's a very intense client modding community centered around the so called anarchy servers, in particular 2b2t. Cheating is allowed on such servers and it actually makes the game very interesting. Examples:

- Rusherhack: movement, combat, awareness, ... your bread and butter type of a client mod: https://www.youtube.com/watch?v=Dg1BoHX7bJo

- Baritone: autonomous actions, including pathing, mining and even autonomous building from schematics: https://www.youtube.com/watch?v=CZkLXWo4Fg4

Anarchy is something rather unique, I don't think this type of environment/community exists in any other game.


Perhaps the most impressive feat I've seen out of 2B2T was an exploit called "Nocom".

It began with 2B2T being hit with a lag exploit, then that exploit being fixed in a 3-line patch - that patch subtly introduced another exploit that allowed the author to track the position of every player in the server at all times, down to the chunk.

I won't explain the whole video[0], but it details a story of gaslighting, 3 years of player data, and some really really impressive technical work, given this is all over a block game.

[0] https://youtu.be/elqAh3GWRpA

And while certainly not to the scale of Minecraft, Counter-Strike does have a (diminishing) sizeable community of cheaters that majorly play against each other, competing in technique and configuration, called Hack-vs-Hack (HvH).



Ultima online had it


For those wondering, hypixel was an impressive minecraft mod. The devs moved on to create Hytale - a minecraft-like game that is still to be released. At least that's what my fallible memory says.

https://hytale.com/

I assume this is an unrelated effort. And just an engine with basic minecraft play. Actual minecraft is too wide and deep for any "reimplementation" to fall from the skys at this point.


Nope, hypixel is the largest minecraft server, although the definitely use a lot of server side mods and scripts to keep things functioning. Hytale is still certified classic vaporware.

Anyone re-implementing minecraft would also have to reimplement all the quirks and undocumented interactions, as well as essentially staying compatible with forge and the apis mods expect. So whatever rewrite has to be in a JVM, and might as well just stick with java. Look at bedrock edition, the only people who play it are people who mis-clicked when buying or don't own a PC.

The closest anyone ever got was minetest, in C++. But honestly at this point, why rewrite a game of all software? It's not mission critical to anything (I hope) and


> Look at bedrock edition, the only people who play it are people who mis-clicked when buying or don't own a PC.

I would need a reference to believe that. The core minecraft community - streamers, modders, tech folks ... might be all about java edition. But I think bedrock is where the money and quantity is at this point. And despite what mojang says, I find it hard to believe that they want to maintain two code bases of converging games in the long run. Bedrock has the performance potential. Java has the mechanics that the core community prefers. Still.


Most of the young kids (including mine) are growing up playing Bedrock, not Java.


My kids did too, but now they only play the Java edition.


Bedrock is essentiale modified PE edition


Not modified per se, it is Pocket Edition (PE).

It was renamed because it obviously isn't just on phones any more. With iOS, Android and FireOS, it's also on Windows 10/11, Xbox One/Series, PS4/PS5, Nintendo Switch and Chromebook.


actually the rewrite seems not to be compatible with forge or whatever. It is not depending on original minecraft code. Still on jvm.


hypixel is an impressive minecraft server, not mod


For a demonstration of what hypixel is, Technoblade has some great videos. My favorite being The Great Potato War saga: https://www.youtube.com/watch?v=5qjnDd1rsII


Technoblade never dies!


It was an adventure map before it was a server.


No, it was the username of the person who made the maps / server / company


Allright, no server mod?


Hypixel uses server mods of course. It's not just something you can download somewhere and start your own Hypixel.

I wouldn't call it a mod. Its a custom experience provided by a specific set of servers.


Ok, I hope we can split the wheat from the chaff without haggle. I'm corrected, "Hypixel" is the name of a server, not a mod. So who was the guys that started Hypixel Studios and Hytale? Maintaining a server doesn't seem like the immediate precursor to starting a whole new game.


> So who was the guys that started Hypixel Studios and Hytale?

The same people who run Hypixel minecraft server?

They didn't just "maintain" a server.

They developed custom mods and solutions, over 40+ minigames, custom plugins. Like I said, its more of a "custom experience".

It is this knowledge, not "maintaining a server", which is the precursor to starting a whole new game.

For example, Icefrog was involved in the creation of the original DotA gamemode for WC3. Valve, 10 years later, hired him when they were working on DotA2. It was not his experience running a custom game mode in WC3 for this hiring - it was the custom experience he helped create


Ok, I was just choosing you to respond to for all the flack I was getting for calling it a mod and not a server. You are circling back to my original point of confusion - that these guys where a mod community and not just a server.


I think the objection to calling it a "mod" is that it's something you can connect to with a vanilla client.


No, hypixel is a famous minecraft server network abd community and not a mod.


The Hypixel Network is a mini-games server.


actually it is.


Sounds like it's only a client. Still very impressive and might be helpful for some people, but not really where the performance bottleneck is most of the time.

The same thing done for a survival server implementation would be a lot more interesting and useful.


Independent client (ie, not a patch on top of the Mojang client) with working physics is actually a sort of holy grail in the third party minecraft development community.

Very few implementations ever reach that level of maturity. Everyone and their mom gets the networking/keepalive/inventory stuff working. Mature clients maybe get gravity and basic movement working. A single digit number of implementations have gone farther than that.

Physics is the least documented corner of Minecraft. Effectively everything about lighting, entities, the map format, and the network protocol is well documented without having to dig through the decompiled source.

Not so with physics. No two physics implementations look alike because:

A) The Java Minecraft physics engine is a pretty tangled mess to begin with

B) Each implementation represents a unique attempt to research and re-implement that mess


What's interesting is that the Minecraft netcode is so bad that your client physics doesn't even need to be accurate or even correct for it to work. There is no verification that the client's inputs actually match the player's resulting position (not that they're even sent to the server). The client sends their position to the server, the server does some simple checks for flying, speed hacks, phasing through walls, and that's about it. Which is why there's all sorts of interesting movement cheats, and also why most servers run some kind of third-party anticheat plugin.


Client is more impressive than server in my opinion, so many people have already done tons of implementations for servers


The wiki.vg website has a list of quite a few server implementations, even some written in Rust! That site also has extensive documentation of the Minecraft protocol if you want to try writing a server or client yourself.

https://wiki.vg/Server_List

https://wiki.vg/Protocol



Why the downvotes? Parent linked the mirror as OP's link returns 502.


I think someone posted the mirror in the time between me loading the comments and writing my own one


Yah, selfhosted gitlab. Can't handle it. https://github.com/bixilon/minosoft


Looks like it's trying to get some asset files from the bixilon.de server? I can't try this out right now because it crashes with:

    java.io.IOException: Server returned HTTP response code: 502 for URL: https://gitlab.bixilon.de/bixilon/pixlyzer-data/-/raw/master/hash/ae/ae844d6a7949f9e70a3ce0f7a12d455c4bcb96c4.mbf?inline=false
I'll try later, looks like a really cool project.


I got it running by replacing

`https://gitlab.bixilon.de/bixilon/pixlyzer-data` with `https://github.com/Bixilon/pixlyzer-data`

in src/main/java/de/bixilon/minosoft/config/profile/profiles/resources/source/SourceC.kt


(turns out you can also edit in "~/.config/minosoft/minosoft/resources/Default.json")


the original link is now redirecting to github.com, seems like low on capacity. downloading that single file should work now I guess


Up to you, but I wouldn't recommend volunteering the version of nginx fronting anything, either, since it makes finding exploits so much easier



From the Readme - What does this mean ?

>> Notice: I am not responsible for anti cheat banned accounts, this project is heavily in development!

?


Some Minecraft servers will attempt to detect modded Minecraft clients, potentially based off of how they handle the protocol or mechanics. If this re-implementation has accidental differences from the main Minecraft client, it could potentially get detected as a malicious cheating client and banned.


They're most likely referring to anti-cheat plugins run on servers - they're not responsible if a server's anti-cheat plugins bans you.


Wait so this actually implements everything? Like all the features? System recs are quite high, I was hoping to find something that my kids can use on their Chromebooks but even if this isn’t it, this is cool as heck.


on low end devices i’d recommend installing the Prism Launcher [1] with the Fabulously Optimized modpack [2]

1 https://prismlauncher.org/

2 https://wiki.download.fo/readme/install-instructions#prism-l...

p.s. i think there’s a way to install linux apps on chromeos now? but if you can’t, there’s pojav launcher which is made for android so has an apk


If you're on a low end system, I can recommend Minetest. It's a similar but different experience - you still mine blocks and craft items but all of the details are quite different.

I enjoy both games; while I prefer Minecraft due to community and momentum, Minetest is great if you just want a nice and simple sandbox.


Minetest is a prime example of the weakness of the open source community. A bunch of people want to "system dev" you a framework. Very few want, or is capabale of, designing you an actual finished game, at least in the open source context. Op's kid deserve better. The best I can suggest is 0AD. https://play0ad.com/ It might require an actual computer though.


I suspect you don't have kids? Either way that is a hilarious recommendation, for a number of reasons.

If my kids asked to play Minecraft and I installed that game, it would be a bit like them asking for pancakes and serving them bran flakes and a grapefruit.

They're not even remotely similar games, and have wildly different levels of appropriateness for children -- though that obviously depends on parental preference.

In any case, there's not even a slight their friends are playing it, and that is probably the most important factor for most kids.


FWIW, my 5th grader read this comment and got actively agitated at the comparison. He adores Minetest and wanted to convey that he "has a great community to play with". Of course YMMV, but I thought his take was worth mentioning.


Just in case my comment wasn't clear: I think Minetest -> Minecraft is at least a fair comparison, even if there are some glaring omissions in Minetest.

My bran flakes -> pancakes statement wasn't referring to Minetest. I was referring to the Age of Empires clone the parent comment recommended instead of Minetest.

P.S. Kudos to the young one for being open minded and independent about alternatives in the face of heavily-marketed-and-heavily-peer-used things! I can tell they're already wise beyond their years =)


If we're discussing viability of Minecraft on lower-end hardware, jumping from the voxel sandbox genre into the RTS genre (especially as you point out higher hardware requirements) is quite a stretch.

Minetest is as much of an alternative to Minecraft as Linux is an alternative to Windows. It works for some people, it won't work for most. It's less polished, requires some assembly (choosing a modpack), etc. They're quite obviously different games (as I pointed out already). But you don't need a degree in computer science, it's just a game. You can click on "new world" and start exploring and building.

What most people comparing the two seem to forget about, is just how much of a shitshow Minecraft modding is - and you don't really want to run the game without mods like sodium+lithium or optifine, because of how horribly unoptimized it is. I definitely prefer the Minecraft experience overall, but the game would've been completely unplayable on M1 Macs without tremendous community effort, whereas Minetest runs smoothly on a 12yro laptop with zero tweaking.


Adding to the minetest suggestion, it's actually an engine for other minecraft clones, and I believe there's a specific entry called Mineclone that is built to be feature-aligned with Minecraft directly. I haven't played it but it seems pretty up to date.


minetest has lots of great mods or extensions that add interesting features, like trains. there are also public servers, some of which have very friendly communities.


I haven't tried it myself, but it looks like the bedrock edition can run on chrome OS.

I think https://play.google.com/store/apps/details?id=com.mojang.min... is the link, though it says "Chrome OS version sold separately" so I'm not 100% sure


It works. I play Bedrock Minecraft on my Chromebook frequently. No issues.


Minecraft Java runs on a toaster with performance mods.

Another small thing you can do is run a "fast" JDK like Graal EE.


Right, have you tried to port all the C++ libraries to your toaster?


An x86 or ARM OpenGL toaster then :P


I think I've seen a Minecraft client reimplementation that runs in the browser, can't remember what it's called though


A nice addition would be starting a local Minecraft server and start the game for offline play, without any account, similar to UltiMC Launcher


Have you considered cloud gaming?

Some self-ad: https://borg.games


I've had a good success running the Java version of Minecraft in the Linux environment of ChromeOS.


HN hug of death


On gitlab? That seems far fetched.

Edit: on mobile, just saw its self hosted, my bad


It’s someone’s self-hosted instance of GitLab


One optimization I'm surprised hasn't made it to Minecraft yet is parts of chunks deep below ground will sometimes render before blocks closest to the player or at least closest to the ground that the player should be able to see. I would think if you're at ground level looking around, it should prioritize loading blocks that are most likely to block vision for the player.


Minecraft is horribly under-optimized, but unfortunately a lot of the deeply architectural things might be impossible to touch without breaking something for the more technical players. (Check out Docm77 or TangoTek, they're really pushing the game to the absolute limits.)

If you don't mind clientside mods, there are a few dedicated to optimizations, including rendering: sodium, lithium, phosphor, optifine. I'd recommend PrismLauncher and Fabric for managing/loading the mods.


Definitely Docm77, I'd also throw Ilmango or just the Scicraft people in general in.


Oh my lord, this looks like 2010 again. After years of shaders and other mods, this brings me a great joy based on nostalgia.

https://github.com/Bixilon/Minosoft/blob/master/doc/img/hypi...

edit: forgot to add the link


Very cool! Anyone give this spin yet? It's supposed to be more performant per https://github.com/Bixilon/Minosoft/blob/master/doc/Performa....


Author should be aware that Mojang has nuked copy projects before. Now that they have MS lawyers they will C&D anything that carries the "Minecraft" name relationship. Never even mention it, call it by more general technical terms like a "square voxel engine" or something.


If that had any ounce of truth clearly they would have tried taking down mineserver and minetest long ago.

If projects gets taken down it's because of copyright infringement, not because they are referencing the name. Removing all references to Minecraft won't do anything if the project contains assets or decompiled code from Minecraft either.


Minecraft is a trademark. You can't make references to it from your own work. Feel free to research mojangs history and intellectual property laws. You don't have rights, only privledges given temporarily by the corp. They can choose to C&D whenever they like.


You can totally reference a trademark without infringing on it, see Nominative Use / Nominative Fair Use[1]. Whether or not a usage falls under Nominative Use is ultimately up to a court to decide. Of course a company can send C&D letters whenever they like, that doesn't mean it's going to hold up in court.

With all that said I have never heard about Mojang or Microsoft sending C&D letters over someone giving their project a name vaguely referencing Minecraft. Do you actually have any examples, because when I google Mojang and C&D I only get examples of Mojang receiving C&D letters, not sending them.

[1]: https://en.wikipedia.org/wiki/Nominative_use


I'm confused how this can exist. It's a blatant ripoff of Minecraft, including fonts, assets, color schemes, etc. Call it a re-implementation all you like (I doubt it given Minecraft is Java and easy to decompile, and this is also JVM) but I don't see how that would fly.

If I decompile a commercial game, use GPT to rewrite the decompiled code and maybe change the assets a bit, can I just release that as open source?


I haven't looked into the code much, but the way it uses Minecraft assets is that it downloads a minecraft.jar from Mojang and extracts the files from it.[1]

[1]: https://github.com/Bixilon/Minosoft/blob/ae7b15de10be579ca6a...


It downloads all the assets from minecraft. afaik it contains no code from vanilla. rewritten everything.


Things like this always make me a bit sad when things like mine test exist. Since projects like this depends on decompiled Minecraft source, they're legally still piracy.

Meanwhile, it probably would be simpler to implement some thing like hypixel in the open-source Minecraft-workalike minetest, where you'd be in much less legally muddy water.

But still nobody would play that. Because brand.


Would you consider a word processor that is coded around the quirks of Microsoft Word and that is able to open and modify its proprietary format as piracy?


If it was made based on de-compiled MS Word code? Yes.

That's a very important distinction.


I think the most impressive thing is that this handles all minecraft versions.


Invest in Cloudflare for your GitLab server brother.


yah, it fired that server




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: