Online Game Anatomy

13
Online Game Anatomy Online Game Anatomy Server Components Server Components & & Services Services

description

Online Game Anatomy. Server Components & Services. Server Categories. Passive Patching Authentication Game Data Storage Stats / Inventory Event Generator News / Tournaments / Auctions Email Real-Time Lobby Chat Game. Patching Server Types. FTP Simple / Free - PowerPoint PPT Presentation

Transcript of Online Game Anatomy

Page 1: Online Game Anatomy

Online Game AnatomyOnline Game Anatomy

Server ComponentsServer Components&&

ServicesServices

Page 2: Online Game Anatomy

Server CategoriesServer Categories

PassivePassive PatchingPatching AuthenticationAuthentication Game Data StorageGame Data Storage

Stats / InventoryStats / Inventory Event GeneratorEvent Generator

News / Tournaments / AuctionsNews / Tournaments / Auctions EmailEmail

Real-TimeReal-TimeLobbyLobbyChatChatGameGame

Page 3: Online Game Anatomy

PatchingPatchingServer TypesServer Types

FTPFTP Simple / FreeSimple / Free Resume / ProgressResume / Progress Auth through self extracted Auth through self extracted

appapp No auto updateNo auto update No delta managementNo delta management

CustomCustom Complex / Expensive Complex / Expensive

(offset)(offset) Self PatchingSelf Patching Auto updateAuto update

Can check a suite of Can check a suite of productsproducts

Delta managementDelta management Lower bandwidthLower bandwidth

Page 4: Online Game Anatomy

PatchingPatchingDownloadDownload

File VerifyFile Verify HacksHacks Custom File Change AvoidCustom File Change Avoid Partial Patches (install Partial Patches (install

failure)failure) Others?Others?

CompressionCompression StandardStandard

RLE, LZHRLE, LZH Delta CompressionsDelta Compressions

RTP, MarimbaRTP, Marimba Download ResumeDownload Resume Progress IndicatorProgress Indicator

Multiple packagesMultiple packages

PackagingPackaging Self-extractingSelf-extracting Separate utility (RTP)Separate utility (RTP) Flat file (Zip)Flat file (Zip) Custom Client (no-see-ems)Custom Client (no-see-ems)

Auto UpdateAuto Update

Patching Dynamic FilesPatching Dynamic Files DatabasesDatabases

Add / Remove entriesAdd / Remove entries Table ModsTable Mods

Page 5: Online Game Anatomy

PatchingPatchingInstallationInstallation

Location DiscoveryLocation Discovery Registry (and if moved?)Registry (and if moved?) Directory Search (renamed, multiple same names)Directory Search (renamed, multiple same names) File Search (multi-install can list to user, SLOW)File Search (multi-install can list to user, SLOW)

Modifying Start MenuModifying Start Menu Modifying RegistryModifying Registry Patching Files in usePatching Files in use Missing files for delta extractionMissing files for delta extraction

Page 6: Online Game Anatomy

Authentication Servers & ServicesAuthentication Servers & Services

AccountAccount Create / Modify / Delete / RestoreCreate / Modify / Delete / Restore Admin Status (band, player admin, renaming)Admin Status (band, player admin, renaming) SellingSelling

BillingBilling Content LevelContent Level ReoccurrenceReoccurrence

PersonasPersonas Create / Modify / Delete / RestoreCreate / Modify / Delete / Restore ViewingViewing

Page 7: Online Game Anatomy

Lobby ServersLobby Servers

RoomsRooms Game Room CategoriesGame Room Categories

Game RoomsGame Rooms Game SettingsGame Settings Game LaunchingGame Launching

Server SelectionServer Selection Load BalancingLoad Balancing Latency DiscoveryLatency Discovery Server ConnectionServer Connection

Community RoomsCommunity Rooms AuctionsAuctions TournamentsTournaments Club RoomsClub Rooms

Separate Chat ServersSeparate Chat Servers

Page 8: Online Game Anatomy

Chat ServersChat Servers

Chat TypesChat Types Room (Room Server or duped?)Room (Room Server or duped?) In-GameIn-Game BuddyBuddy Special GroupSpecial Group Sys BroadcastSys Broadcast

LoggingLogging WhereWhere

SecuritySecurity Moderator AccessModerator Access

Context Context TimeTime Locating IncidentLocating Incident

How LongHow Long Complaint TimingComplaint Timing Track RecordTrack Record

FilteringFiltering Filter LocationFilter Location

Sending ClientSending Client Receiving ClientReceiving Client A serverA server

CPU HitCPU Hit HeuristicsHeuristics Level of DetailLevel of Detail

Bad HitBad Hit Auto warnAuto warn

Auto admin noticeAuto admin notice VoiceVoice

ServerServer Cost of bandwidthCost of bandwidth

PeeredPeered Bandwidth intenseBandwidth intense

UnmonitorableUnmonitorable

Page 9: Online Game Anatomy

Game ServerGame Server

Dedicated vs. Client Hosted vs. In ClientDedicated vs. Client Hosted vs. In Client Types of DedicatedTypes of Dedicated

Simple Forwarding Server (a.k.a. Rebroadcasting)Simple Forwarding Server (a.k.a. Rebroadcasting) State ServerState Server

AIAIEnvironmentEnvironmentArbitrationArbitration

Grid ServerGrid ServerReceive info on entire gridReceive info on entire gridConnected to adjacent gridsConnected to adjacent gridsGrid size flux with loadGrid size flux with load

Page 10: Online Game Anatomy

Email Servers & ServicesEmail Servers & Services

Send / ReceiveSend / Receive Proprietary DBProprietary DB SMTPSMTP

StorageStorage SPAMSPAM Filter / MonitorFilter / Monitor SizeSize AttachmentsAttachments TTLTTL Deleted accountsDeleted accounts System messages (store once, reference many)System messages (store once, reference many)

Page 11: Online Game Anatomy

Inventory & Stat ServersInventory & Stat Servers

TradingTrading SystemSystem PlayerPlayer

Group SharingGroup Sharing Auto distributeAuto distribute

Acquire / Discard via Acquire / Discard via EnvironmentEnvironment Item ownershipItem ownership TTLTTL

Item statsItem stats Wear and repairWear and repair Up/down gradesUp/down grades

Player StatsPlayer Stats ScoresScores RankRank SkillsSkills Other personal stuffOther personal stuff

AuctionsAuctions SpawningSpawning TradingTrading

Page 12: Online Game Anatomy

Tournaments and News ServersTournaments and News Servers

InvitationalsInvitationals Stat basedStat based AcceptanceAcceptance

Generated EventsGenerated Events Community NewsCommunity News AwardsAwards Top Ten CompilationsTop Ten Compilations Other less real-time eventsOther less real-time events

Page 13: Online Game Anatomy

SummarySummary

Multitude of Component Servers and the services provided by Multitude of Component Servers and the services provided by eacheach PatchingPatching Login (Account Management)Login (Account Management) LobbyLobby ChatChat Game Servers (Forwarder, State, Grid)Game Servers (Forwarder, State, Grid) Database ServersDatabase Servers

How these servers interrelate was not coveredHow these servers interrelate was not covered