Add a Server Executable

From HEWIKI
Jump to: navigation, search

Contents

Overview

This page explains how to add a new server side executable process. A related alternative is to use the HeroScript Extension Plugin.

This process requires source code access. If you do not have source code access and desire a new type of server executable, please contact the HeroEngine team for assistance.

Steps

Build Project

Create a new project under the appropriate solution (e.g. firestorm.sln or hjservers.sln).

Testing

If you want to test the executable in a sandbox world before incorporating it into a deploy, you need to manually copy the .exe and add it to the .cfg file. The config files used are listed in configs.lst in the installed "Firestorm Daemons Dev" directory.

You still need to create the daemon and process, and add it to a service in Master Control (see below).

Deploy

  1. Verify that the executable is built to the source directory that the executables are installed from (typically a "run" directory).
  2. Modify the Wise script (in a Perforce path like HeroEngine/MAIN/tools/deployment/base/base.wse) to insert lines into .cfg file. If not edited on the deploy server (Lego), sync the file there.
  3. Run the deploy client and click "Edit..."
  4. Choose the product to be modified. You probably want to create/edit a sample_version_base product corresponding to the version to be released.
  5. With Value=FILES, click the "Edit Value" button.
  6. Scroll to the bottom and add the new entry.
  7. Switch the focus away from that line and click "Save"
  8. With Value=REVERSION_EXES, click the "Edit Value" button.
  9. Add the new executable to the list.
  10. If Value=PATCHES is enabled, you need to set the Value=NEW_FILE_LAST_ADDED to 1 greater than the Value=CURRENT_VERSION. Server installs don't typically bother with patching. If this is needed, it would be the specific product not a base one.
  11. Specific products will need to be changed to inherit from the new version once the code has been integrated.

Master Control Config

See Editing configuration values

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox