Jump to content

Architecture: Difference between revisions

From fCraft Wiki
Created page with "fCraft setup consists of two shared modules (fCraft.dll and fCraftGUI.dll), a visual configuration tool (ConfigGUI.exe), and a choice of front-ends (ServerGUI.exe and ServerCLI.e..."
 
mNo edit summary
Line 10: Line 10:
*'''fCraft''' - shared components
*'''fCraft''' - shared components
**'''AutoRank''' - fCraft.AutoRank namespace; AutoRankManager, conditions, and criteria.
**'''AutoRank''' - fCraft.AutoRank namespace; AutoRankManager, conditions, and criteria.
**'''Commands''' - fCraft namespace; Command descriptors and handlers, Command/CommandDescriptor/CommandManager classes, CommandCategory enum.
**'''Commands''' - fCraft, fCraft.Events namespaces; Command descriptors and handlers, Command/CommandDescriptor/CommandManager classes, CommandCategory enum.
**'''Drawing''' - fCraft.Drawing namespace; DrawOperation base class and Brush-related interfaces; BrushManager; copy/paste- and undo-related classes; Axis enum.
**'''Drawing''' - fCraft.Drawing, fCraft.Events namespaces; DrawOperation base class and Brush-related interfaces; BrushManager; copy/paste- and undo-related classes; Axis enum.
***'''Brushes''' - fCraft.Drawing namespace; All brush implementations.
***'''Brushes''' - fCraft.Drawing namespace; All brush implementations.
***'''DrawOps''' - fCraft.Drawing namespace; All DrawOperation implementations.
***'''DrawOps''' - fCraft.Drawing namespace; All DrawOperation implementations.
**'''MapConversion''' - fCraft.MapConversion namespace; MapUtility, class, MapFormat enum, IMapConverter implementations (importers and exporters), NBT and .INI utilities.
**'''MapConversion''' - fCraft.MapConversion namespace; MapUtility, class, MapFormat enum, IMapConverter implementations (importers and exporters), NBT and .INI utilities.
**'''Network''' - fCraft namespace; Heartbeat, IP bans, IRC, low-level network utilities, networking component of the Player class.
**'''Network''' - fCraft, fCraft.Events namespaces; Heartbeat, IP bans, IRC, low-level network utilities, networking component of the Player class.
**'''Player''' - fCraft namespace; permissions and ranks, player constants, PlayerDB and PlayerInfo, Player class, Chat.
**'''Player''' - fCraft, fCraft.Events namespaces; Permissions and ranks, player-related constants, PlayerDB and PlayerInfo, Player class, Chat.
**'''System''' - fCraft namespace; Config, Server central class, Logger, Scheduler.
**'''System''' - fCraft, fCraft.Events namespaces; Config, Server central class, Logger, Scheduler.
**'''Utils''' - fCraft, JetBrains.Annotations, System.IO.Compression namespaces; various utility classes, extension methods, Vector classes, code annotations.
**'''Utils''' - fCraft, JetBrains.Annotations, System.IO.Compression namespaces; various utility classes, extension methods, Vector classes, code annotations.
**'''World''' - fCraft namespace; Block enum, BlockDB classes, map generation, World and WorldManager classes, Zones.
**'''World''' - fCraft namespace; World and WorldManager classes, Block enum, BlockDB classes, map generation, Zones.
*'''fCraftGUI''' - fCraft.GUI namespace; graphical components shared by ServerGUI and ConfigGUI.
*'''fCraftGUI''' - fCraft.GUI namespace; graphical components shared by ServerGUI and ConfigGUI.
*'''ServerCLI''' - fCraft.ServerCLI namespace; Command-line server front end.
*'''ServerCLI''' - fCraft.ServerCLI namespace; Command-line server front end.

Revision as of 02:27, 11 November 2011

fCraft setup consists of two shared modules (fCraft.dll and fCraftGUI.dll), a visual configuration tool (ConfigGUI.exe), and a choice of front-ends (ServerGUI.exe and ServerCLI.exe).

Project Directory Structure

  • AutoRankEditor - experimental
  • bin
    • Debug - binaries built in Debug, Debug_Events, Debug_IRC, and Debug_Scheduler configurations.
    • Release - binaries built in Release configuration.
  • ConfigCLI - experimental command-line config editor
  • ConfigGUI - graphical config editor
  • fCraft - shared components
    • AutoRank - fCraft.AutoRank namespace; AutoRankManager, conditions, and criteria.
    • Commands - fCraft, fCraft.Events namespaces; Command descriptors and handlers, Command/CommandDescriptor/CommandManager classes, CommandCategory enum.
    • Drawing - fCraft.Drawing, fCraft.Events namespaces; DrawOperation base class and Brush-related interfaces; BrushManager; copy/paste- and undo-related classes; Axis enum.
      • Brushes - fCraft.Drawing namespace; All brush implementations.
      • DrawOps - fCraft.Drawing namespace; All DrawOperation implementations.
    • MapConversion - fCraft.MapConversion namespace; MapUtility, class, MapFormat enum, IMapConverter implementations (importers and exporters), NBT and .INI utilities.
    • Network - fCraft, fCraft.Events namespaces; Heartbeat, IP bans, IRC, low-level network utilities, networking component of the Player class.
    • Player - fCraft, fCraft.Events namespaces; Permissions and ranks, player-related constants, PlayerDB and PlayerInfo, Player class, Chat.
    • System - fCraft, fCraft.Events namespaces; Config, Server central class, Logger, Scheduler.
    • Utils - fCraft, JetBrains.Annotations, System.IO.Compression namespaces; various utility classes, extension methods, Vector classes, code annotations.
    • World - fCraft namespace; World and WorldManager classes, Block enum, BlockDB classes, map generation, Zones.
  • fCraftGUI - fCraft.GUI namespace; graphical components shared by ServerGUI and ConfigGUI.
  • ServerCLI - fCraft.ServerCLI namespace; Command-line server front end.
  • ServerGUI - fCraft.ServerGUI namespace; Graphical server front end.
  • UpdateInstaller - fCraft.UpdateInstaller namespace; Self-extracting updater.
  • UpdateBuilder - fCraft.UpdateBuilder namespace; Zips files to include in the UpdateInstaller. Used only during the build process.