Modules
A module in TSWoW is a single coherent modification of the World of Warcraft client and the TrinityCore server. The most basic command for creating a module is module create module-name
Naming Conventions
All modules should follow the form creator-modulename
, optionally with multiple dashes (-) in the module name itself. This is to ensure there are never two modules with identical names.
Examples of good module names:
-
yourusername-testmodule
-
yourusername-test-module
Examples of bad module names:
-
my-samplemodule
<– use a unique username -
yourusernamemodule
<– use a dash (-) to separate your name from the module -
my_module
<– Use a dash (-) instead of underscore.
Git
Git is not required knowledge to use TSWoW, but we strongly recommend users at least learn the basics. There are many tutorials for it online, and you can pick any that you prefer.
Module management in TSWoW is based on Git, and we do not use a separate package manager.
When a module is created, it is either cloned from a remote repository or initialized as a local repository. Once created, you can interact with it just like with any normal repository.
Creation
To set up a repository for a new module:
-
Create a remote repository e.g. on GitHub
-
Create the new module with the command
module create repository-url
This will clone the remote repository and create the default files just like a normal local module.
Installation
To install a module from a remote repository:
-
Find the remote url
-
Install the module with the command
module install remote-url
The only difference between creating and installing a remote module is that creating it automatically initializes default directories, while installation does not.