max-mapper / voxel-server

multiplayer server for voxel-engine
74 stars 25 forks source link

prevent cheating #6

Open max-mapper opened 11 years ago

max-mapper commented 11 years ago

I realized that the current implementation as of today is an attempt to do server side physics / client side predictions in such a way that any invalid inputs (e.g. cheating) on the client side would be immediately corrected by the server

It dawned on me that this approach is really hard and that for the v1 of voxel-server it should trust the client more which has the tradeoff of allowing cheating but on the other hand drastically simplifies the amount of code/banging your head against the wall needed to get a fun multiplayer server experience going.

Cheating isn't actually a big concern of mine now that I think about it -- in minecraft you don't really attack other players, the emphasis is on editing voxels in the world.

max-mapper commented 11 years ago

cc @gabehollombe @chrisekelley

gabehollombe commented 11 years ago

That's definitely a good point, especially from an optimize for fun/hackability point of view.

So, what does this shift involve? Trusting client for reporting it's position and block placements, but still simulating physics of blocks on the server?

max-mapper commented 11 years ago

Now the server just has to keep track of the voxel data so that it can send the world state to new users. We don't even need to do physics on the server for now...

Sent from my iPhone

On Feb 10, 2013, at 3:55 PM, Gabe Hollombe notifications@github.com wrote:

That's definitely a good point, especially from an optimize for fun/hackability point of view.

So, what does this shift involve? Trusting client for reporting it's position and block placements, but still simulating physics of blocks on the server?

— Reply to this email directly or view it on GitHub..

gabehollombe commented 11 years ago

Are we doing voxel-based physics yet (like how sand falls in Minecraft) yet? If so, we'll want to do that simulation server-side, right?

max-mapper commented 11 years ago

good call. there is no water and no sand falling implemented yet, but that doesnt sound too difficult to do on the server