2 minute read

This guide will explain how to set up a fully working TSWoW development environment with a working server that you can connect to from your local computer.

Note: Currently, TSWoW doesn’t like spaces in filepaths. Make sure your installation path and client files do not have spaces.

Video Version of this Tutorial

Prerequisites

You will need to install the following programs:

  • World of Warcraft 3.3.5a client

    • Currently, I can only verify that the enGB and enUS clients work, please make an issue if you use another locale and you face any problems.

    • Please make sure there are no spaces anywhere in the pathname to your WoW client or the TSWoW installation.

  • Git

  • 7-zip (do not use winrar to open 7zip files, we’ve had reports that this breaks/ignores some files)

  • Node.js (version 12.19 or higher)

  • Python 2.7 (or any of 3.5, 3.6, 3.7, 3.8)

  • All the following versions of VCRedist:

  • VSCodium version 1.55

    • Later versions will still work (including Microsofts VSCode), but there is an active issue causing problems for datascripts in versions above 1.55. See workarounds here.
  • (Optional) To compile live scripts, you will also need Visual Studio 2019 Community. The whole first part of this tutorial series will only be using data scripts, so you don’t need to install this yet.

    • When installing Visual Studio, you will be asked to choose what packages to install in a window similar to the following. The only package that is necessary for building Live Scripts is Desktop development with C++, as shown below. The only toggle you need to select is in the red square, everything else can use default settings.

Installation

  1. Download the latest version of TSWoW from here

  2. Extract the TSWoW archive. The installation folder should contain (roughly) the following files and folders:

     package-lock.json
     package.json
     bin
     coredata
     modules
     node_modules
    
  3. Start the VSCodium editor. Press F1 and type “Open folder”, select the first option and select your TSWoW installation folder. This is your new development environment.

  4. Configure your client path. Open the file coredata/datasets/default/default.dataset.yaml (shortcut. press Ctrl+P and type default.dataset) and fill in the client_path field. This should be the directory that contains your client executable. Note: If using double quotes, you need to use double backslashes:

valid:

client_path: C:\dev\wow\335\client

valid:

client_path: "C:\\dev\\wow\\335\\client"

not valid:

client_path: "C:\dev\wow\335\client"

not valid:

client_path: C:\\dev\\wow\\335\\client

Starting the server

  1. Inside VSCodium, press Ctrl+` OR press F1 and type Toggle Terminal and select the first option. This should open a terminal inside VSCodium.

  2. This terminal should be inside your TSWoW installation directory. If not, navigate to it using cd commands.

  3. Run the command npm run start. This will start the automatic installation and then start the server.

  4. Wait for the core database installation. This is a long process on the first installation and can take a long time depending on your machine. 20-30 minutes isn’t rare. You know the installation is done when you see a message similar to TrinityCore rev. 2a67a101096e 2021-04-23 09:24:53 +0200 (tswow branch) (Win64, RelWithDebInfo, Dynamic) (worldserver-daemon) ready....

  5. To create a gm account, type the following commands (remember the ws prefix) into the terminal:

    • realm send tswow account create myuser mypassword

    • realm send tswow account set gmlevel myuser 3 -1

  6. You can now start the client with the command client start and log in to the game.