Spring configuration files =========================== A lot of the game's code (whether on the server side or on the web clients) relies on the Spring framework. For most of the components, it is easier to use XML configuration files rather than in-code configuration. This file describes the common elements and guidelines to follow for the configuration files. Files in the main server package: lw-server.xml Main configuration file This file contains the server's top-level configuration. It enables annotation-based component processing, adds the server termination component, and loads the configuration files for all elements of the server: transaction management, meta components, game components for both the "real" game and the "simple" implementation written for Milestone 1, session type definitions and commands. configuration/game.xml "Real" game components This file acts as a loader for all configuration files the load elements of the "real" game - that is, parts of the game which have taken (or are taking) the form they should have in the final version. configuration/meta.xml Meta components This file loads the configuration files for all "meta" components. A "meta" component is any component which is not directly related to the game itself, but it still necessary: for example account management or the bug tracking system fall into this category. configuration/transactions.xml Transaction manager configuration This file contains the configuration for Spring's transaction management system. It defines the transaction manager and enables annotation-based transaction processing. Files in general component definition packages: Most of the component definition packages will include one single configuration file which loads the components the package defines. This file will be found in either configuration/meta/ or configuration/game/ depending on the purpose of the components. The file in question will be loaded from the corresponding file in the main server package. Files in the legacyworlds-server-beans-simple package: This package includes its own top-level configuration file, unsurprisingly named configuration/simple.xml, which is included in the server's top-level configuration and loads all files in the configuration/simple/ sub-directory. Since it corresponds to Milestone 1's "simple" game implementation, it should only be modified to remove components as they are moved or replaced. Files in the legacyworlds-server-beans-user package: This package includes a "meta" components configuration file, which loads low-level session management components. In addition, it features the following configuration files: configuration/session-types.xml Session types loader This file loads the configuration files for each specific type of session. configuration/session-types/ Session types definitions This directory contains configuration files which loads all components for some type of session. Each file should therefore load at least one session definer component, and a bunch of command handling components.