Server Systems

HeroEngine server systems

 

HeroEngine’s Highly Scalable and Robust Server Infrastructure

 

HeroEngine is designed around a highly scalable, robust server infrastructure. Its backend servers are designed to distribute load over a flexible server cluster, autobalancing as demand shifts.

Segregate your geography into individual area servers. HeroEngine supports common areas, instanced areas, and hybrid approaches. Choose a heavily instanced style of game, or a seamless world, or some mixture in between, HeroEngine is designed to handle it all!

You can even create new processes and assign asynchronous tasks all from HeroScript. Want to manage your backend as a collection of services? Or maybe break your Area’s processing into a combination of geographic specific servers and separate service processes? HeroEngine has the flexibility to match your design vision.


 Windows & Linux Server Support

HeroEngine servers fully support both Microsoft Windows and Linux.

  • Official support for CentOS
  • Full Linux build system for source code licensees
  • Ability to run servers in a full Linux environment, full Windows environment, or a heterogeneous mix
 

Data Replication System

HeroEngine’s data replication system provides a unique and highly optimized communication path that is largely automated once setup.

  • Highly scalable, replicate any arbitrary number of data nodes
  • Flexible designer driven replication strategies
  • Works alongside or replaces remote calls
  • Automates communication between servers and clients

Bandwidth Management

Fully integrated with HeroEngine’s data replication system the bandwidth manager intelligently manages each client’s bandwidth, automatically choosing which data to replicate, and in what priority, via developer-specified filters, conditions, and rules.

  • Flexible and adaptive bandwidth control
  • Fully integrated into the HeroEngine replication system
  • Developer specified filters, conditions, and rules
 

Spatial Awareness

Built on HeroEngine’s Replication System, the Spatial Awareness System presents a general-purpose, high performance system for tracking what objects are “aware” of each other in 3D space.

  • Supports large numbers of moving entities with dynamic awareness ranges.
  • Available for general use via HeroScript.
  • Can be utilized for game-specific advanced AI and gameplay applications.

 Live Update and World Push

HeroEngine’s Live Update and World Push technologies allow developers to push any game content including scripts, assets, data definitions, data files, and area data between live, running worlds without having to bring them down or take them offline.

In other MMO server architectures, game content updates require game servers to be brought down before they are updated with new data. This blocks developers and players from interacting with the game or development worlds for the time that the servers are down – and in the case of live player servers, this can result in lost revenue and unhappy players.

  • Introduce content to players at key moments rather than giving it to them ahead of time, allowing for surprise events.
  • Fix or adjust content on the fly without having to bring games down and kick all players out.
  • Identify all world differences, and choose whether to push the changes in part or in whole.
 

Robust Time Representation

MMOs and virtual worlds run for very long periods of time, and therefore they require the utmost precision in time representation and synchronization in order to avoid temporal drift or other precision errors.

  • Robust integer time model
  • Automatic resynchronization for systems that require floating point time calculations

HeroPath

HeroPath provides a sophisticated near-realtime pathfinding solution for advanced AI and gameplay applications. HeroPath is fully accessible from HeroScript and built on HeroEngine’s multivendor, plugin-based Pathfinding System.

  • Automatically generates pathing solutions
  • Path generation takes into account all collision-capable world geometry including heightmap terrain and assets.
  • Near realtime pathfinding navigation mesh (navmesh) updates during game development and live servers
  • Developer control options for navmesh generation
  • Integrated debugging and visualization options
 

Repository System

The live, dynamic nature of HeroEngine is fueled by a sophisticated Repository System. All game content is placed into the Repository and is delivered on-demand to clients and servers that need it. This approach makes changes to meshes, textures, animations and more occur in real-time without having to restart HeroBlade or the player client.

 

On production servers, the Repository System replaces the slow and awkward patching systems that virtually all MMOs have used up until now. Deliver only the data each individual player actually needs, when they need it while maintaining control over packaging and distribution strategies.


Arbitrary Root Nodes

Developers can now quickly save and load any arbitrary hierarchy of data nodes to or from the database utilizing HeroEngine’s new arbitrary root node system.

  • Arbitrary root nodes can contain any collection of node data independent of area or player character.
  • Minimize a character’s active memory footprint.
  • Reduce data overhead for remote calls.
 
 

Character Position Interpolator

HeroEngine’s new Character Position Interpolator allows developers to eliminate resource overhead of distance characters.

  • Reduce or eliminate overhead of distant characters.
  • Quick and easy to setup
  • Scale down or eliminate animation or controller updates.
  • Reduce or eliminate collision checks.

Physics Server

 

Utilizing the NVIDIA PhysX™ SDK, the HeroEngine physics server currently represents a physical model of the entire world on both the client and server.

Physics Engine Features:

  • Simulated rigid body dynamics
  • Real-time updates during the editing process
  • Ray casting and collision detection queries at very high speed
 

Physics Engine Features Under Development

  • Full NVIDIA PhysX™ integrated collision and character controller based collision
  • Advanced Constraint management
  • Cloth simulation
  • Soft body simulation
  • Ragdoll physics for characters
  • More script bindings
  • Fluid particle systems

 


Master Control Console

 

The Master Control Console serves as a centralized monitoring and control dashboard. Automatic systems manage distributing processes across your server clusters.

  • Organize your environment into separate worlds, both public and private.
  • A full publishing system allows for selective content migration from server world to server world.
  • Establish your own distribution workflow.
  • Publish from development servers, to staging servers, to live servers — or anything in between
 

 

Metrics and Analytics

 

The Master Control console is constantly monitoring your system and alerting operators to problems. Metrics are collected and presented at this layer. Even plug in your own metric systems for custom reporting and data mining.

  • Live, real-time metrics and searchable logging.
  • Monitor your server cluster at a glance, or drill down for detailed performance and utilization metrics!
  • Visually analyze player and character behavior.