Live Update

From HEWIKI
Revision as of 01:46, 5 March 2012 by HE-HERB (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

He server.png Documentation on this page is intended for customers of HeroEngine managing their own server(s).

Live Update is a capability that is accessible via the HeroBlade Panels menu, to move content between servers while they are running. To move data between servers while they are shut down, see the World Push application.
PushToolsHypotheticalDevelopmentEnvironment.gif

Contents

Overview

Live Update

Live Update allows you to push game content (scripts, Assets, DOM definitions, data files and areas) between live, running Worlds without having to bring them completely down.

In other MMO server architectures, game content updates require all game servers to be brought down before they are updated with new data. This blocks developers and players from interacting with the game/development worlds for the time that the servers are down. Live Update avoids these cumbersome and wasteful steps by only requiring downtime for areas that are being updated. Game content can be pushed on-the-fly to any running game server.


What problem(s) does this solve?


Examples

This process can be done during downtime too! Live Update's companion, World Push, is capable of doing everything Live Update does, and more, while the servers are down!

What Problem(s) does this not Solve?

Concepts



Who needs Live Update?

Because Live Update is used to copy Game Data and Content from one world to another, you only need to use it if you are running multiple worlds that you want to keep in sync.

Live Update can be used to synchronize all of your worlds' data irregardless of your license type.

Running Live Update

Live Update is integrated with HeroBlade as one of the many panels of tools available. If you are not a Full or Source licensee, Live Update will not be terribly useful to you, but it is still available within HeroBlade.

Live Update is accessed by:

Panel sections

The Live Update panel has four sections or subpanels. Going from top to bottom, these are:

Connect to LiveUpdate Server

To proceed, in the LiveUpdate Connection section of the panel, press the Connect button to spin up a Live Update Server for your use.

Usage

Pushing game content from a source world to a destination world is an easy four-step process in Live Update:

  1. Select source and destination world information
  2. Select GOM and DOM changes to apply
  3. Select Repository changes to apply
  4. Commit the push

The first three steps may be accomplished without causing any changes to any worlds. No changes are actually made until Step 4.

Step 1: Select source and destination world information

If you haven't yet:

The "destination" world will always be the world that you are currently logged into. The LiveUpdate panel allows you to configure which world will be compared (the "source" world) with the current one, and which options to use during the compare, sure as whether to compare the "server" or "client" data of the worlds.

Finally, Live Update can (if the option is selected) compare the Game Contents stored within the worlds' Repositories, by choosing "Full File Scan".

Live Update Step 1.png

Step 1a: Source world selection

Live Update Step 2.png

FSService Connection UI
FSService Schema and World List

Live Update, like World Push, allows selection of the Source world from the FSService Schema.


Step 1b: Client or server comparison selection

Live Update Step 1b.png
Live Update allows the comparison of either the Client or Server data contents of any two worlds.

Step 1c: Repository comparison selection

Live Update Step 1c.png
Live Update allows the comparison of the Repository contents of any two worlds. Comparing the contents of Repositories can be time-consuming depending on the number of files within each repository, Live Update defaults to not performing the comparison.

Step 1d: Schema difference generation

Live Update Step 1d.png
When the Source world has been selected, and the options for World Diff Type and Repository Diff Type have been set, Live Update is ready to compute Changes between the Source and current world.

Step 2: Select GOM and DOM changes to apply

You must select which GOM and DOM Changes should be copied to your current world from the categorically sorted list Live Update presents. You browse the tree view containing all of the sorted Changes and select which ones should be copied to the Destination world. If a selected Change depends on another Change, it is automatically selected as well. For instance, the addition of a Class may depend on the addition of its Fields.


GOM Differences Selection


Removing Selected Changes


Step 3: Select Repository changes to apply

Repository Change Selection

Note: If you did not tell Live Update to compare the Source and Destination worlds' Repositories, and/or no GOM or DOM changes have generated any, there will not be any Repository Changes to choose from.

Removing selected Repository changes

To remove changes, right-click the item in the "Selected Changes" tree view, and select it again.

Step 4: Commit the Update

When you have selected all of the GOM, DOM and Repository Changes you want copied to the world you are currently connected to, you may tell Live Update to begin copying everything. Live Update will copy each of the selected GOM and DOM Changes over in a series of phases, reporting its progress in the Output box while doing so. Once all of the GOM and DOM Changes have been copied, Live Update will copy over all selected Repository Changes. Depending on the number of selected GOM and DOM Changes and the sizes of the selected Repository Changes, it may take some time for Live Update to finish copying everything. Have patience!

Applying the selected change set

Live Update Step 4a.png

Technical requirements

Live Update has the following technical requirements to run:

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox