Presentation is loading. Please wait.

Presentation is loading. Please wait.

Comp763: Modern Computer Games Cheat-Proof Playout for Centralized and Distributed Online Games Nathaniel E. BaughmanBrian Neil Levine Irwin Chiu Hau Computer.

Similar presentations


Presentation on theme: "Comp763: Modern Computer Games Cheat-Proof Playout for Centralized and Distributed Online Games Nathaniel E. BaughmanBrian Neil Levine Irwin Chiu Hau Computer."— Presentation transcript:

1 Comp763: Modern Computer Games Cheat-Proof Playout for Centralized and Distributed Online Games Nathaniel E. BaughmanBrian Neil Levine Irwin Chiu Hau Computer Science McGill University Winter 2004

2 Comp763: Modern Computer Games Overview  Introduction  Assumptions and Terminology  Fair Playout  Cheat-Proof Game Interaction  Performance Analysis  Supporting Cell-Based Architecture  Conclusion

3 Comp763: Modern Computer Games Introduction  Cheating in multiplayer online games  RTS  FPS  Anti-cheat techniques  Cheat detection techniques Warcraft 3 UT 2003 source: blizzard.com source: unrealtournament.com

4 Comp763: Modern Computer Games Overview  Introduction  Assumptions and Terminology  Fair Playout  Cheat-Proof Game Interaction  Performance Analysis  Supporting Cell-Based Architecture  Conclusion

5 Comp763: Modern Computer Games Assumptions  We grant cheaters the ability to  read, insert, modify block messages involved with the game protocol  We assume that  Application Software is readable by user and performs its functions as originally intended

6 Comp763: Modern Computer Games Assumptions  Beyond the scope of this paper  Protecting against attacks on existing transport-layer and network-layer protocols denial-of-service attacks –flooding a network –disrupt service, connection –cause a login to be refused  Client modifications However, the specific cheat-proof techniques are tolerant against these modifications

7 Comp763: Modern Computer Games Terminology  A set of information that describes the game at any time is called game state, which is composed of entity  An entity may consist of several in-game objects and is controlled by a player  A player is a person playing a game as well as the objects that person controls in the game

8 Comp763: Modern Computer Games Game state partitioning Control

9 Comp763: Modern Computer Games Terminology  Players make decisions  they decide on events that change their own states  When an interaction occurs, multiple players’ decisions must be resolved by computing the resulting state

10 Comp763: Modern Computer Games Terminology  frame  progression of in-game time  The simulator computes game state for each frame  Players take exactly one turn during each frame

11 Comp763: Modern Computer Games Architectures  Multiplayer games are coordinated through either  Centralized client-server or decentralized distributed architectures  The architectures differ by where  Game state is maintained  Which involves  Effecting changes and coordinating interactions

12 Comp763: Modern Computer Games Centralized-Control Client-Server  Server maintains all the entity states  Server computes game states based on clients’ inputs  Clients request for the server to change the client’s entity state

13 Comp763: Modern Computer Games Decentralized-Control Client-Server  The client informs the server of update decisions that have affected its entity state  The server resolves any interactions between game objects and coordinate global game state

14 Comp763: Modern Computer Games Distributed  Serverless or Peer-to-Peer  Clients are referred as hosts  Each host  Maintains its own entity state  Informs other hosts of decisions  Resolves any interactions without the use of any centralized authority

15 Comp763: Modern Computer Games Some Facts  Distributed games are much more prone to cheating  Cheats are possible within a client-server game  Many games are designed around the client- server architecture  which provides some implicit security along with centralized control of game state.

16 Comp763: Modern Computer Games Overview  Introduction  Assumptions and Terminology  Fair Playout  Cheat-Proof Game Interaction  Performance Analysis  Supporting Cell-Based Architecture  Conclusion

17 Comp763: Modern Computer Games Fair Playout  A correct playout of real-time interaction means  that the game is identically perceived by every player  A Fair games is one  where players see events occurs as would be expected by games rules and taken actions  A player cheats by causing updates that defy rules of the games or gain an unfair advantage

18 Comp763: Modern Computer Games Irresolvable Interactions  Dead Reckoning  Can be used in client-server or distributed environments  Problems  centralized case  distributed case

19 Comp763: Modern Computer Games Centralized Case  Interactions are resolved by the server uniformly, but unfairly  Server has authority over game states  to resolve interactions, so all clients are updated with the same resulting view of the world

20 Comp763: Modern Computer Games Centralized Case  Resolving an interaction with Dead Reckoning  The server’s decision may differ from the expectation of the dead-reckoned player  The dead-reckoned player may view the server decisions as unfair Player’s true actions were not used by the server  Due to unreliability and latency of the Internet unfairness is not tolerated by game players

21 Comp763: Modern Computer Games Distributed Case  Unfair decisions becomes damaging  Interactions based on dead-reckon state may damage the global state  The result of resolving an interaction based on dead- reckoned state = incorrectness of overall game state

22 Comp763: Modern Computer Games Irresolvable Interactions  An irresolvable interaction problem results when  Dead-Reckoning is used  Interactions are either determined unfairly by a server potentially incorrectly by a distributed host

23 Comp763: Modern Computer Games Suppress-Correct cheat  Dead-Reckoning  One security flaw under bucket synchronization is what we term the suppress-correct cheat

24 Comp763: Modern Computer Games Cheating Under Dead Reckoning  Under some Dead Reckoning policy  n buckets are allowed to be dead reckoned before the player is considered to have lost connection  With such policy, a cheating player 1.can purposely drop n – 1 update packets 2.uses knowledge of the current game state 3.constructs an update packet for the nth bucket that provides some advantage

25 Comp763: Modern Computer Games Example  A sluggish player S chase a more agile player A 1.S begins pursuit, then drop n – 1 updates 2.A dead reckons S’s missing state, but cannot confirm where S really is 3.For the nth bucket, S sends a constructed update that places S behind A

26 Comp763: Modern Computer Games Example (continued)  As long as S sends plausible updates every nth bucket  A cannot confirm that S is cheating  S simply claims to be on a congested and lossy network  This cheat applies both to  client-server architecture  distributed architecture

27 Comp763: Modern Computer Games Lookahead cheat  Most RTS (using stop-and-wait protocol)  Requires interaction resolution at each discrete time unit of time, or turn, in game  Before time advances 1.players must stop and wait for others 2.players make state change decisions 3.players send that decision to each other player  Another cheating opportunity called lookahead cheat  A cheating player can simply wait until all other players have sent their decision

28 Comp763: Modern Computer Games Example  Player B take a lethal shot towards A  This decision is sent to server  Normal human reaction is not quick enough to defend against this  Player A ‘s cheating agent will automatically raise shields in time UT 2003 source: unrealtournament.com

29 Comp763: Modern Computer Games Overview  Introduction  Assumptions and Terminology  Fair Playout  Cheat-Proof Game Interaction  Performance Analysis  Supporting Cell-Based Architecture  Conclusion

30 Comp763: Modern Computer Games Cheat-Proof Game Interaction  The paper proposes a protocol that prevents  lookahead cheats  suppress-correct cheats by disallowing Dead-Reckoning  Called Lockstep Protocol  stop-and-wait type protocol

31 Comp763: Modern Computer Games Lockstep Protocol  Each player 1.makes a decision but do no announce it 2.one-way hashes the decision 3.sends the encrypted decision  Once all encrypted decisions have been received 1.Players reveal their decision in plain text 2.Hosts can easily verify the reveal decision  by comparing hashes

32 Comp763: Modern Computer Games Lockstep Protocol  Trade-Off  Performance Penalty  Minor optimization  last player can simply reveal its decision immediately  Correct playout is preserved  All players will run at the speed of slowest player

33 Comp763: Modern Computer Games Asynchronous Synchronization  AS is a synchronization technique that  relaxes the requirements of lockstep synchronization by decentralizing the game clock  guarantees fair playout and correctness  provides better performance  Each host  advances in time asynchronously from other hosts  enters in lockstep-style mode when interaction is required

34 Comp763: Modern Computer Games Sphere of Influence  Each player’s host keeps track of each other player’s  advancement in time and space within a Sphere Of Influence ( SOI ) base: maximum area that may influence or be influenced on any one turn delta: the change in influence area that may occur in subsequent turns

35 Comp763: Modern Computer Games Asynchronous Synchronization Protocol  For an each game turn t 1.A player determines a decision 2.A player sends the hashed decision to all players 3.Commitments that are one frame past the last revealed frame are accepted 4.Before revealing its commitment, the local player determines which remote players it is waiting for within a SOI 5.If no other remote host are in wait state, the local host reveals its state for this turn t

36 Comp763: Modern Computer Games Secret Possessions  Objects that are not revealed immediately to other players  weapon, key, …  ex: think about battleship  Solution  Define a promise as a place to store these secret possessions  Promises can be encrypted or hashed NWN source: Bioware

37 Comp763: Modern Computer Games Cheat Detection  Logger Service: a trusted, centralized entity that  records promised information to be verified later  Observer Service: a trusted, centralized entity that  receives secret information via secure channels  verifies it real-time  Promise Service: a trusted, centralized entity that  receives secret and non-secret information

38 Comp763: Modern Computer Games Overview  Introduction  Assumptions and Terminology  Fair Playout  Cheat-Proof Game Interaction  Performance Analysis  Supporting Cell-Based Architecture  Conclusion

39 Comp763: Modern Computer Games Performance Analysis  Xpilot Simulation  players control ships in 2-D space  Test  Run for about 4000 frames of gameplay  Traces of 10, 18, 30 and 37 players  Asynchronous Synchronization protocol  Lockstep protocol

40 Comp763: Modern Computer Games Performance Analysis  One unit of simulator time = 10 ms  Lower cap  players could not take turns more often than every 4 units of the simulation  Upper cap  players could not advance in turns more than once every 10 units of simulator time  Simulate a game running at 10 fps

41 Comp763: Modern Computer Games Performance Analysis Distribution of milliseconds stalled between frames due to lockstep interaction.

42 Comp763: Modern Computer Games Performance Analysis Distribution of milliseconds stalled between frames due to lockstep interaction.

43 Comp763: Modern Computer Games Performance Analysis  The simulation shows that the performance of AS and lockstep protocols degrades slowly  With the AS protocol  at least 50% of the turns can be taken without delay due to player coordination

44 Comp763: Modern Computer Games Overview  Introduction  Assumptions and Terminology  Fair Playout  Cheat-Proof Game Interaction  Performance Analysis  Supporting Cell-Based Architecture  Conclusion

45 Comp763: Modern Computer Games Supporting Cell-Based Architecture  In order for MMO games to scale  amount of communications  processing per client must remain low  Solutions  Separate multicast addresses or separate servers based on geometric position  Virtual Playing Field may be broken into cells to increase scalability

46 Comp763: Modern Computer Games Supporting Cell-Based Architecture  AS couples together nicely with cell-based technique while maintaining  cheat prevention and cheat detection  A player must perform AS for the players inside the same cell

47 Comp763: Modern Computer Games Overview  Introduction  Assumptions and Terminology  Fair Playout  Cheat-Proof Game Interaction  Performance Analysis  Supporting Cell-Based Architecture  Conclusion

48 Comp763: Modern Computer Games Conclusion  Cheat-proof protocols  Lockstep  Provides cheat proof and fair playout  Asynchronous Synchronization  Improves performance  Can be used in combination with cell-based architecture

49 Comp763: Modern Computer Games Questions?


Download ppt "Comp763: Modern Computer Games Cheat-Proof Playout for Centralized and Distributed Online Games Nathaniel E. BaughmanBrian Neil Levine Irwin Chiu Hau Computer."

Similar presentations


Ads by Google