player - McGill University

Cheat-Proof Playout for
Centralized and Distributed
Online Games
Nathaniel E. Baughman
Brian Neil Levine
Irwin Chiu Hau
Computer Science
McGill University
Winter 2004
Comp763: Modern Computer Games
Overview







Introduction
Assumptions and Terminology
Fair Playout
Cheat-Proof Game Interaction
Performance Analysis
Supporting Cell-Based Architecture
Conclusion
Comp763: Modern Computer Games
Introduction
 Cheating in multiplayer
online games
Warcraft 3
 RTS
 FPS
 Anti-cheat techniques
 Cheat detection
techniques
source: blizzard.com
UT 2003
source: unrealtournament.com
Comp763: Modern Computer Games
Overview







Introduction
Assumptions and Terminology
Fair Playout
Cheat-Proof Game Interaction
Performance Analysis
Supporting Cell-Based Architecture
Conclusion
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
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
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
Comp763: Modern Computer Games
Game state partitioning
Control
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
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
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
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
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
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
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 clientserver architecture
 which provides some implicit security along with
centralized control of game state.
Comp763: Modern Computer Games
Overview







Introduction
Assumptions and Terminology
Fair Playout
Cheat-Proof Game Interaction
Performance Analysis
Supporting Cell-Based Architecture
Conclusion
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
Comp763: Modern Computer Games
Irresolvable Interactions
 Dead Reckoning

Can be used in client-server or distributed
environments
 Problems


centralized case
distributed case
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
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
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 deadreckoned state = incorrectness of overall game state
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
Comp763: Modern Computer Games
Suppress-Correct cheat
 Dead-Reckoning
 One security flaw under bucket synchronization
is what we term the suppress-correct cheat
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
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
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
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
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
Comp763: Modern Computer Games
Overview







Introduction
Assumptions and Terminology
Fair Playout
Cheat-Proof Game Interaction
Performance Analysis
Supporting Cell-Based Architecture
Conclusion
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
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
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
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
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
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
Comp763: Modern Computer Games
Secret Possessions
 Objects that are not revealed immediately to
other players
NWN


weapon, key, …
ex: think about battleship
source:
Bioware
 Solution


Define a promise as a place to store these secret
possessions
Promises can be encrypted or hashed
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
Comp763: Modern Computer Games
Overview







Introduction
Assumptions and Terminology
Fair Playout
Cheat-Proof Game Interaction
Performance Analysis
Supporting Cell-Based Architecture
Conclusion
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
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
Comp763: Modern Computer Games
Performance Analysis
Distribution of milliseconds stalled
between frames due to lockstep
interaction.
Comp763: Modern Computer Games
Performance Analysis
Distribution of milliseconds stalled
between frames due to lockstep
interaction.
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
Comp763: Modern Computer Games
Overview







Introduction
Assumptions and Terminology
Fair Playout
Cheat-Proof Game Interaction
Performance Analysis
Supporting Cell-Based Architecture
Conclusion
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
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
Comp763: Modern Computer Games
Overview







Introduction
Assumptions and Terminology
Fair Playout
Cheat-Proof Game Interaction
Performance Analysis
Supporting Cell-Based Architecture
Conclusion
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
Comp763: Modern Computer Games
Questions?
Comp763: Modern Computer Games