33 ms·
Cuberite – A lightweight, fast and extensible game server for Minecraft
- loa_in_ 9y agoWhat makes this a goos alternative? How does it handle ghost blocks for example?
- NiLSPACE 9y agoCurrently the server doesn't do collision checks with Players, so you wouldn't notice ghost blocks. It does make it allot easier for hackers though. What makes it a good alternative is that it's reasonably lightweight. We currently have a server running on a RasPi 1 B where people can build structures for the world generator: https://forum.cuberite.org/thread-1372.html https://forum.cuberite.org/thread-1372.html
- seabird 9y agoThe performance of the official server implementation is pretty awful. Notch was never a good programmer by any stretch of the imagination (go check out old tree decay code) so you have pretty much nowhere to go but up, especially when you're rewriting the server in a language that allows you to more manage memory more precisely.
- xyzzy_plugh 9y agoYou know I see this a lot, and I respectfully disagree. He was clever. And he engineered himself out of many, many corners. He may not be a computer scientist, or a software engineer, but the man can make a game. The fact that Minecraft ran so well on so many machines enabled it's huge success. I don't think most programmers are capable of that feat.
- seabird 9y agoDon't get me wrong, he did a lot with what he knew. That doesn't mean his work couldn't benefit from a re-implementation from a team with a deeper understanding. You have to remember that Minecraft's world format, server-client architecture, and username system all underwent massive changes, all of which could have been avoided in the first place. It's also worth mentioning that Minecraft runs well (which I would contest) on modern hardware in the same way DOOM does; not asking for much in the first place doesn't absolve your work from horrid inefficiencies/long running bugs.
- kbutler 9y agoHard to argue that a hypothetical clean original architecture beats a "good enough" implementation that evolved to a multi-billion-dollar business. If he had waited and engineered a solution suitable for a billion-dollar business up-front, would it ever have shipped and become a billion-dollar business?
- axus 9y agoThere are people who run Minecraft game servers as a small business. A more efficient implementation lets them make more money, so for them this could beat Mojang's server.
- imtringued 9y agoI'd say notch shipping his game early and updating the game frequently is what made the game incredibly successfull. I started playing the game when he was incrementally adding multiplayer functionality. He used to release a few features one at a time every week. I always looked forward to see how the game would improve next week. If he hadn't written the game in java modding support would turn from a merely hard problem to an impossible one. The first mods were written in obfuscated java code but minecrafts coders pack (MCP) enabled a mechanism to map obfuscated names to "reverse engineered" names which can then be applied to newer versions of minecraft. With C++ you could probably get away with manually decompiling points of interest which would easily take more than 10 times the effort and still create mods but as soon as the next update is released all that work will be for naught and you'll have to do everything over again whereas with java the decompilation is mostly automated.
- seabird 9y agoThe challenge of modifying the game is a problem that would have been mitigated by the game having a proper API. MCP was and is a crutch trying to minimize the underlying issue of the API being held off for over five years now.
- ungzd 9y agoExtensibility. Official server still doesn't have plugin API and it is closed-source so it can't be modified. Almost everyone uses spigot/bukkit/sponge because vanilla server lacks many features, but these are dirty hacks based on disassembly.
- Angostura 9y agoDoes your new server have the ability to support these old plugins at all? Doesn't look like it does.
- bearbin 9y agoThe server doesn't support java plugins for bukkit/spigot. Because none of the internals are shared any interface layer would be needlessly complex and a drag on maintenance. The lua plugin system is well-developed and documented [1] so most plugins could be changed over easily. [1]: https://api.cuberite.org https://api.cuberite.org
- NiLSPACE 9y agoSome popular plugins are already ported over like - WorldEdit: https://forum.cuberite.org/thread-870.html https://forum.cuberite.org/thread-870.html - Essentials: https://forum.cuberite.org/thread-1840.html https://forum.cuberite.org/thread-1840.html But also minigames like - SkyBlock: https://forum.cuberite.org/thread-1508.html https://forum.cuberite.org/thread-1508.html - HungerGames: https://forum.cuberite.org/thread-1456.html https://forum.cuberite.org/thread-1456.html
- zeveb 9y agoYeah, but that doesn't help with _client_ side mods, which are still stuck with the old client internals. At that point, why not just switch over to Minetest? Given enough work, it could eventually be an attractive and feature-complete clone — and be nicely extensible too.
- imtringued 9y ago
- Angostura 9y agoThe multiworlds support looks very interesting. Currently I host about 4 worlds on my Mac for my kids and their school friends. I have 4 instances of the server running on my Mac, each running over different ports, with port-forwarding configured on the home router. This looks rather less cumbersome. Cheers!
- ungzd 9y agoCan't find information how much feature-complete it is.
- NiLSPACE 9y agoThere is a forum post which has a rough list of what is supported and what not: https://forum.cuberite.org/thread-499.html https://forum.cuberite.org/thread-499.html
- AlphaWeaver 9y agoI'm impressed this is a Minecraft Server I can run from my Android, and it seems reasonably polished!
- timow1337 9y agoDoes anyone know a similar project but for the client side? I've always thought using c++ instead of java would improve performance a lot.
- curioussavage 9y agoCuberite is awesome! I used it as an excuse to write something in lua. I totally overhauled the portals plugin. It's nice if you want to run a server on a pi