back

by Philpax·3y ago·view on hn ↗
Hey there! I'm one of the devs working on Ambient.

To answer your specific question, nope - the server is always authoritative over state, so clients cannot adjust reality for other clients. That being said, there are other concerns that result from this model, so I'm going to transclude my answer from Reddit (https://www.reddit.com/r/rust/comments/118wlda/introducing_a...):

"By default, components are not networked to the client; you have to opt into this using a component attribute (https://ambientrun.github.io/Ambient/project.html#reference). That being said, many of the core components are networked by default - we're thinking about how to best balance convenience of development with security, and it's an ongoing discussion."

1 comments
Makes sense! Thanks for that context. I believe your approach is a sane default in many cases, and in some cases cheat prevention can even be a rabbit hole of premature optimization for smaller teams. Oftentimes in modern multiplayer games remediation is a manual human process (i.e. players are banned by administrators based on reports from players). There are many hugely successful and profitable games which take this approach, so I don't think it should necessarily be written off completely as "wrong". There are also many successful games (even AAA ones) where cheating is prevalent and widespread despite attempts at prevention. It strikes me as a tradeoff around velocity and time spent for the team. For smaller teams I suspect time is often better spent shipping rather than hyper-optimizing cheat prevention, but that is just my opinion and is also dependent on the context.