I need to make sure I have a solid understanding of a few pretty basic concepts, as they relate to the design of multi-player online games. I've been reading all the websites and pdfs and etc. that I can find that describe the common practices of multi-player server/client design. I really have to deconstruct things sometimes in order to understand them.
So, in an ideal situation where everybody can trust everybody and nobody ever cheats.
Would it not be perfectly acceptable for every game client, in this perfectly aligned world, to be completely authoritative over their *physics simulation*? Only sending data about their player character to the server and letting it rebroadcast that out to other clients? The receiving clients would need to do some interpolation and whatnot with that data so it looked like fluid movement and didn't cause network players to teleport from lag/etc.
Is there some big glaring technical or logical or etc. reason why the above would not be a functional approach, given the impossible circumstances of folks never cheating? I feel like I'm missing something when I think about it like this, besides the hoards of cheaters and crooks.
I think, conceptually, and more or less actually this is pretty much how my system is going to work, and it appears to be working so far... Only, I'm building a pretty big layer of cheat detection, player movement monitoring and policing/reconciliation on top of it, as well as working on a Hell-ban system for those that get detected cheating...
Please do point it out, if you can spot the light at the end of my naivete...