Getting Started

Here is a brief overview of OWS 2.

Why OWS 2?

  • The primary goal of OWS 2 is to increase scalability and achieve a higher concurrent player count for your online multiplayer game. With OWS 2 our goal is to scale beyond 100,000 concurrent players.
  • OWS 1 was difficult to install in a local development environment for developers without specific technical knowledge. With OWS 2 and Docker, setup in your local development environment is quick and easy. By running OWS 2 locally, you can customize the API to meet your needs.
  • OWS 1 required Windows and Windows Servers. OWS 2 runs natively on Windows, Linux and MacOS.

What technologies / architecture does OWS 2 use?

  • The OWS Web API is developed in C# with .NET 8 (previously .NET Core)
  • The default storage technology is Microsoft SQL Server (MSSQL)
    • Each repository can use its own storage technology
    • Storage technologies can be easily added by implementing each repository interface
  • Microservices allow OWS to scale more easily
  • Dependency injection
    • Easily plug-in various implementations to support different services and technologies
  • Docker for one click deployment on your local development PC
    • Docker runs all OWS servers in containers
    • OWS can run with or without Docker
  • Unreal Engine
    • OWS 2 uses Unreal Engine’s powerful server architecture as a base to dynamically spin up servers as they are needed to populate your game world

OWS Network Diagram

OWS Network Diagram

Zones & Shards

Zones & Shards

  • Zones represent an Unreal Engine map or area of an Unreal Engine map that a single Unreal Engine server controls
  • Unreal Engine maps can be split up into multiple zones and zones can have multiple shards
  • By splitting your world into zones and then sharding those zones, you can achieve the concurrent player count your game requires
  • Players in different zones and shards of zones can only see or interact with players in the same zone or shard

Zone servers & zone server instances

  • Zone servers are hardware devices (servers) that are designated to run Zone Server Instances
  • One or more Zone Servers can be registered with OWS
  • A Zone Server Instance is an Unreal Engine Server Instance
  • A Zone Server can run one or multiple Zone Server Instances
  • A Zone Server Instance can represent an Unreal Engine map or a section of an Unreal Engine map
  • More than one Zone Server Instance can be run per Zone (shards) to allow more players in that Zone
  • A Zone Server Instance can be configured with a Soft Player Cap and a Hard Player Cap. New shards are spun up when the Soft Player Cap is met.

Next: Docker Setup


Table of contents