Open World Server (OWS) is a server instance manager designed to create large worlds in UE5. Either by stitching together multiple UE5 maps or by splitting a single large map into multiple zones, OWS will spin up and shut down server instances as needed based on your world population. OWS can load balance your world across multiple hardware devices. OWS can support thousands of players in the same world by instancing up and out. A single zone can be instanced multiple times to support a large population in one area. Areas of a map can also be split up into multiple zones to support a larger population. In addition to server instance management, OWS also handles persistence for Accounts, Characters, Abilities, Inventory and more.
Project | Purpose |
---|---|
Benchmarks | This project will allow us to configure and run performance testing on the OWS API. This will be important for comparing the impact of certain changes. |
Performance Tests | This project contains the K6 load test files. |
Data | This is a shared project that houses our data repository access code. |
Instance Launcher | This project builds our Instance Launcher that replaces the RPG World Server in OWS 1. |
Public API | This API handles all incoming requests to the service and sends grains to the Silo project to execute |
Shared | This project houses various miscellaneous code that multiple other projects require. |
Silo | This project provides the compute runtime for our Orleans silos, this is where grains are executed. |
Interfaces | This project is where the contracts are defined for communication from the Public API to the Orleans Silos |
Grains | This project is where the implementation for each Grain is defined. |
Tests | This project provides Unit testing and Functional testing and Benchmark Tools (Development) |