Theory

This section is a top-down deeper look into the various components that makes up the game, all the way from the client to the server. It is meant to be an overview meant for beginners, and not a replacement for reading your cores documentation or the technical specifications on the wowdev.wiki.

Most things in these docs should apply regardless of what core you use, but the guides will themselves refer to TrinityCore.

Table of Contents

  • Network Nodes: How the authserver, worldserver, client and server work together to connect to the game.
    • Server Files: Server configuration files and extractors.
    • Database: The serverside database tables
    • Core: How the worldserver core functions internally.
      • Code Structure: What all the different folders are in the core repository.
      • Game Loop: Execution graph for the various phases the core goes through when starting up and running the game server.
      • Modules: The different classes and singletons used to manage and represent the serverside game world
      • Network: Incoming and outgoing packets and packet handlers
      • Scripts: Why scripts are used, how script loading works and the kind of scripts that exist.
    • Client: How the client is structured and what can be done with it.
      • ADT/WDT/WDL: What map files are and what they contain
      • BLP: The different types of image/texture files used by the game
      • M2: Smaller and animated 3D models
      • WMO: NOT WRITTEN YET!!!
      • DBC: The client database tables
      • Interface: Client UI and scripting