Online Game Anatomy Server Components &Services. Server Categories Passive Patching ...

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

Transcript of Online Game Anatomy Server Components &Services. Server Categories Passive Patching ...

Online Game AnatomyOnline Game Anatomy

Server ComponentsServer Components&&

ServicesServices

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

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

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

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

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

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

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

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

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)

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

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

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