9 ms·
Glowstone: open-source Minecraft server
- mabbo 9y agoI presumed for a moment someone had built a web server running off the Minecraft redstone circuits.
- astrodust 9y agoGreat work, but...Java? Is this for compatibility with mods? One of the biggest pain points with running a Minecraft server is the onerous memory requirements. Java needs a ton of memory to get out of bed, and after that it's not always pretty with how the allocator works. That's fine on an enterprise server with 64GB of memory, but not cool when you're paying $10/mo. per GB of memory for what should be an inexpensive hobby.
- swrh 9y agoI'd love to play with the code of a C/C++ Minecraft server. Is there any yet?
- oxguy3 9y agoSomeone else just linked to this: https://cuberite.org/ https://cuberite.org/
- zitterbewegung 9y agoHave you ever played Minecraft on a server without mods? It’s impossible to administer past 5 people. For that using realms is an alternative . Every other server needs mods to function.
- throwaway76543 9y agoYou may not have paused to consider that an open source minecraft server is free to implement a better administration system. It is not necessary to have mod compatibility in order to provide an extensible, powerful alternative.
- oxguy3 9y agoYeah, most likely. It says it supports Bukkit and Sponge plugins, both of which are built in Java (dunno much about Sponge, but Bukkit plugins are literally just .JAR files)
- SpaceManiac 9y agoThis was the original reason for the language choice: native compatibility with Bukkit plugins.
- tylerhou 9y ago$10 per GB? That’s insane -- basically what high end DDR4 costs upfront.
- mort96 9y agoIt's basically what Digital Ocean's droplets cost: https://www.digitalocean.com/pricing/ https://www.digitalocean.com/pricing/ $5/mo for 0.5G, $10/mo for 1G, $20/mo for 2G. All the standard droplets, except for the 3G for $15/mo one, make you pay $10 more per gigabyte. Both Vultr and Linode seem to offer twice the amount of RAM per dollar though.
- deleted 9y ago[deleted]
- TheRealPomax 9y agoThey just added a $15/mo 6G plan, though, which is mighty nice.
- mort96 9y agoNo, it's just 3G for $15/month, so that one particular plan takes $5 per gigabyte like Vultr and Linode. That isn't to say it isn't a nice deal though.
- franga2000 9y agoI have yet to find a better $/RAM value than Contabo. 7€/month for a dual core 6GB RAM VPS. And the value only gets better the higher you go: https://contabo.com/?show=vps https://contabo.com/?show=vps
- vertex-four 9y agoDigital Ocean do a really good value base VPS, but once you're spending $20/mo with them, there's much better options with more traditional VPS providers. They're priced to compete with an EC2 box, while not providing the value-add to go with it, IMO.
- 9y ago
- mort96 9y agoI imagine most people interested in hosting their own minecraft server has some old laptop or desktop lying around. It's a very inexpensive hobby to just install linux on them and run a minecraft server there. If the power bill is a concern, the computer wouldn't even have to be on 24/7; if it's just a server you and friends play on, it would be perfectly acceptable to just boot the computer whenever you want to play together.
- pbhjpbhj 9y agoI looked at using a droplet on DigitalOcean, it worked fine but there's quite a lot to consider in running a server. You can keep an image of the droplet and just boot when required. By that point my kids had moved on to Robocraft, and now Garrys Mod, and so it wasn't worth me maintaining a server for the occasional use it was getting.
- iscoelho 9y agoMemory has never been a problem for MC servers. Speaking as someone who's personally been involved in some of the larger servers -- Pain point has always been CPU usage on a single threaded level. Nowadays servers are optimized to the point where we squeeze all of the performance out of the CPU and run multiple instances of MC in order to accomplish that on a multi-threaded level. You can easily hold 500 players concurrent with zero lag on as little as 16GB of RAM and an E3v3 processor. You might say this is a lot of resources, but compare it with other FPS games and how many players they hold on single instances, and you'll realize Minecraft is in it's own league. Also, due to how much CPU is a bottleneck for MC, Cloud providers are avoided at all costs. 2.2ghz (AWS) is not acceptable at all for the use case. Minecraft servers are extremely optimized nowadays -- I have no clue where the rumor started that Java was the pain point.
- RenegadeEagle 9y agohi buddy
- astrodust 9y agoMy point is 16GB of memory isn't a whole lot if you've already got server hardware and a place to host it, that's really low-end these days, but it's a small fortune if you need to pony up $5-10/GB. per month for hosting services. I've been able to host Minecraft instances on my own hardware over a cable modem feed, and on a VM provisioned within a machine I fully control, but it's just not economical to do cloud-wise. I do miss the days when the server component of a multi-player game was pretty lean and non-intrusive so you could run it as a background process on pretty much anything that had good bandwidth.
- Teckla 9y agoPerhaps you use a cloud VPS provider that over-provisions customers. Until recently, I ran a Minecraft server on a $10/month DigitalOcean Linux VPS. (I consider $10/month dirt cheap.) It ran very smooth. No lag or performance hiccups.
- KenanSulayman 9y agoI really don’t want to discourage you from looking into Glowstone, but a really cool project I had stumbled over half a year ago is Cuberite[1], a Minecraft server written in C++. [1] https://cuberite.org https://cuberite.org
- TkTech 9y agoIf you're interested in roll-your-own things like this, stop by #mcdevs on Freenode and take a look at our documentation at http://wiki.vg http://wiki.vg, where we've been RE'ing the protocol and game internals for 8+ years.
- oxguy3 9y agoAh, good ole wiki.vg is still around; good to see! Haven't been in the Minecraft modding scene in years, but that site was always a godsend (I once worked on a project to implement a chat-only Minecraft client for Android; couldn't have even attempted it without wiki.vg). And wow, I can't believe Minecraft is 8 years old -- feels like I first played it just yesterday.
- mentos 9y agoAre Minecraft servers with a massive number of players something common or really not something the average player cares to participate in? I used to run my own Ultima Online server with an emulator called RunUO about 15 years ago. The same sort of fun I had running that server is what I see people enjoying in Minecraft today. Its really great to see. It was possible back then with a .Net windows server to support 1000+ concurrent clients with very little noticeable lag. I'm currently working on my own game in Unreal Engine 4 but if I could clone myself I think I would set about creating a Minecraft client that could connect to a RunUO server so that you could achieve those kind of 'MMO' numbers. As well, you could leverage the RunUO codebase to add support for a lot of the Ultima Online functionality (home ownership, spell casting, deep crafting, etc, etc) What is the best community to look into for supporting massive numbers of concurrent players in Minecraft?
- SpaceManiac 9y agoIf you're interested in doing anything with Minecraft where starting from the official client/server won't cut it, #mcdevs is the right place. I have no idea about what the players want these days. The large-player-count servers I believe still use instancing and transferring players between servers to support those numbers. The other hard part is the game's mechanics. You'd need a lot of careful game design to reign in the destructible nature of the game world and all its contents. Minecraft isn't about questing and loot, it's about construction, and if you're not leveraging this you might be better served by making your own game. Large servers typically address this with round-based deathmatch or deathmatch-like gameplay, not really what you seem to be interested in.
- majewsky 9y agoDoes anyone know if this is less resource-intensive than the original server (both CPU and RAM)? Or if it can at least leverage multiple cores properly?
- Teknoman117 9y agoI spun it up on my server (an FX-8350) and it seems the load is higher than the stock server w/ a view distance of 24. Mind you I'm only running one realm (we really only stay on the default world) because it's just my ~8 person gaming group. It is continually surprising to me that there are all these reverse engineered minecraft servers yet none of them seem to provide a significant performance advantage within a single world. Cuberite, Glowstone, etc. They provide a notable boost when your machine is serving many worlds, but it seems most still use a single thread per world model. At least cuberite offloads chunk generation to a second thread, but in their own documentation they claim they don't want to support arbitrary levels of multithreading for fear it would hurt performance on anything less than a quad core. Even though this is a bit of a misconception, I don't understand why they wouldn't make such a thing configurable.
- SolarNet 9y agoIt's a trade off, my understanding is that Glowstone's trade off is providing customization through APIs and mechanisms that will last. E.g. simplicity and power at the cost of performance. As an aside they make a claim that will be familiar to many lisp programmers. Their claim is by providing better power they will improve the average performance in the long run for their users (e.g. people who like lots of mods). Look at it this way, if you use horribly buggy edge cases to build flying machines that's going to take a ton of work for the server to simulate (minecraft flying machines often use tick perfect timings arrived at through - effectively - busy loops); if instead you used a mod that provided flying mechanics, and flying control blocks (e.g. that knew when to inject their logic) you would save a lot of performance. They may not be able to have the fastest server around, but given the things their users will use it for, theirs will probably be faster than those efficient servers in those cases.
- Filligree 9y agoI don't want to denigrate the effort, but... I'll be interested when I see something with a Forge-equivalent API. Porting Electrical Age to a different Java-based minecraft server is in principle not terribly difficult, it's reasonably well abstracted already, but there needs to be a modding api.
- mattrick 9y agoI believe Sponge is built on Forge: https://www.spongepowered.org/ https://www.spongepowered.org/
- AlphaWeaver 9y agoYou're correct.
- rstat1 9y agoActually sponge is just an API, for which there just happens to be a implementation built with Forge There's also a plain Vanilla impl as well.
- SpaceManiac 9y agoWhile there's no reason this is fundamentally impossible, there are several difficulties: - Forge doesn't really have an API layer and expects devs to work directly against deobfuscated Minecraft code. Mods break every Minecraft version. - Forge-level mods require cooperation from the client, beyond what the official client offers. Forge mods are structured so the same mod file runs on both clients and servers. - Because of this, a server reimplementation providing Forge features must do one of three things: compromising on open-source by releasing a client mod, reimplementing the Minecraft client (hard, and hard to get people to use), or mods splitting in Forge-based client halves and new-API-based server halves (code duplication, hard to convince modders to not just use Forge).
- Filligree 9y agoI can address the first point, at least. Forge-equivalent wasn't meant to mean identical; I'd be absolutely delighted to see a better (that is, existent) API, it just needs to support about the same things. Which does not include coremod hackery. And yes, you'd need to create a client mod. Sure, it's a compromise, but it'd still be an improvement over the current state of affairs.
- NelsonMinar 9y agoI'm old enough to remember when buying Minecraft Alpha included a promise that the code would be made open source some day. IIRC it was "when I'm tired of working on it", which given the success it's been is probably never. (For some value of "I" that's not Notch.)
- justin66 9y agoSelling the product to Microsoft is pretty much the opposite of making it open source.
- petemc_ 9y agoI would probably go back on a lot of things I've said if someone offered me over a billion dollars. Also minecraft being as popular as it is you would end up with a lot (more) pissed off clueless users. cf kodi.
- delcaran 9y agoNot the same thing, but I found Minetest (https://www.minetest.net/ https://www.minetest.net/) a very good opensource alternative.
- 0xbear 9y agoNeeds Rust, blockchain and AI to qualify for the front page.
- sctb 9y agoIt seems you won't post within the guidelines like we've asked, so we've banned the account. We're happy to unban accounts if you email us at hn@ycombinator.com and commit to commenting civilly and substantively in the future. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- beavis2 9y agoIs Minecraft still a thing? Have my kids (10,13) just grew out of it?
- RenegadeEagle 9y agoMinecraft is still alive and well. Still has hundreds of thousands of players daily every month on the servers. The problem is because there is a mobile app now, people will just pay $7 and play on their phones. Therefore new players arent entering the market. It's a shame. Some of the things people have created for the MC community are nothing less than truly amazing. For example
- Kiro 9y ago> For example I presume you accidentally posted too soon. Would love to see the example.
- wyclif 9y agoMy seven year-old boy is obsessed with it. Keeps up with news in the modding community. And the amazing thing is that he's shown me how to do things with it that I didn't even know about (I'm more of a casual player and Dad with responsibilities, obviously).
- ungzd 9y agoThere are no games that superseded it. Other "sandbox" games are entirely different, with more cautious use of sandbox concept.
- grizzles 9y agoWhat's the best open source minecraft client? And how does it compare to the official client?
- perryprog 9y agoHere is an incomplete list: http://wiki.vg/Client_List http://wiki.vg/Client_List you can read about the details by following the links for each client
- synchronise 9y agoThis is nice, but considering the animosity the modding community receives from official channels I'm really surprised why FOSS Minecraft clones that specifically focus on mods, like MineTest, haven't taken off comparatively. https://www.minetest.net/ https://www.minetest.net/
- voltagex_ 9y agoCould language choice play a part in it?
- Sylos 9y agoI think, that's rather an argument in favor of Minetest. It's true that Java (which the original and mainly modded version of Minecraft is written in), is widely known and generally allows to write functionality relatively quickly. Minetest uses C++ for the engine and Lua for its modding API. C++ is much better suited for a game engine, due to being closer to the hardware, using less RAM (due to not being executed in a virtual machine), not having a Garbage Collector, which halts the universe for a short moment every few seconds and is the main-reason for Minecraft still having lag spikes after years of optimizations, and then miscellaneous things like array boundary checks, but also just more game libraries being available in the C++-context (Minetest for example builds on top of Irrlicht). But Lua for the modding API is the critical part. Minecraft doesn't have a modding API. To this day, you still mod the original Minecraft by decompiling its code (which is relatively easy thanks to Java), making your changes as a professional developer at Mojang would have to make them, and then bundling your modifications up and releasing it to the world. As a result, it's just really not easy to do at all and mods regularly break when Mojang releases a new version. With Minetest's modding API on the other hand, it's really easy to just quickly make some changes. I for example always disliked that digging stone gives you cobblestone, which you then have to smelt in order to get stone again. Changing that took me less than 10 minutes with no experience in Minetest modding. All I had to do, is to find the right file and then in this section: minetest.register_node("default:stone", { description = "Stone", tiles = {"default_stone.png"}, groups = {cracky = 3, stone = 1}, drop = 'default:cobble', legacy_mineral = true, sounds = default.node_sound_stone_defaults(), }) ...change the Drop from default:cobble to default:stone. I then also added in a crafting recipe to convert stone to cobblestone, if I ever want to use cobblestone. Again, find the right file and then just add this: minetest.register_craft({ output = 'default:cobble', recipe = { {'default:stone'}, } }) Just copy-paste an existing crafting rule and change it to your needs. This is something I could have pulled off (and would have had huge fun with) even before I really knew what programming is.
- kev009 9y agoWhen I was in college, I did one in C https://github.com/kev009/craftd https://github.com/kev009/craftd. Looking back, there are trivial concurrency bugs and some critical arch flaws that are somewhat embarrassing and would be easy to fix now. But wow that project set me up with a lot of useful experience I don't know how else I could have ever gotten. Another fond random memory was, during a scalability test with over 500 users on a cheap linode, Notch joined thanks to a friend that became a popular live streamer. I long for the free time and lack of organizational soul suck to do stuff like that again.
- iforgotpassword 9y agoI remember your name. I think it was from reading about the Minecraft protocol, which makes sense if you wrote a server.
- nly 9y agoFor what it's worth, coming from an outsider with no interest in the game, that's some beautiful looking C.
- bastawhiz 9y agoOther than pistons not working it doesn't seem like there's a good list of known issues or missing functionality. Is there a link that I'm missing?
- momothereal 9y agoI think the issues on Github can give a general idea. Pistons actually work (at least basic pushing/pulling) since a recent update, so we should probably update that on the wiki. Other than that, I'd say the biggest missing feature is Entity AI/Pathfinding at the moment.
- cc33 9y agoYes, I'm not really interested in gaming as of such, but that C code looks amazing.
- Kiro 9y agoWhat C code? I only see Java.
- bgrohman 9y agoI just tried setting up a Glowstone server on a Linode instance. It was a very quick experience. However, I ended up switching to the official Minecraft server jar provided by Mojang when I realized that Glowstone doesn't support the "allow-flight" option for flying in creative mode :/
- mastercoms 9y agoYou should be able to fly in creative mode.
- bgrohman 9y agoTake a look at the Glowstone configuration docs here: https://github.com/GlowstoneMC/Glowstone/wiki/Configuration-Guide#game https://github.com/GlowstoneMC/Glowstone/wiki/Configuration-... It says for the "allow-flight" option that the default is "false" and it's "Currently not implemented." I tried setting it to "true" anyway, but it still didn't work.
- lance123 9y agoPLAY.MCPINOYZONE.COM