Client Authoritive and the misconceptions surrounding the term, from a software engineer

Yes, the post has quite a lot of suspect content. As you say they aren’t running on purpose built supercomputers that would be capable of running all the calculations for the potentially 2000 players on a server multiplied by however many servers run on each world set. That and many of the bugs showing up seem to contradict what the post claims.
Either way the latency and desync I see every time I play are some of the worst I’ve seen in a game for years and some serious optimisations are needed.

I don’t have a favorite bug, but one that frequently annoys me no end is having to close the game and restart because I can’t even hit a rabbit let alone something trying to hit me.

From one software developer to another, hi!

so what’s the solution? the server needs the clients to perform their own calculations, I don’t believe for a second amazon actively simulates every action on their server, and you shouldn’t either.

I believe you are sincere in your understanding that this doesn’t happen…but it actually does. Ok, so let me slightly qualify - there are areas of the world we don’t care about precision in simulation very much, like your house. And generally there are savings present in non combat, non physically interactive areas elsewhere.

But in combat (and almost all situations), you are creating control inputs to a character that is fully simulated on the server. We don’t even take action inputs from clients, we take the intent of action (the “I pressed a button” example).

Even movement is server based, and you might have seen the effects of this - your client can predict where it might go, and sends that prediction to the server, but the server actually moves the character (or not, depending on how collision/movement surface rules work out) and sends back “ok, you’re here at X” to the client. The client is continuously interpolating between its optimistically assumed position - it figures anywhere it asks to go is valid - versus what the server is telling it. When this is out sync, you will get yanked back to the server position when the client is too far out of place to interpolate. This is commonly called rubber banding, and occurs in other games too, but in our model it’s not the server doing a rough bound check on client movement, it’s the client learning the server position of the character skeleton, which is the only one that matters.

As you comment, this is unusual for even server based games, but we wanted to build a model that was fundamentally resistant to some of the cheats we see available for other games, one that would work for our style of skill based combat where position and volumes matter second to second in gameplay. You describe where this would require a large amount of CPU power, and it does. A typical single server of New World is actually a set of multiple EC2 instances, and just one of those instances has tens of virtual CPUs. It’s a ton of CPU power - and anything I say further there will sound like a plug for AWS, so I’ll just leave it at that.

This does not prevent us from having bugs, even ones that occasionally feel like “cheats”. But those that occur aren’t because the client is asserting some state to the server - it can’t. We get on them as soon as we know about them, sorted in priority based on their perceived impact to gameplay.

my personal favorite bug is the regenerating perk ceasing to work when your food buff expires

Noted!

143 Likes

well explained, good sir. i love that openness of you guys already. keep it up please.

good work

12 Likes

This also happens if you die and respawn, just FYI. Gotta re-equip the regen item to get it to work again.

Also, this sort of info if greatly appreciated.

7 Likes

thanks for the reply, was wondering if you could respond to what someone shared with me New World was completely broken today - Dupes, Crashes and more - YouTube

I think exactly this was hotfixed today.

HTML tag usable in chat - can use to link any in game image - Bugs and Exploits / Bugs and Exploits - New World Forums

On another note:

The latest patch broke a lot of new stuff (Ice Gauntlet, Pillar of Fire etc) and the Ice Gauntlets still lag the wars - is there any hope that these things will be fixed in near future? Especially the War lag?

surprising, still waiting for ah money last i was on.

Ice Storm doesn’t seem to do any damage ~90% of the time now. Was testing it on multiple different mobs and the only thing it worked on was ghosts. Players it seems to usually work.

Incinerate is also not doing any damage randomly. Still works most of the time, but have had maaaany casts do no damage now, seems ~30% of the time it doesn’t work, against mobs or players.

Pillar of Fire seems to straight up not work anymore period.

Edit: Oh, and Fireball still randomly just goes through mobs/players and/or falls through the ground without exploding/leaving the burning field. But that’s nothing new.

4 Likes

This does not really sound like the words of a software engineer, not one we should consider to be an expert in this particular topic anyway. Why would the servers “run thousands of clients to actively simulate everybody playing the game”? That seems to involve some fundamental misunderstandings about how server authoritative games work and even the client-server model or game client architecture in general.

2 Likes

Thanks for the much needed communication.
I do have to ask. Is there any validity to that youtube video making the rounds over the ‘authoritative’ claim, or is just baseless assumptions?

My question is, if there is no client authority then why are people frozen in the air even on other peoples clients after someone jumps from a cliff and then uses the windowed mode exploit?

9 Likes

Once I had game bug, where game was using all my upload speed and I had 6000 ping. Attack animation was like super slow. One light attack with hatchet took like 5 seconds to finish. Running was funny, you run and try to guess where you going to be thrown back when server finally receives information.
IMO: That invulnerability bug when someone freezes their client is kinda related to AI mechanics, where for example you would disconnect or your game freezes and stops receiving information and you become invulnerable so mobs don’t kill you. If that’s not the case, cause you kinda get warning when logging out that you will be in world for some time, than for sure you can’t get hit cause server can’t read info where you at, your client doesn’t provide info and you’re kinda gone, but the “actor” still is placed on others screen while server can update its info. I ain’t no dev, but I think they need separate task apart from game client that updates server on your action regarding game client state.

No, those videos are complete nonsense and an attention grab for views.

– Another software designer.

6 Likes

THIS is the question that actually needs to be answered. Or players taking no damage and all the data packets stacking up but not being received.

6 Likes

It’s simply because the server still has to communicate with the client. But the client can’t say “Hey, teleport me to these pos” because the server would not allow that.

That in itself should be proof that they are true to their claims.

Just some bugs crawling around on the server, that’s all. Nothing to worry about.

Perfecto esta explicación resume claramente como funciona la mecánica de monstruos tiradores, el porque tardan tanto en retirarse, la cantidad de aciertos en sus disparos y sus disparos predichos. Gran explicación gracias!

Really appreciate this insight, fascinating and I suppose this bit would explain why rubber-banding in this game feels different from what I’m use to.

This is commonly called rubber banding, and occurs in other games too, but in our model it’s not the server doing a rough bound check on client movement, it’s the client learning the server position of the character skeleton, which is the only one that matters.

This raises the question though why certain speed or movement bugs happen. There have been recordings of folks flying across the map unintentionally plus some of the bugs around haste abilities. Shouldn’t the server in those situation pull the client back or is the server also miscalculating or trusting the client for those buffs?

1 Like

Appreciate the frank and honest reply, my primary aim with this post was reducing some of the doomsday talk about the engine being completely borked, while acknowledging that the current state is not all fine and dandy either - a middle ground I find sorely lacking within the community.

I am mildly impressed that amazon would dedicate the architecture to run checks that intensive, particularly here in sydney, where things get very expensive on any corporate scale.
while I’d love to hear the ins and outs of how you’re running the backend engine differently to the norm, I imagine this isn’t really the place, nor is it probably something you can disclose anyway.

Thanks for the response, and have a great day!

6 Likes

To sum everything up, if New World didn’t take client authority into consideration, there would be fly hacks, speed hacks, teleport hacks, instant kill, spawning gold (through programtic means and not because of a bug), creating your own items, etc.

But there’s not, so clearly they are doing things right.

2 Likes