Developer Store
Support
Member Forums

Screenshots
FAQ
Documentation
License
Known Issues
Downloads

MMOWorkshop.com Store Opened!
Torque MMO Kit - Open Sourced!
Torque MMO Kit - 1.5.2 Port Alpha Test
Torque MMO Kit - OSX Status

GarageGames.com irc.prairiegames.com
#mmoworkshop

PyTorque
TGB Web Browser


acrzygrandma

hallsofvalhalla - After a long epiphany
Leathel - FoHO pre-Alpha 2.42
OldRod - More Musings on the MMO Industry
xapken - nice
J.C. Smith - 0.0.4.1 Build Notes
Wolf Dreamer - Pointless blog of pointless things
AthlonJedi2 - Server Nuked !!!!!
gamer_goof - New character model GIRL1 available only $4
... MORE BLOGS!

My other project
A Message to all the new people.
MyGame
changing the primary class
See Ya Classes, Hello Skills!
XP Based Skills
fxFoliageReplicator zone loading...
Is it just me, or is it slow in ...
Places where NPC quest-givers ha...
TalentRaspel Grid

Software Architecture Design: Torque MMO Kit

Introduction

The Software Architecture Document (SAD) provides a comprehensive architecture overview of the Torque Massive Multiplayer Online Kit (TMMOK). It presents a number of different architectural views to depict different aspects of the system. It is intended to capture and convey the significant architecture decisions which have been made on the system.

This section defines the document scope and provides an overview of the sections that follow.

  • Introduction provides brief description and a document overview.
  • Architecture Representation provides a description of the way the TMMOK is represented in the document.
  • System Overview provides a system overview.
  • Character Server Viewpoint
  • Client Viewpoint
  • Genesis Viewpoint
  • Master Server Viewpoint
  • GM Client Viewpoint
  • GM Server Viewpoint
  • World Daemon Viewpoint
  • World Imp Viewpoint
  • World Server Viewpoint
  • Zone Server Viewpoint
  • Persistent Viewpoint
  • Network Viewpoint
  • Deployment View provides a description of physical configurations of hardware on which the TMMOK is deployed and runs.
  • Data View provides a description of the persistent data storage perspective of the TMMOK.
  • Portability provides an overview on the portability of the TMMOK.
  • Expansibility provides a description on the expandability of the existing architecture.

Purpose

This document provides a comprehensive architectural overview of the TMMOK using various views to illustrate different aspects of the system. This documentation intends to capture and explain the significant architectural decisions and implementation of the system.

This document provides a higher-level view of the system's components and layers. It defines and documents the features of the TMMOK to provide guidance on how to use the TMMOK, as well as to what happens within the TMMOK itself.

Scope

The SAD will depict the higher-level architecture of the TMMOK. It is a multi-section and multi-volume document based on various views. This document will capture the highest-level of architecture between layers and subsystems.

Definitions, Acronyms, and Abbreviations

Please refer to Glossary and Acronyms?.

References

Architecture Representation

The SAD describes the structure, relationships, and behavior of TMMOK architectural elements. Each view packet contains subsections describing these architectural characteristics (structure, relationships, and behavior) using text and diagrams. These diagrams use a modified version of the Object Management Group (OMG) Unified Modeling Language (UML) 2.0

Module Layer view

Name
Purpose
Who might find this view useful
Presenting elements:

Module Decomposition View

Name
Purpose
Who might find this view useful
Presenting elements:

Module Uses View

Name
Purpose
Who might find this view useful
Presenting elements:

Module Generalization View

Name
Purpose
Who might find this view useful
Presenting elements:

Component and Connector View

Name
Purpose
Who might find this view useful
Presenting elements:

Deployment View

Name
Purpose
Who might find this view useful
Presenting elements:

Data View

Name
Purpose
Who might find this view useful
Presenting elements:

System Overview

The Torque Massive Multiplayer Online Kit (TMMOK) is a complete and product ready Massive Multiplayer Online Role-Playing Game (MMORPG) solution.

Software Architecture General Description

The TMMOK architecture is defined by a structure organized as a collection of substructures that comprise software components, their external visible properties, and relationships amongst them. In this section, both architecture design and an overview will be presented.

The TMMOK belongs in a domain of game development and deployable software systems. The TMMOK encompasses a wide set of features to provide a complete game solution: packaging, distributing, auto-patching, account management and registration, marketing support, gameplay mechanics and rules, environment specific features, and world compilation tools. A primary objective of TMMOK is to provide an indie friendly, production ready, commercially proven technology, tools, and content needed to create successful MMO games.

TMMOK Deployment Configurations

The TMMOK architecture is designed to take advantage of component-based responsibility. This allows for various components and to be distributed across physical nodes, such as processors and machines. This robust distributability allows for users to take full advantage of scaling to existing hardware.


TMMOK running on a single physical machine.


TMMOK running on a multiple physical machines.

Architecture Overview


Components with lines drawn between them have bidirectional communication.


Subsystem Name Description
Master Server Supports registration of players and community operated servers. It handles authentication of accounts, and routes players to worlds. Additionally, it holds a Character Server connection which is used in negotiating the Character Server to the World Server.
Character Server The central repository for characters. Players can use the same characters on any world server. This also allows players to seamlessly upgrade account types without losing any progress.
World Daemon This is a single point of connection between a World and the Master and Character servers. It coordinates the World Servers that make up a discrete world and routes players between them. It contains logic for chat, and other game elements that must span clusters. The World Daemon is also used as a data replication service for backing up character data. Furthermore, it can be configured to reboot itself at off peak times to help keep the servers running smoothly.
World Imp This is a simple process responsible for spawning a remote World Server on behalf of the World Daemon.
World Server Performs all database and RPG logic for a world in a single process. May be configured to support a subset of static zones. Players may execute game commands on this server.
Zone Server A modified Torque Game Engine dedicated server. It communicates closely with the World Server for positional, animation, movement speed, spell effects, etc. It also holds connections to players for simulation in the 3d world. Players are routed by the World Server to the Zone Servers.
Client The client is routed from the Master Server to a World Server. Once the player has chosen/created his character, a connection to a destination Zone Server is established and the player "zones into" the world. The player remains connected to the World Server via TCP and the Zone Server via UDP. The World Server connection is used for "RPG" type stuff and the Zone Server connection is used for simulation, selection of objects in the world, etc.
GM Server Supports game-master commands to help remotely administrate Worlds being served characters by the Character Server.
GM Tool Tool used to perform administrative actions on Players connected to Worlds being served characters by the Character Server.
Patch Server File server used to publish and distribute game patches.
Chat Server IRC Server to which clients connect for global communication and private messaging systems.

Deployment View

Data View

Portability

Expandability

Attachments