Server FAQ

Jump to: navigation, search


How do I communicate with the server?

To communicate with the Server, you need to use the "\" prefix to the CLI command.

   \sp <someprototypename>

Using CLI commands, it is possible to display and modify prototypes however it generally is not the most common way of doing so. HeroEngine was designed from the ground up with the idea that it was not only a tool to build an MMO, but also a tool to build tools. Consequently, HeroScript is a first class citizen in the engine and has nearly full access to everything allowing you to layer tools on top of the engine for the development of your game. One of these types of tools is the spec system Spec system which in is used to define all kinds of game data (including items such as the prototype you were attempting to view). The spec system is a complex topic including both server and client components as well as a generic GUI capable of editing many types of data right out of the box.

So, while you could have your designers editing prototypes using CLI commands:

   \mp <someprototype>;fieldFoo="bar"

Our philosophy is that the speed at which you can produce your game is significantly increased if you write easy to use tools for your designers to use, which is why we have stressed tools development so strongly in HeroEngine.

To view editing that prototype using the spec system (and a custom UI written by the Hero's Journey team for their items).

Tools Tab.gif

Please note: The way Items and Inventory are implemented in the evaluation world are Hero's Journey specific code. HeroEngine itself has no preconceptions of what items are for your game, or for that matter if you even need items at all.  :) The underlying mechanic of the spec system is a part of the engine and is not only used by our own Hero's Journey team but by nearly all of our licensees to define various types of game data.

How do I add a plug-in implementing the HeroScript extension interface to the server?

While we are hosting your world(s), we do not support uploading externally developed plugins.

Plugins created using the HeroScript Extension interface must be placed in the Firestorm Daemons Directory (for server plugins) or in the run directory of the executable (i.e. the area server directory). The FireStorm Daemons directory is checked first and therefore preferred. Client plugins must be placed in the run directory of the playerclient and/or HeroBlade executable.

Once you are running your own servers, we generally recommend using the deploy mechanics to install the plugin(s) on your servers. Client plugins are normally distributed via the typical update/install process.

Faster iteration cycles are possible during development of your dll by skipping the deploy process:

See: HeroScript Extension Plugin

What is a Clean Server?

A clean server is comprised of the script code (dom definitions, etc) required by the engine to function as well as a selection of generic systems (such as the Area States and Spec Systems) that serve as building blocks for your specific game. Nothing that is game specific (for example the following things are not part of the engine: inventory, items, combat, abilities, npcs beyond the most basic sense, ai beyond the existence of a system you can use to implement ai, areas, textures, assets, UI that is game in nature, etc) is included.

What classes/scripts are included with a clean server?

In general terms, any DOM definition or Script that has a leading "_" in its name is part of the engine. We have reserved the "_" character for definitions required by the engine.

Using the DOM Editor, you can sort any definition by its "package" and anything that is marked as "game" is not included in the clean engine you use to build your game. Likewise, in the script editor any script marked as "game" is specific to Hero's Journey.

Personal tools