Skip to content

Latest commit

 

History

History
139 lines (93 loc) · 10.4 KB

File metadata and controls

139 lines (93 loc) · 10.4 KB
graph LR
    Evennia_Core["Evennia Core"]
    Networking_Portal["Networking & Portal"]
    Account_Session_Management["Account & Session Management"]
    Game_World_Typeclasses["Game World & Typeclasses"]
    Command_Input_Processing["Command & Input Processing"]
    Communication_System["Communication System"]
    Scripting_Automation["Scripting & Automation"]
    Web_Interface["Web Interface"]
    Evennia_Core -- "manages" --> Networking_Portal
    Evennia_Core -- "manages" --> Account_Session_Management
    Evennia_Core -- "manages" --> Game_World_Typeclasses
    Evennia_Core -- "manages" --> Command_Input_Processing
    Evennia_Core -- "manages" --> Communication_System
    Evennia_Core -- "manages" --> Scripting_Automation
    Evennia_Core -- "manages" --> Web_Interface
    Networking_Portal -- "forwards connections to" --> Account_Session_Management
    Networking_Portal -- "sends input to" --> Command_Input_Processing
    Account_Session_Management -- "controls objects in" --> Game_World_Typeclasses
    Account_Session_Management -- "issues commands to" --> Command_Input_Processing
    Command_Input_Processing -- "interacts with" --> Game_World_Typeclasses
    Command_Input_Processing -- "sends messages via" --> Communication_System
    Game_World_Typeclasses -- "triggers scripts in" --> Scripting_Automation
    Scripting_Automation -- "modifies objects in" --> Game_World_Typeclasses
    Communication_System -- "sends messages to" --> Networking_Portal
    Web_Interface -- "accesses" --> Evennia_Core
    Web_Interface -- "accesses" --> Account_Session_Management
    Web_Interface -- "accesses" --> Game_World_Typeclasses
    click Evennia_Core href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/evennia/Evennia_Core.md" "Details"
    click Networking_Portal href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/evennia/Networking_Portal.md" "Details"
    click Account_Session_Management href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/evennia/Account_Session_Management.md" "Details"
    click Game_World_Typeclasses href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/evennia/Game_World_Typeclasses.md" "Details"
    click Command_Input_Processing href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/evennia/Command_Input_Processing.md" "Details"
    click Communication_System href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/evennia/Communication_System.md" "Details"
    click Scripting_Automation href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/evennia/Scripting_Automation.md" "Details"
    click Web_Interface href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/evennia/Web_Interface.md" "Details"
Loading

CodeBoardingDemoContact

Details

Evennia's architecture is a highly modular, event-driven framework centered around a core server. The Evennia Core acts as the central orchestrator, initializing and managing all primary services. External client interactions are handled by the Networking & Portal, which funnels raw input to the Command & Input Processing system. This system interprets player commands, which then interact with the Game World & Typeclasses to modify the game state or trigger actions. User identity and active connections are managed by Account & Session Management, linking network sessions to in-game entities. Dynamic game logic and background tasks are executed by the Scripting & Automation engine, often interacting with the game world. All in-game messaging is routed through the Communication System. A separate Web Interface provides administrative tools and a web-based client, offering an alternative access point to the server's functionalities and data. This clear separation of concerns allows for robust operation and extensive customization, making Evennia a flexible foundation for diverse MUD and text-based online game development.

Evennia Core [Expand]

The central orchestrator, managing the server's lifecycle and coordinating all primary services.

Related Classes/Methods:

Networking & Portal [Expand]

Handles all external client connections and network protocols, translating raw data to game-ready input and vice-versa.

Related Classes/Methods:

Account & Session Management [Expand]

Manages user authentication, account data, and active player sessions, linking network connections to in-game identities.

Related Classes/Methods:

Game World & Typeclasses [Expand]

Defines and manages all in-game entities (objects, rooms, characters) using the flexible Typeclass system and facilitates their creation via prototypes.

Related Classes/Methods:

Command & Input Processing [Expand]

Parses player and system input, dispatching structured commands to the appropriate game logic handlers and managing the help system.

Related Classes/Methods:

Communication System [Expand]

Manages all in-game communication channels, including global chat, private messages, and custom channels, handling message storage, routing, and delivery.

Related Classes/Methods:

Scripting & Automation [Expand]

Provides mechanisms for running background tasks, scheduled events, and dynamic game logic, enabling persistent and automated game world behaviors.

Related Classes/Methods:

Web Interface [Expand]

Offers web-based functionalities for Evennia, including administrative panels, a built-in web client, and a programmatic API for external applications.

Related Classes/Methods: