Addons

From WCell

Jump to: navigation, search

An Addon is an external script or library that you can load into WCell during runtime to customize WCell or add further features.

WARNING: Never add an Addon of anyone who you do not trust to your server! Loading Addons of unknown authors can bear great risks!

NOTE: You can use any of the .NET languages to write Addons, including C# and F#.


There are different kinds of Addons:

Contents

[edit] Utility Libraries (.NET)

A Utility Library provides tools and means to write and use code in other .NET Applications or libraries. If you write code in the Core or in an Addon that requires other libraries, you can load them into the RealmServer as well as into the AuthServer.
This can be accomplished by simply copying the library to the Addons folder (see RealmServer, see AuthServer) and adding the Addon's name to the configuration (see RealmServer, see AuthServer).


[edit] WCellAddons

WCellAddons are also .NET libraries. They incorporate all features of Utility Libraries and in addition will be initialized by WCell during startup. For that, the developer will need to provide a class that implements the IWCellAddonInterface and add its full description to the configuration (see RealmServer, see AuthServer).
Addons are loaded (almost) before everything else. Any public static method in the Assembly that has the InitializationAttribute will then be called during the WCell startup routine where the order of steps is decided by the InitializationPass-property specified in the Attribute. If you add the InitMgr as first argument to the method, you can use it to add to, change or just analyze the initialization routine.
Furthermore any Command that you define within the Assembly is automatically added to WCell and can be used at runtime from the Console, ingame or through any other interface that has been hooked to the Command-engine (you do not need to explicitely call CommandHandler.Mgr.AddCmdsOfAsm!).

[edit] Location of Addons

See: Addon Folder

[edit] Related

  • Write Addons using C#
  • Write Addons using F#
  • Learn about Initialization to initialize an Addon or hook to the WCell startup-routine
Personal tools