bw logo

Server Overview

BigWorld Technology 2.1. Released 2012.

This document is proprietary commercial in confidence and access is restricted to authorised users. This document is protected by copyright laws of Australia, other countries and international treaties. Unauthorised use, reproduction or distribution of this document, or any portion of this document, may result in the imposition of civil and criminal penalties as provided by law.


Table of Contents

1. Introduction
2. Rules of Thumb
3. Concepts
3.1. Location of an Object's Data
3.2. Actions
3.3. Latency
3.4. Spaces and Cells
3.5. Coordinate System
4. Design Introduction
4.1. Hardware Components
4.2. Software Components
4.2.1. CellApp
4.2.2. CellAppMgr
4.2.3. BaseApp
4.2.4. BaseAppMgr
4.2.5. ServiceApp
4.2.6. LoginApp
4.2.7. DBMgr
4.2.8. Reviver
4.2.9. BWMachined
4.3. Use Cases
4.3.1. Server Startup
4.3.2. Logging In
4.3.3. Data From Clients
4.3.4. Data To Clients
4.3.5. Ghosting
4.3.6. Changing Cells
4.3.7. Load Balancing
5. Server Components
5.1. CellApp
5.1.1. Cell Application and Cells
5.1.2. Entities
5.1.3. Real and Ghost Entities
5.1.4. Transitioning Between Spaces
5.1.5. Witness Priority List
5.1.6. Scripting and Entities
5.1.7. Directed Messages
5.1.8. Forwarding From Ghosts
5.1.9. Offloading Entities
5.1.10. Adding and Removing Cells
5.1.11. Load Balancing
5.1.12. Physics
5.1.13. Navigation System
5.1.14. Range Triggers and Range Queries
5.1.15. Fault Tolerance
5.2. CellAppMgr
5.2.1. CellApp Registration
5.2.2. Load Balancing
5.2.3. Adding and Removing Cells
5.2.4. Adding an Entity
5.2.5. Load Balancing for Multiple Spaces
5.2.6. Fault Tolerance
5.3. BaseApp
5.3.1. Proxies
5.3.2. Bases
5.3.3. Fault Tolerance
5.3.4. Secondary Databases
5.4. BaseAppMgr
5.4.1. Implementation
5.4.2. Logging In
5.4.3. Fault Tolerance
5.5. ServiceApp
5.5.1. Services
5.5.2. Examples of Services
5.5.3. Starting services
5.6. LoginApp
5.6.1. Implementation
5.6.2. Multiple LoginApps
5.7. DBMgr
5.7.1. XML
5.7.2. MySQL
5.7.3. Fault Tolerance
5.8. Reviver
5.9. BWMachined
5.9.1. Start and Stop Server Components
5.9.2. Locate Server Components
5.9.3. Provide Machine Statistics
5.9.4. Provide Process Statistics
5.9.5. BWMachined Interface Discovery
6. Other Features
6.1. IDs
6.1.1. ID Allocation
6.2. Inter-Process Communication (Mercury)
6.2.1. Overview
6.2.2. Nub
6.2.3. Messages
6.2.4. Requests
6.2.5. Bundles
6.2.6. Channels
6.2.7. Interfaces
6.3. Fault Tolerance and Disaster Recovery
6.4. Packed Files