So I am making a game in Node.js / HTML5.

And I am really struggling to determine what an effective server architecture looks like?

Right now I have a server for a multiplayer game ( I plan on making servers instanced, so up to 80 people per instance).

So everybody in the instances location and health are shared.

And when an attack happens, i.e. a meteor is dropped from the sky, the x-value is the only data passed to the rest in the instance ( they all do the computations on their own computer locally).

When you are hit, you tell the server you were hit. (can't tell the server to hit other people, only yourself, becuase otherwise it's exploitable).

That's the kind of architecture I was going for, you can only tell the server about events that damage yourself. ( I don't believe these events are overridable but I will try to determine that).


Do I have the right idea about how to go ahead with this server?

Do you have any tips or resources?

NOTE: It's under MMO but servers will hopefully top off at about 80. MMO in the same sense as Realm of the Mad God. = )


The problem with this setup is that the clients can say that they weren't hit and therefore this is exploitable. Why not use an authoritative server setup where clients are dumb, and the server says when everyone is hit?

  • \$\begingroup\$ Because I am worried about performance! I want to optimize for both performance and security. I suppose you are totally right, though. That was my concern. Thank you for answering! \$\endgroup\$ – bezzoon Feb 2 '15 at 17:08

Not the answer you're looking for? Browse other questions tagged or ask your own question.