Jump to content

Forums Announcement

Read-Only Mode for Announcements & Changelogs

Dear Survivors, we'd like to inform you that this forum will transition to read-only mode. From now on, it will serve exclusively as a platform for official announcements and changelogs.

For all community discussions, debates, and engagement, we encourage you to join us on our social media platforms: Discord, Twitter/X, Facebook.

Thank you for being a valued part of our community. We look forward to connecting with you on our other channels!

Stay safe out there,
Your DayZ Team

Sign in to follow this  
oxigan

Technically Server->Client Architecture [Cheats/Hacks]

Recommended Posts

Hello,

my name is Michael and I am a developer myself.

I just wanted to say, that most cheats/hacks only work ( in many many games ) because the developer have choosen to calculate important things ( like the x/y/z position of a player or NPC ) client-sided, which is then sent to all the other players and can be easily manipulated.

So, I really suggest - even if it takes more server-performance and a good understanding of network programming - doing a real server -> client architecture which means:

Everything is calculated and validated by the server and send out to the players.

Example:

1.) Player 1 wants to move forward so he presses "W"-button.

2.) Client of Player 1 sends this request to the Server.

3.) Server checks if Player 1 is allowed to move forward (for example if there is no wall or tree or whatever could prevent movement).

4.) Server then calculates the new x/y/z position and sends it out to every client (of course only clients who are in a certain radius around Player 1 - or are allowed to "see" him).

This - of course - is only a small example ( for moving forward ) and there are many things which need to be validated and send out - but its the only realy secure way to build a MMO game.

For example World of Warcraft, Starcraft 2 or even Diablo 3 are working this way.

WarZ - btw. - is NOT completely working server-sided ( which has been also stated in the forums by one of their developer ) and now has exactly those problems with hackers - because of this ( there have been many things calculated client-sided ).

Maybe some developer can give some feedback about my points? Thanks.

Greetings,

Michael

  • Like 2

Share this post


Link to post
Share on other sites

I think that is what is happening, to what degree I don't know, have you read this post on the blog?

http://dayzdev.tumbl...y-it-is-it-isnt

Also Rocket touched on it briefly on Reddit.

Currently simulation is run on all clients, and then compared. This is actually a major source of lag. Removing this, and cleaning out all the unnecessary component is actually reasonably "easy".

Currently if someone is shot, in a way all the clients and the server perform the calculations and compare notes. It is much more efficient if one participant does that, and if it is the server, it is much faster as it is connected directly to all participants, thus reducing lag.

Our first task, currently happening literally right now, is to basically have clients report keystrokes to the server, and then the server does everything. once that is working, we begin selectively enabling some functions at the client level. Once that is done, we'll run some kind of mass feature-less DayZ test to assess performance and the operating limits of the system.

http://www.reddit.co..._be_based_on_a/

Edited by smasht_AU

Share this post


Link to post
Share on other sites

I think that is what is happening, to what degree I don't know, have you read this post on the blog?

http://dayzdev.tumbl...y-it-is-it-isnt

Also Rocket touched on it briefly on Reddit.

http://www.reddit.co..._be_based_on_a/

interesting resources - thanks :) Seems like they are moving in the exactly right direction.

Edited by Oxigan

Share this post


Link to post
Share on other sites

Crap. I wish there were another way to do this. If we move to traditional MMO architecture, I'm afraid I'll lag to death. Then again, I get better ping in DayZ than in any other game (150-200), so we'll see. I can only hope that AT&T will tap into the fiber cables just laid down.

Share this post


Link to post
Share on other sites

200 ping? ouch!

Might be worth renting a pneumatic drill and patching yourself in a little closer to the exchange. ^_^

The one thing I'm worried about with this new set up is, taking fire from a lag-master.

If everything is relayed through the server, are we going to be getting shot by people who can still see us from 5 seconds ago?

Removing all the redundant simulation calculations will, no doubt, vastly improve performance. I just wish I understood the process better.

Share this post


Link to post
Share on other sites
Sign in to follow this  

×