Cheating at Multiplayer Online Games An-Cheng Huang Bruce Maggs.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Colyseus: A Distributed Architecture for Online Multiplayer Games
Game Programming Patterns Game Loop
Multiplayer Online Games An-Cheng Huang Bruce Maggs.
Online Game Security - Quake III and its Hacks - (related paper: A Systematic Classification of Cheating in Online Games, Jeff Yanand and Brian Randell.
Cheat-Proof Playout for Centralized and Distributed Online Games IEEE InfoCom’01 Paper by Nathaniel E. Baughman and Brian Neil Levine CPSC 538A Presentation:
Cheat-Proof Playout for Centralized and Distributed Online Games By Nathaniel Baughman and Brian Levine (danny perry)
Comp763: Modern Computer Games Cheat-Proof Playout for Centralized and Distributed Online Games Nathaniel E. BaughmanBrian Neil Levine Irwin Chiu Hau Computer.
Video Game Security Brett Cobbs Matthew Boquist. ONLINE VIDEO GAMES controlled a majority of the computer world for sometime now and have never stopped.
Network synchronization of Online Games Li, Zetan.
CS-3013 & CS-502, Summer 2006 Virtual Machine Systems1 CS-502 Operating Systems Slides excerpted from Silbershatz, Ch. 2.
Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization I’m Curtis.
Understanding Operating Systems 1 Overview Introduction Operating System Components Machine Hardware Types of Operating Systems Brief History of Operating.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Operating Systems.
Multiplayer Online Games An-Cheng Huang Bruce Maggs.
Systems Software Operating Systems.
The Operating System. Operating Systems (F) What you need to know about –operating system as a program; –directory/folder.
Client/Server Architectures
Daniel Korycinski CIS 487.  Developer: Valve Corporation  Game Type: First Person Shooter (FPS)  Rated for a mature audience  Price: $19.95.
Section 2.1 Identify hardware Describe processing components Compare and contrast input and output devices Compare and contrast storage devices Section.
Hardware -Computer Organization. Hardware & Software A computer system consists of A computer system consists of –Hardware: anything you can touch, smell,
COMPUTER SKILLS Chapter 1: Basic Concepts of IT 1.
Operating Systems Basic PC Maintenance, Upgrade and Repair Mods 1 & 2.
Information Systems Today: Managing in the Digital World TB4-1 4 Technology Briefing Networking.
Introduction to Computers
© Paradigm Publishing Inc. 4-1 Chapter 4 System Software.
Ins and Outs of Computers Discover Computer Hardware Discover Computer Categories Produced by Amber Watkins, West Wendover Jr./Sr. High School Website:
INTRODUCTION TO OPERATING SYSTEMS. An operating system is a program that controls the overall activity of a computer. Like an orchestra conductor an operating.
Topics Introduction Hardware and Software How Computers Store Data
Networked Games - consistency and real-time Objectives – –Understand the problems associated with networked games. –Realize the importance of satisfying.
Application Layer CHAPTER 2. Announcements and Outline  Administrative Items  Questions? Recap 1.Introduction to Networks 1.Network Type 2.N etwork.
LINUX System : Lecture 2 OS and UNIX summary Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University Acknowledgement.
1 Network Gaming. History of Network Gaming MUD MUD –Multi-user Dungeons Modem Games Modem Games Match Makings Match Makings –Real-time strategy –FPS.
PC GAMES Media Technologies Theodoros Nikitopoulos Chamilothoris.
UNIX JIN GUO 08/30/00. AGENDA 1.Creation of Unix 2.Unix Uniqueness 3.Unix Architecture 4.Unix Application 5.Unix Security 6.Unix & Web.
A+ Guide to Software Managing, Maintaining and Troubleshooting THIRD EDITION Introducing and Comparing Operating Systems Chapter 1.
Lecture 5: Using Computers: Important Ideas Tonga Institute of Higher Education IT 141: Information Systems.
Time Manipulation.  The game states rendered at the clients are different because latency is dependent on the location of the client from the server.
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
X-WindowsP.K.K.Thambi The X Window System Module 5.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Introduction to Information Technology Applications.
Cheating at Multiplayer Online Games Bruce Maggs (with some slides from An-Cheng Huang)
Page 1 Printing & Terminal Services Lecture 8 Hassan Shuja 11/16/2004.
Game Programming Patterns Game Loop From the book by Robert Nystrom
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
CS 592: Security Practicum Lecture 2 On-line PC games and their cheats.
Software Rashedul Hasan. Software Instructions and associated data, stored in electronic format, that direct the computer to accomplish a task. Instructions.
BMTS 242: Computer and Systems Lecture 1: Introduction to Computer System Yousef Alharbi Website
1 Introduction to Computers Prof. Sokol Computer and Information Science Brooklyn College.
COMP1321 Digital Infrastructure Richard Henson March 2016.
 Developed by Splash Damage  Produced by Activision  First person shooter multiplayer only game  Freeware due to problems with the single-player side.
COMP2322 Network Management Richard Henson Worcester Business School March 2016.
An operating system (OS) is a collection of system programs that together control the operation of a computer system.
By the end of this lesson you will be able to explain: 1. Identify the support categories for reported computer problems 2. Use Remote Assistance to connect.
History of Windows Operating System. Windows 1.0 Debuted in 1985 First version of Windows that was set up to use bitmap displays and mouse pointing devices.
Gaming today is a widely recognized part of our culture Gaming is very old (Egyptians – board games) Electronic games required the invention of electronic.
System Software (1) The Operating System
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
Cheating at Multiplayer Online Games
Section 2.1 Section 2.2 Identify hardware
Computer Hardware and Software
Cheating at Multiplayer Online Games
Introduction To Computers
Introduction To Computers
Information Technology Ms. Abeer Helwa
The PLATO Computer System and Cheating at Multiplayer Online Games
Presentation transcript:

Cheating at Multiplayer Online Games An-Cheng Huang Bruce Maggs

A small confession… Your professor is a notorious cheater

Types of MOG: Categorization by Genre First-Person Shooter (FPS) Role-Playing Game (RPG) Real-Time Strategy (RTS)

First-Person Shooter (FPS) Game world Player character Weapons Aim + shoot Call of Duty, Activision / Infinity Ward

FPS (cont.) Game world    

Role-Playing Game (RPG) Game world Player character “Weapons” Accomplish task, improve (virtual) ability, accomplish harder task, etc. Diablo II, Blizzard Entertainment / Blizzard North (?)

RPG (cont.) Game world     

Real-Time Strategy (RTS) Game world “Units” Explore, build, combat Rise of Nations, Microsoft

RTS (cont.) Game world             

Categorization by Persistency No persistency Persistent player information Persistent game world Persistency –Local: e.g., run a persistent server for a few friends –Global: e.g., game company hosts servers for all

No Persistency    Before gaming session During After

Persistent Player Information       Before gaming session During After   

Persistent Game World        Before gaming session During After  

Interesting Combinations n<=64 (16-32 mostly), no persistency, FPS: e.g., CoD n<=8 (2-4 mostly), no persistency, RTS: RoN n<=8, persistent player information, RPG: Diablo II n>1000, persistent game world, RPG: EverQuest n>1000, persistent game world, FPS: PlanetSide n: Number of players in a game world

PLATO Computer System PLATO IV Developed by the University of Illinois and the Control Data Corporation 1961 timesharing PLATO II begins 1964 invention of plasma panel 1968 PLATO IV begins Spun off as “NovaNET” late 1980’s Revived at

Innovations first LARGE on-line community invention of the plasma panel multimedia (built-in slide projector!) “personal notes” – “group notes” – newsgroups “consulting mode” – desktop sharing widely used “term talk” (like Unix talk) Shared memory enabled multiplayer games IBM correctly attributes Lotus Notes to PLATO

Hardware Control Data mainframes designed by Seymour Cray Cyber 70, 176, CDC 6600, 7600 Magnetic core memory 60-bit words, 6-bit characters One’s-complement arithmetic Up to 1000 simultaneous users (NovaNET runs on Alpha today?)

PLATO IV Terminal 512x512 plasma panel 1200 baud connection to mainframe Stream of commands for displaying text and symbols, and for drawing lines

Multiplayer Games Dungeons and Dragons –e.g., oubliette, avatar Space –e.g., spasim, empire Warfare –e.g., airfight, panther

Empire

Empire Basics I am  shrike , a proud Klingon / Kazari Becoming a member of the Federation, a Vulcan/Orion, or a Romulan is equivalent to rooting for UNC The goal is to conquer the universe Ship fires phasers, photon torpedos Firing at correct angle inflicts more damage. To fire phasers at angle 233, type “f 233 NEXT” Ship makes a hyperjump when you replot the screen, based on time since last replot

Empire

The Clone Brothers I built a device that you plugged a keyboard into, and then it plugged into two separate PLATO IV terminals Small circuit waited for both terminals to acknowledge keystroke before telling keyboard Why? Fly two ships to same location in empire, then have double the firepower! Nicknamed the “Clone Brothers” device migrated to different clusters of PLATO terminals around campus at U of I

PLATO V Terminal Plasma panel and CRT versions Same 512 x 512 display 8080 processor implemented all graphics

PLATO V Terminal From

First-Person Shooter Bot 8080 had access to stream of commands sent to terminal from mainframe I wrote assembly code to determine angles to enemies on the screen (using an arctan look-up table) Program displayed exact angle above each enemy, with keyboard shortcuts to fire phasers or torpedos at that angle Also displayed a growing ellipse around ship to indicate distance of hyperjump Possibly the first first-person shooter bot? 1979?

Avatar

Avatar Basics Players join different guilds, e.g., fighter, magician, cleric, and gain different capabilities Players form groups and enter the dungeon together to fight monsters and gather treasures At one time possibly most popular multi- player on-line game in the world Co-authored with David Sides and Andrew Shapira, with help from many others My current character is dead on level one

Avatar

Duplicating Magical Items Strategy: give all of your magical items and gold to a friend, the crash the game before the changes to your character are recorded to disk! Negative: “unfair” and throws the game economy out of whack Positive: we quickly find out about serious bugs

Best Consulting Gig Ever I am hired by Jagex, maker of Runescape to document that third-party bots really work My character is exempted from being banned for using bots My kids complain that I am a cheater

Runescape

How do the bots work? Runescape is a Java applet Bot maker provides Java applet container Bot does not scrape the screen, but instead examines the byte code Bot determines position on screen of character, objects, etc.

Anti-Bot Measures Code is rearranged in different instances of bot Ultimately, all data stored in one master array, permuted in random order, killing bots! Many players quit when bots were defeated

Latency Compensation in Half-Life [Bernier GDC01] Naïve approach: dumb client    Player1 render player1 at (x1,y1) forward render player1 at (x1,y1) Response time for player: round-trip to server + server processing

Predicting Where I Am    Player1 render player1 at (x1,y1) forward render player1 at (x1,y1) render player1 at (x1,y1) render player1 at (x1,y1) render player1 at (x4,y4) forward

Predicting Where You Are Updates about other players’ locations not continuous Extrapolation (dead reckoning) –At last update, player2 is at (x1,y1) facing N with speed S  It should be at (x2,y2) now –Not good: in FPS, player movement very non-deterministic Interpolation –Impose an “interpolation delay” for rendering Update1 (x1,y1) Update2 (x2,y2) Update3 (x3,y3) Now Int. delay Now time

Lag Compensation Interpolation introduces a fixed lag (int. delay) –E.g., always see where you were 100 ms ago –Need to lead the target when aiming –Require players to extrapolate! Server-side lag compensation –Server uses the old location to compute hit/miss –Allows natural aiming/shooting –Possible weird experiences for players being fired upon  tradeoff for better game play

   P1 P2 P3 Fair Message Exchange [Guo et al. NG03] Look at “fairness” in client-server games room    P1 P2 P3 (1 ms) P2 (3 ms) P1 (4 ms)

Fair Message Exchange (2) Different latencies can make the game “unfair” P1 P2 P3 Server time t=0 (RTT 5) (RTT 10) (RTT 15) 3 t=8 P2 1 t=11 P3 t=19 4 P1

Fair Message Exchange (3) Fair-ordering delivery without synchronized clocks (a simple case) P1 P2 P3 Server t=0 (RTT 5) (RTT 10) (RTT 15) 3 t=8 P2 1 t=11 P3 t=19 4 P1 P2,3,18 P3,1,16 P2,3,18 t=16 P2,3,18 P3 t=18 P2 Server waits (here 15) before performing action. Ordering based on response time.

Cheating Strategy Introduce artificial delay between client and server Lie about how long it took to respond (or take advantage of server thinking update was received last) Server will think client was first to shoot, even though it receives message last

Cheat-Proof Playout [Baughman & Levine INFOCOM01] Two types of cheats –“Suppress-correct cheat” under dead reckoning (extrapolation) –“Lookahead cheat”  P1  P2  ? predict  ? here  P2 here, actually

Cheat-Proof Playout [Baughman & Levine INFOCOM01] Two types of cheats –“Suppress-correct cheat” under dead reckoning (extrapolation) –“Lookahead cheat” game advances in frames  P1  P2 fire do nothing  P1  P2 fire duck

Security How are cheaters actually cheating in reality? AA BB Exit & save Crash server (s.t. not saved) AA BB AA BB “Duping” in D2 (persistent player) Maphack for RTS (should only see occupied area)  modify game client to display everything

Security (2) Video card driver / texture, auto-aim / auto-shoot bots transparent