Live data from Hacker News

Show HN: Redstone, a distributed Minecraft server that runs on Node.js

redstone.io

21–30 of 61 posts

Re: Show HN: Redstone, a distributed Minecraft server that runs on Node.js

#21

I've seen lots of work on alternate Minecraft servers; has anyone worked on an open Minecraft client (obviously not named "Minecraft" for trademark reasons, but compatible with the network protocol)?

Manic Digger (http://manicdigger.sourceforge.net/) used to connect to Minecraft Classic servers. And a client for full Minecraft was planned.

But Notch didn't like seeing alternative clients, so I removed it from the game.

Also, see http://wiki.vg/Client_List

Re: Show HN: Redstone, a distributed Minecraft server that runs on Node.js

#22
post #18

Seriuosly interested, why is Node.js better suited as a gameserver than say C or Java ? What exactly are you doing on the serverside? Is it an authorative setup or are you just passing position messages around (in which cases huge amounts of players wouldnt be suprising) ? Did you reverse engineer minecrafts multiplayer protocol or is this an alternate implementation? EDIT just looked it up and it seems like the mine…

Sure, Java or C will be much faster at any computational work. And I am no node.js fan-boi. But doing actual asynchronous local-file IO in C is non-trivial, and if their server is not CPU bound, there doesn't seem to be anything wrong with using node.js. Could you also use libuv from C? Sure.

"Java or C will be much faster at any computational work"

That is far from clear. I've been using nodejs for some computational work using https://github.com/substack/gamma.js and https://github.com/niggler/bessel and found that the JS version is faster than the straightforward Java implementation.

Re: Show HN: Redstone, a distributed Minecraft server that runs on Node.js

#23

I've seen lots of work on alternate Minecraft servers; has anyone worked on an open Minecraft client (obviously not named "Minecraft" for trademark reasons, but compatible with the network protocol)?

There are a couple projects in this direction (I looked into trying to make a bot at one point). Unfortunately, any names have slipped my memory at this point. But be assured, they exist.

Voxel.js is one: http://voxeljs.com/

Re: Show HN: Redstone, a distributed Minecraft server that runs on Node.js

#24
post #18

Seriuosly interested, why is Node.js better suited as a gameserver than say C or Java ? What exactly are you doing on the serverside? Is it an authorative setup or are you just passing position messages around (in which cases huge amounts of players wouldnt be suprising) ? Did you reverse engineer minecrafts multiplayer protocol or is this an alternate implementation? EDIT just looked it up and it seems like the mine…

The protocol isn't public and Mojang has always refused to say anything about it. The protocol is RE'd by http://mcdevs.org/ which runs http://wiki.vg. There is no technical or otherwise limitation on authorization, they just haven't implemented it yet.

Re: Show HN: Redstone, a distributed Minecraft server that runs on Node.js

#26
post #18

Seriuosly interested, why is Node.js better suited as a gameserver than say C or Java ? What exactly are you doing on the serverside? Is it an authorative setup or are you just passing position messages around (in which cases huge amounts of players wouldnt be suprising) ? Did you reverse engineer minecrafts multiplayer protocol or is this an alternate implementation? EDIT just looked it up and it seems like the mine…

Sure, Java or C will be much faster at any computational work. And I am no node.js fan-boi. But doing actual asynchronous local-file IO in C is non-trivial, and if their server is not CPU bound, there doesn't seem to be anything wrong with using node.js. Could you also use libuv from C? Sure.

im not an expert but arent UDP Socket connections more like an fire and forget scenario which doesnt create alot of waiting ? Id think that game servers have to compute heavier stuff per tick and have to process all the incoming packets anyway so that waiting for IO isnt really an issue ? It might make sense to have the game world updating and sending/recieving packets in different threads though, so is that were nodejs makes sense?

Re: Show HN: Redstone, a distributed Minecraft server that runs on Node.js

#27
post #22

Earlier quoted context omitted.

Sure, Java or C will be much faster at any computational work. And I am no node.js fan-boi. But doing actual asynchronous local-file IO in C is non-trivial, and if their server is not CPU bound, there doesn't seem to be anything wrong with using node.js. Could you also use libuv from C? Sure.

"Java or C will be much faster at any computational work" That is far from clear. I've been using nodejs for some computational work using https://github.com/substack/gamma.js and https://github.com/niggler/bessel and found that the JS version is faster than the straightforward Java implementation.

The OP made too general of a statement because there are certain cases where V8 can preform better than the JVM; however, generally Java does seem to perform better (ignoring startup time).

http://benchmarksgame.alioth.debian.org/u64/benchmark.php?te...

In the linked benchmarks, V8 only has a decided advantage executing regexes.

Re: Show HN: Redstone, a distributed Minecraft server that runs on Node.js

#28
post #23

Earlier quoted context omitted.

There are a couple projects in this direction (I looked into trying to make a bot at one point). Unfortunately, any names have slipped my memory at this point. But be assured, they exist.

Voxel.js is one: http://voxeljs.com/

[deleted]

Re: Show HN: Redstone, a distributed Minecraft server that runs on Node.js

#30
post #22

Earlier quoted context omitted.

Sure, Java or C will be much faster at any computational work. And I am no node.js fan-boi. But doing actual asynchronous local-file IO in C is non-trivial, and if their server is not CPU bound, there doesn't seem to be anything wrong with using node.js. Could you also use libuv from C? Sure.

"Java or C will be much faster at any computational work" That is far from clear. I've been using nodejs for some computational work using https://github.com/substack/gamma.js and https://github.com/niggler/bessel and found that the JS version is faster than the straightforward Java implementation.

Well, C will be faster anyways... and the JVM is probably faster than v8 more times than not.
Post reply on HN