11 Hack-proof Synchronization Protocol for Multi-player Online Games 239a player joins an existing game session, the avatar will be given an initial speedingcapability.. In a game using
Trang 1230 A.A Sofokleous and M.C Angelides
Fig 4 The Main Game Phase: Round 2
may decide to decline an offer if the offer was not good enough or if he can wait forthe next game to get a better offer The former is calculated from the objectives andconstraints set by the player whereas the latter is the payoff of the game to playersthat give up their bandwidth during a game The server will take into account theirdecision and in the next game these players will get at a better offer Before moving
to the next round, all the players must make their initial YES or NO decision Theresult of this round is that some players (i.e with a YES decision) will satisfied interms of bandwidth, whereas some other will have to wait
Trang 2Round 2 - remainder bandwidth dealing (RBD): this round will go ahead only ifthere is enough bandwidth to satisfy at least one more player (Figure4) For exam-ple, consider the case where the last player declined the server’s offer In figure4,player 1, who decided last in round 1, declined the offer of server If b1, which is thebandwidth offered to player 1, is also the available bandwidth at the end of round 1,
in round 2 the objective is to use this bandwidth to make a new offer to the fied players Following a vice-versa order, i.e FIFO on the initial settlement of the
unsatis-gameQueue players, the server offers this bandwidth to each one of each one of the
players that declined its offers earlier If one of the players takes the offer then thisround terminates and the game proceeds to the next phase At the end of round 2,the server satisfies the players who accepted the offer, e.g in figure4player k 1accepted the offer Players, who have not gone with any of the server’s offers, e.g infigure players k and 1, will play again in the next game and not get any bandwidthfrom the current game
Streaming-Seat Reallocation Phase
Figure5shows the final phase of the game, where players are either served, if theyaccepted an offer, or change seat in order to participate in the next game The newseat arrangement is one of the payoffs of the players who have decided to wait, e.g.player k in Figure5 In addition, the fact that the server will make a better offer tothose players is another payoff of waiting to be served in future games For example,
if the current game is game t , and player j is a player of game t waiting to be served
in the next game, then bj.t C 1/ D bj.t/ C e , where e is a small additional amount
of bandwidth given to these players, e.g e D .B bj t //
Concluding Discussion
This paper describes a game approach to dealing bandwidth It proposes the ing of bandwidth allocation based on five-card poker draw, where players are usersawaiting to be served sufficient bandwidth Each player participates in the gameunder a number of rules for gaining the wanted bandwidth resources Players havepriorities according to the time of arrival One of the difference of our approach isthat it takes into account the length of the queue and the time that a player mayneed to wait before getting served Thus, in some cases, the players can sacrificethe quality of the video in order to be served faster, or may choose to wait more inexchange of getting more bandwidth We are currently extending our algorithm toincorporate content adaptation
Trang 3model-232 A.A Sofokleous and M.C Angelides
Fig 5 The Streaming-Seat Reallocation Phase
Trang 41 H Agius and M C Angelides, “Closing the content-user gap in MPEG-7: the hanging basket
model,” Multimedia Systems, Vol 13, No 2, 2007, pp 155-172.
2 D Andrei, M Batayneh, S Sarkar, C U Martel and B Mukherjee, “Deadline-driven
band-width allocation with flexible transmission rates in WDM networks,” Proceedings of the IEEE International Conference on Communications (ICC’08), Beijing, China, 2008, pp 5354-5358.
3 M C Angelides, A A Sofokleous and M Parmar, “Classified ranking of semantic content
filtered output using self-organizing neural networks,” Lecture Notes in Computer Science 4132: Proceedings of the 16th International Conference on Artificial Neural Networks (ICANN 2006) Part II, Athens, Greece, 2006, pp 55-64.
4 M C Angelides, A A Sofokleous and C Schizas, “Implementing the MPEG-21
adapta-tion quality of service in dynamic environments,” Lecture Notes in Computer Science 3983: Proceedings of the 2006 IEE International Conference on Computational Science and its Ap- plications (ICCSA2006) Part IV, Glasgow, UK, 2006, pp 118-127.
5 H Boche, M Wiczanowski and S Stanczak, “On Optimal Resource Allocation in Cellular
Networks With Best-Effort Traffic,” Wireless Communications, IEEE Transactions on, Vol 7,
No 4, 2008, pp 1163-1167.
6 J Chakareski and P Frossard, “Rate-Distortion Optimized Distributed Packet Scheduling of
Multiple Video Streams over Shared Communication Resources,” IEEE Transactions on timedia, Vol 8, No 2, 2006, pp 207-218.
Mul-7 S L Chao, G Y Lin and H Y Wei, “Mixed altruistic and selfish users in wireless mesh
net-works: A game theoretic model for multihop bandwidth sharing,” Proceedings of the 9th ACM International Symposium on Mobile Ad Hoc Networking and Computing, 2008, pp 461-462.
8 N Cranley, P Perry and L Murphy, “Optimum adaptation trajectories for streamed
multime-dia,” Multimedia Systems, Vol 10, No 5, 2005, pp 392-401.
9 A Creus-Mir, R Casadesus-Masanell and A Hervas-Drane, “Bandwidth allocation in
peer-to-peer file sharing networks,” Computer Communications, Vol 31, No 2, 2008, pp 257-265.
10 E Del Re, G Gorni, L S Ronga and M A Vazquez Castro, “A game theory approach for
DVB-RCS resource allocation,” Proceedings of the IEEE 67th Vehicular Technology ence (VTC’08), Singapore, 2008, pp 2937-2941.
Confer-11 A H Elghirani, R Subrata and A Y Zomaya, “A proactive non-cooperative game-theoretic
framework for data replication in data grids,” Proceedings of the 8th IEEE International posium on Cluster Computing and the Grid (CCGRID’08), Lyon, France, 2008, pp 433-440.
Sym-12 J Elias, F Martignon, A Capone and G Pujolle, “A new approach to dynamic bandwidth
allocation in Quality of Service networks: Performance and bounds,” Computer Networks,
Vol 51, No 10, 2007, pp 2833-2853.
13 Z Fang and B Bensaou, “Fair bandwidth sharing algorithms based on game theory
frame-works for wireless ad-hoc netframe-works,” Proceedings of the 23th Conference of the IEEE Communications Society (INFOCOM’04), Hong Kong, 2004, pp 1284-1295.
14 N Feng, S C Mau and N B Mandayam, “Pricing and Power Control for Joint
Network-Centric and User-Network-Centric Radio Resource Management,” IEEE Transactions on tions, Vol 52, No 9, 2004, pp 1547.
Communica-15 D Fotakis, S Kontogiannis, E Koutsoupias, M Mavronicolas and P Spirakis “The structure
and complexity of nash equilibria for a selfish routing game,” Theoretical Computer Science,
2008, available online from http://dx.doi.org/10.1016/j.tcs.2008.01.004.
16 M Gruhne, R Tous, J Delgado, M Doeller and H Kosch, “MP7QF: An MPEG-7 query
for-mat,” Proceedings of the 3rd International Conference on Automated Production of Cross Media Content for Multi-Channel Distribution, (AXMEDIS’07), Barcelona, Spain, 2007,
pp 15-18.
Trang 5234 A.A Sofokleous and M.C Angelides
17 P Guturu, “Computational intelligence in multimedia networking and communications:
Trends and future directions,” in Computational Intelligence in Multimedia Processing: Recent Advances, vol 96/2008, A Hassanien, A Abraham and J Kacprzyk, Eds Springer Berlin /
Heidelberg, 2008, pp 51-76.
18 J L Hsiao, H P Hung and M S Chen, “Versatile Transcoding Proxy for Internet Content
Adaptation,” IEEE Transactions on Multimedia, Vol 10, No 4, 2008, pp 646-658.
19 D Jannach, K Leopold, C Timmerer and H Hellwagner, “A knowledge-based framework for
multimedia adaptation,” Applied Intelligence, Vol 24, No 2, 2006, pp 109-125.
20 Z Ji and K J R Liu, “Dynamic Spectrum Sharing: A Game Theoretical Overview,” IEEE Communications Magazine, Vol 45, No 5, 2007, pp 88.
21 S Kalasapur, M Kumar and B Shirazi, “Personalized service composition for ubiquitous
multimedia delivery,” Proceedings of the 6th IEEE-CS International Symposium on a World of Wireless Mobile and Multimedia Networks (WoWMoM’05), Taormina, Giardini, Naxos, 2005,
pp 258-263.
22 H Kung, J Hua, Y Chang and C Lin, “Seamless QoS Adaptation Control for Embedded
Multimedia Communications,” IEEE Transactions on Consumer Electronics, Vol 52, No 1,
2006, pp 240-248.
23 R T B Ma, S C M Lee, J C S Lui and D K Y Yau, “A game theoretic approach to provide
incentive and service differentiation in P2P networks,” Proceedings of the Joint International Conference on Measurement and Modeling of Computer Systems, 2004, pp 189-198.
24 R T B Ma, S C M Lee, J C S Lui and D K Y Yau, “Incentive and service differentiation
in P2P networks: a game theoretic approach,” IEEE/ACM Transactions on Networking (TON),
Vol 14, No 5, 2006, pp 978-991.
25 R T Maheswaran and T Basar, “Multi-user flow control as a nash game: Performance of
var-ious algorithms,” Proceedings of the 37th IEEE Conference on Decision and Control, Tampa,
Florida, USA, 1998, pp 1090-1095.
26 J M Mart´ınez, “MPEG-7 Tools for Universal Multimedia Access,” Journal of the American Society for Information Science and Technology, Vol 58, No 9, 2007, pp 1374-1376.
27 F Meshkati, H V Poor and S C Schwartz, “Energy-efficient resource allocation in wireless
networks: An overview of game-theoretic approaches,” IEEE Signal Processing Magazine,
Vol 24, 2007, pp 58-68.
28 D Mukherjee, E Delfosse, J Kim and Y Wang, “Optimal Adaptation Decision-Taking for
Terminal and Network Quality-of-Service,” IEEE Transactions on Multimedia, Vol 7, No 3,
2005, pp 454-462.
29 M J Neely, E Modiano and C Li, “Fairness and Optimal Stochastic Control for
Heteroge-neous Networks,” IEEE/ACM Transactions on Networking, Vol 16, No 2, 2008, pp 396-409.
30 W Ogryczak, A Wierzbicki and M Milewski, “A multi-criteria approach to fair and efficient
bandwidth allocation,” Omega, Vol 36, No 3, 2008, pp 451-463.
31 M Prangl, T Szkaliczki and H Hellwagner, “A Framework for Utility-Based Multimedia
Adaptation,” IEEE Transactions on Circuits and Systems for Video Technology, Vol 17, No.
6, 2007, pp 719-728.
32 P Ranganathan, E Geelhoed, M Manahan and K Nicholas, “Energy-Aware User Interfaces
and Energy-Adaptive Displays,” IEEE Computer, Vol 39, No 3, 2006, pp 31-38.
33 A Sahasrabudhe and K Kar, “Bandwidth allocation games under budget and access
con-straints,” Proceedings of the 42nd Annual Conference on Information Sciences and Systems (CISS’08), Princeton, NJ, 2008, pp 761-769.
34 A A Sofokleous and M C Angelides, “Client-Centric Usage Environment Adaptation using
MPEG-21,” Journal of Mobile Multimedia, Vol 2, No 4, 2006, pp 297-310.
35 A A Sofokleous and M C Angelides, “Content Adaptation on Mobile Devices using
MPEG-21,” Journal of Mobile Multimedia, Vol 2, No 2, 2006, pp 112-123.
36 A A Sofokleous and M C Angelides, “DCAF: An MPEG-21 Dynamic Content Adaptation
Framework,” Multimedia Tools and Applications, Vol 40, No 2, 2008, pp 151-182.
Trang 637 A A Sofokleous and M C Angelides “Dynamic selection of a video content adaptation
strategy from a pareto front,” The Computer Journal, 2008, available online from http://dx.
doi.org/10.1093/comjnl/bxn035.
38 P J Teller and S R Seelam, “Insights into Providing Dynamic Adaptation of Operating
Sys-tem Policies,” ACM SIGOPS Operating SysSys-tems Review, Vol 40, No 2, 2006, pp 83-89.
39 B Veeravalli, L Chen, H Y Kwoon, G K Whee, S Y Lai, L P Hian and H C Chow,
“Design, analysis, and implementation of an agent driven pull-based distributed
video-on-demand system,” Multimedia Tools and Applications, Vol 28, No 1, 2006, pp 89-118.
40 A Vetro, C Timmerer and S Devillers, “Digital item adaptation - tools for universal
multime-dia access,” in The MPEG-21 Book I S Burnett, F Pereira, R Van de Walle and R Koenen,
Eds Hoboken, NJ, USA: John Wiley, 2006, pp 282-331.
41 A Vetro and C Timmerer, “Digital Item Adaptation: Overview of Standardization and
Re-search Activities,” IEEE Transactions on Multimedia, Vol 7, No 3, 2005, pp 418-426.
42 F Yu, Q Zhang, W Zhu and Y Q Zhang, “QoS-adaptive proxy caching for multimedia
streaming over the Internet,” IEEE Transactions on Circuits and Systems for Video Technology,
Vol 13, No 3, 2003, pp 257-269.
Trang 7Chapter 11
Hack-proof Synchronization Protocol
for Multi-player Online Games
Yeung Siu Fung and John C.S Lui
Introduction
Modern multi-player online games are popular and attractive because they provide
a sense of virtual world experience to users: players can interact with each other onthe Internet but perceive a local area network responsiveness To make this possible,most modern multi-player online games use similar networking architecture thataims to hide the effects of network latency, packet loss, and high variance of delayfrom players Because real-time interactivity is a crucial feature from a player’spoint of view, any delay perceived by a player can affect his/her performance [16].Therefore, the game client must be able to run and accept new user commandscontinuously regardless of the condition of the underlying communication channel,and that it will not stop responding because of waiting for update packets from otherplayers To make this possible, multi-player online games typically use protocolsbased on “dead-reckoning” [5,6,9] which allows loose synchronization betweenplayers
However, dead-reckoning protocol is susceptible to some security attack orexploitation In particular, the type of cheat that exploits this vulnerability is calledspeed-hack [3] and it has become so widely available and easily accessible becausethe implementation of a speed-hack is very simple Speed-hack cheats exist virtually
in all popular commercial multi-player online games [15] Existing countermeasurestarget on the cheats themselves, i.e they scan for and block any known cheatingsoftware, or observe any abnormal network traffic and ban that player from thegame These methods cannot safeguard against all potential speed-hacks, and honestplayers may be accidentally recognized as cheaters due to the false positive nature
of detection software
Figure 1a and b are screenshots from a popular commercial massively
mul-tiplayer online role-playing game (MMORPG) called World of Warcraft In an
Y.S Fung and J.C.S Lui ( )
Department of Computer Science and Engineering, The Chinese University of Hong Kong,
Ma Liu Shui, China
e-mail: fsfyeung; csluig@cse.cuhk.edu.hk
B Furht (ed.), Handbook of Multimedia for Digital Entertainment and Arts,
DOI 10.1007/978-0-387-89024-1 11, c Springer Science+Business Media, LLC 2009
237
Trang 8Fig 1 a Some avatars moving inside a virtual world, each of them is controlled by an individual player b Several avatars attacking each other using different weapons
MMORPG, each player controls the action of an avatar inside a virtual world Forexample, the player can move the avatar from one place to another, gather differentitems by moving the avatar towards them, use different weapons and magic spells toattack other avatars and move the avatar to avoid being attacked Therefore, a playerwith a fast moving avatar has definite advantages over players with slower movingavatars Normally, an avatar can move faster only after it has obtained some partic-ular items However, when using speed-hack an avatar can move arbitrarily faster.Figure 4 illustrates the effect of using speed-hack in an MMORPG In Fig.4c and
d, playerP is using a speed-hack We can see that P’s avatar moves faster than that
in Fig.4a and b
This paper presents a novel dead-reckoning protocol that is immune from thespeed-hack cheats We assume the cheater can modify any binary code or game data,e.g the OS’s clock speed, the memory data, the incoming and outgoing packets, etc.However, we will prove that the invulnerability of our protocol does not depend onwhat the cheater can do and even the cheater can modify the outgoing packets, onlyvery limited advantages can be gained Since our protocol is based on the conven-tional dead-reckoning protocol, existing games can easily be modified to becomeresistant to speed-hack Our protocol can be adapted to both client-server architec-ture and P2P architecture in a very similar way
Trang 911 Hack-proof Synchronization Protocol for Multi-player Online Games 239
a player joins an existing game session, the avatar will be given an initial speedingcapability This speeding capability may be different according to which avatar theplayer has chosen This speeding capability limits how fast the avatar can move inthe virtual world The avatar can be moving or stationary at any moment duringthe game, but while it is moving, its speed is fixed Throughout this paper, we call
this speed the legal speed of the avatar The legal speed of the avatar can be changed
when the game is in progress It can be achieved by either gaining enough experiencepoints to upgrade the avatar’s abilities or by obtaining special items which will affectthe avatar’s abilities In a client-server architecture, the change of an avatar’s legalspeed needs to be granted by the game server and the game server will broadcastthe new legal speed of that avatar to all clients In a peer-to-peer architecture, thechange of an avatar’s legal speed needs to be verified by all peers For example, allpeers must agree that the avatar has obtained the specific item successfully and sothey will update its legal speed accordingly Therefore, the change of the legal speed
of an avatar works under a tight synchronization requirement
Synchronization protocols based on dead-reckoning are commonly used inmultiplayer online games because they do not require synchronization at everystate change In a game using dead-reckoning, each client sends update packet tothe server (in client-server architecture) or to the peers (in peer-to-peer architec-ture) at a constant interval called timeframe, instead of at each state change Anupdate packet consists of a timestamp of the game states and a dead-reckoningvector while a dead-reckoning vector consists of the current coordinates and mov-ing direction of the avatar Using the latest received update packet, each client canpredict the movement of another player before the next packet arrives When a newpacket arrives, correction will be made if there is any deviation induced by theprediction Therefore, players do not maintain strictly synchronized views at everystate change Instead, their views will only be re-synchronized each time when thesynchronization takes place
An important advantage of this loose synchronization is that the rate of graphicsrendering at each client side can be made independent to the rate of synchronization
In order to produce smooth display, the graphics should be rendered at a rate no lessthan 30 frames per seconds (fps) However, synchronization in MMORPGs typicallytakes place in a much slower rate This is because synchronization can consume asignificant amount of processing power and network bandwidth the server since thenumber of connected clients are typically in the order of thousands The situation
is even more severe in peer-to-peer games, since IP multicast is still not yet widelyavailable, a peer-to-peer game client may resort to sending separate update packets
to every peer Because of this, synchronizations in MMORPGs typically take place
at a rate less than 10 updates per second, i.e a timeframe of 100 ms If a clientonly renders moving objects to their new coordinates each time when an updatepacket arrives, i.e it renders the graphics at a rate of 10 fps, the animation will lookchoppy and jittery, which will definitely destroy the game’s playability However,under dead-reckoning, since prediction is carried out before any newer packet isavailable, each client can render the movement of objects at the fastest rate whichonly depends on the processing power of the client machine
Trang 10In order to predict an object’s movement from its previous game states, simplelinear extrapolation can be used Using the dead-reckoning vector in the last receivedpacket, the client can extrapolate a linear movement from the object’s last knowncoordinates which head towards the last known direction When a new update packetarrives, the accurate coordinates may be different from the current coordinates pre-dicted by the extrapolation Algorithms such as [1] and [11] can be used to hidethe effect of any extrapolation error emerged in rendering the movements Underthe dead-reckoning protocol with the use of extrapolation, all clients can render themovement of all avatars at the fastest possible rate, which only depends on the com-putational power of the client side If an update packet is late on arrival or is evenlost, the graphics rendering will still not be affected and therefore smooth gameplaycan be ensured.
Linear Extrapolation
We give an example to illustrate a simple linear extrapolation algorithm Referring
to Fig.2, when a client sends an update packet at time t1, it is reported that avatar
P is at x1; y1/ heading at an angle r Before the next synchronization scheduled
at time t2 occurs, other clients renderP’s movement by linearly extrapolating the
position ofP based on P’s dead-reckoning vector sent at time t1, as follows:
x.t / D x1C t t1/ legal speed of P sin.r/
y.t / D y1C t t1/ legal speed ofP cos.r/
for t t1
0 5
1 1
0
Fig 2 Extrapolation of x; y/ from the latest dead-reckoning vector
Trang 1111 Hack-proof Synchronization Protocol for Multi-player Online Games 241Dead-reckoning protocol provides a means of loose synchronization amongplayers It is especially necessary when a massive number of concurrent players areinteracting with each other The larger the number of concurrent players the higherthe change of having someone’s update packet congested or lost in the network.Without dead-reckoning, at the end of each timeframe, all game clients must behalted and wait for update packets from all other players This will cause significantamount of jitter to the graphics rendering and slow down the response to the player’scontrol, and therefore implies unpleasant gaming experiences However, by usingdead-reckoning protocol, late arrived packets or lost packets can simply be ignored.
To fill in the missing packets, extrapolation is used to predict the missing gamestates, therefore the game clients will never be required to halt at any circumstance
Speed-hack
Dead-reckoning protocol is popular because of its advantage listed above, that is,all players can have a perception of smooth gameplay even though the underlyingcommunication channel is in fact error-prone, congested and has high delay vari-ance However, it hints the potential vulnerability to a form of very popular and
highly available cheat called speed-hack When using a speed-hack, a cheater can
speed up all movements of his/her avatar and thus gain an unfair advantage overother honest players
A speed-hack essentially speeds up the timing of the cheating game client, andthis can be done quite easily, especially under the dead-reckoning protocol This
is due to the fact that most of the game clients depend on a time source, such assoftware programmable timer or system library calls, to count the time elapsed andthen applies it to the Newton’s first law of motion to project the movements ofmoving objects in the virtual world Here, we illustrate how most online games han-dle player movement According to Fig.3, the avatar is at position p0at time t0 Theplayer moves the avatar by clicking the mouse at the point d0in the virtual world.The game client then stores this coordinates into memory and initiates the avatar to
Destination coordinates clicked by the player The final path of the avatar
Turning points of the avatar when the player clicks the mouse
Fig 3 Movement of an avatar in typical massively multiplayer online games
Trang 12move towards this destination However, before the avatar reaches the destinationd0, if the player issues another mouse click at the point d1 when the avatar is atcoordinates p1at time t1, the game client will initiate a new movement towards d1from p1 Similarly, at time t2, when the player issues another mouse click at d2before the avatar reaches d1, therefore, the avatar will change its direction at p2andmoves towards d2 At any time t0 after the player issues a destination point di attime ti, but before the avatar reaches there from pi, the game client will update theavatar’s position as follows Let Tj be the journey time of an avatar,
Tj D journey time
D
p.xdi xpi/2C ydi ypi/2legal speed of the avatarand the computation of the new coordinates will be:
x.t / D xpi C xdi xpi/t ti
Tjy.t / D ypi C ydi ypi/t ti
Tj
In order to speed up a game client, a speed-hack alters its own time source tocount time faster, or intercepts the genuine time source and injects a malicious onethat counts time faster, i.e it makes the value of t advances at a faster rate All localobjects in the hacked game client will therefore move faster in the cheater’s localview Under dead-reckoning protocol, the game client simply reports in its updatepacket about the coordinates of the cheater’s avatar computed in the cheater’s localview Upon receiving the cheater’s update packet, a client will move the cheater’savatar to that new position as reported in the update packet Therefore, all playerswill perceive that the cheater’s avatar moves at a faster speed
Figure4a and b illustrate the views of two interacting honest playersP and Q
respectively In the figures, P’s avatar is moving upward while Q’s avatar stays
motionless P sends two updates at time tn and tnC1 respectively, givingQ the
information to render the two opaque avatars corresponding toP’s position at time
tnand tnC1respectively However, when renderingP’s position between time tnandtnC1, where no exact information aboutP’s position is available, Q extrapolates it
from the position at time tnto fill in the positions between time tnand tnC1.Figure 4c and d illustrate the views of two interacting players P and Q re-
spectively, where P is using a speed-hack In the figures, P’s avatar is moving
upward while Q’s avatar stays motionless The speed-hack speeds up P’s game
client so that P is able to move at a faster speed and therefore travels farther
at time tnC1 compared to that in Fig 4a When synchronization takes place attnC1; P’s dead-reckoning vector reports the same position as what P perceives
locally ThereforeQ updates P’s avatar to that farther position and therefore
per-ceivesP’s avatar moving at a faster speed compared to the scenario shown at Fig.4b
Trang 1311 Hack-proof Synchronization Protocol for Multi-player Online Games 243
P’s own view, P is not cheating Q’s view, P is not cheating
P’s own view, P is cheating Q’s view, P is cheating
Fig 4 Overlapped successive frames observed by two interacting playersP (left) and Q (right)
(a–d) Opaque avatars represent accurate positions given by the dead-reckoning vectors ent avatars represent positions predicted by extrapolations
Transpar-Hack-proof Synchronization Protocol
In this section, we present a dead-reckoning protocol that is invulnerable tospeed-hacks The invulnerable protocol completely preserves the latency-hidingcharacteristic of conventional dead-reckoning protocol Extrapolations are stillallowed to smooth out the graphics rending under the enhanced protocol
We first describe a baseline countermeasure to act against the speed-hack.Inspired by this baseline countermeasure, we can then propose a modified dead-reckoning protocol which is a slightly modified version of the conventional
Trang 14dead-reckoning protocol The modified protocol is invulnerable to speed-hack;however, it cannot handle some synchronization scenarios which are common inreal games Therefore, we will propose another enhanced version of the invulnerableprotocol which is based on the modified protocol but is more sophisticated and isable to handle all possible synchronization scenarios.
Countermeasure
The first countermeasure to act against speed-hack under dead-reckoning protocol
is to verify the new coordinates of the avatar during each synchronization beforeaccepting them so as to ensure that the avatar has only moved within a legitimatedisplacement since the last synchronization
To verify the new coordinates stated in a dead-reckoning update packet, theserver (or the peers) can use the elapsed time and the avatar’s current legal speed tocompute the maximum possible displacement of the avatar as
dmaxD ti ti 1/ legal speed
Under this simple approach, a game client can detect if a player is using hack and hence restrict the movement of an avatar within its maximum possibledisplacement in each timeframe To illustrate, we should have a look at Fig.5 Thecheater uses a speed-hack so that the avatar’s displacement between each synchro-nization is larger than its maximum possible displacement dmaxin the cheater’s localview However, when other clients receive the cheater’s update packet, they willcompute the displacement of the avatar of the last synchronization as
.xi xi 1/2C yi yi 1/2
and conclude that
d > dmax
If d is much greater than dmaxin several consecutive timeframes, then obviouslythe player is using a speed-hack and the server can consider to kick that cheater out
of the game However, sometimes a cheater may only speed up a little bit just to gain
an advantage over honest players A conservative scheme is to accumulate the excessdisplacements over an extended period of time For example, if an avatar moves onaverage 10% faster than its legal speed in a period of 10 s, then the player should bekicked out of the game To avoid a cheater from gaining enough advantage withinthe grace period, such as successfully obtaining an important item because he/shemoves faster than other honest players, we should limit the actual displacement of
an avatar within each timeframe to its maximum value dmax, and this is illustrated
in Fig.5
Trang 1511 Hack-proof Synchronization Protocol for Multi-player Online Games 245
(x , y )i-1
Path perceived by other players limited to d in each timeframe Path in cheater’s local view
Direction of the path
i-1
(x ,y )i
i (x ,y )i+1 i+1
(x ,y ) i+2 i+2
xi0 D xi 1C ti ti 1/ legal speed sin.r/
D xi 1C ti ti 1/ legal speed p yi yi 1
.xi xi 1/2C yi yi 1/2and
yi0 D yi 1C ti ti 1/ legal speed cos.r/
D yi 1C ti ti 1/ legal speed p xi xi 1
.xi xi 1/2C yi yi 1/2
Invulnerability
The only possible way for a cheater to spoof other players is by tagging a largertimestamp ti in the latest update packet, resulting in a larger dmaxfor the cheater.However, the exaggeration in tiis limited by the traveling time of the update packetfrom the sender to the server (or the peers) which is the network latency Forexample, if a game client sends out an update packet at time ti, and the networklatency between it and the server is 20 ms The server will receive the update packet
... at the end of each timeframe, all game clients must behalted and wait for update packets from all other players This will cause significantamount of jitter to the graphics rendering and slow down... perception of smooth gameplay even though the underlyingcommunication channel is in fact error-prone, congested and has high delay vari-ance However, it hints the potential vulnerability to a form of. .. source, such assoftware programmable timer or system library calls, to count the time elapsed andthen applies it to the Newton’s first law of motion to project the movements ofmoving objects