back to home

MafiaHub / Framework

Advanced modding framework for multiplayer modifications

54 stars
16 forks
12 issues
C++CCMake

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing MafiaHub/Framework in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/MafiaHub/Framework)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

Opinionated suite of tools and libraries to accelerate build multi-player modifications for AAA games. Brought to you by @Segfault , @zaklaus , @DavoSK , and other contributors ! Introduction This codebase provides a suite of tools and libraries to simplify the development of multi-player modifications and ensure consistency across all of them. The primary goal is to provide a common foundation and interface with shared functionality and data. It covers many fields we found necessary during the development of multi-player mods, such as: • **Networking**: The core of the framework provides all the necessary tools to synchronize data between players. • **ECS**: Backed by a robust ECS framework that simplifies entity management and world streaming, it is also easily extensible. • **Scripting**: The **JavaScript/TypeScript** scripting layer provides an easy way to create and manage game modes used on game servers (powered by Node.js on server, V8 on client). • **Logging**: It is always vital to log actions and errors, so the framework provides a simple way. • **GUI**: It provides a simple way to create and manage GUI elements using the **Ultralight** and DearImGUI libraries. • **Sentry**: The framework provides a simple way to report errors and exceptions to the **Sentry** service. • **Externals**: Contains wrappers for various libraries and services used within the framework. • **Integrations**: Provides a simple server and client moddable setup combining various framework components, allowing you to focus on game-specific features. • **Utils**: It provides useful functions and classes throughout the framework. **MafiaHub Services** are NOT part of this project, but our framework provides a simple way to integrate them. Feel free to ask us for more information about this service so we can provide the resources and a license to use it. Contributing We're always looking for new contributors, so if you have any ideas or suggestions, please let us know, and we'll see how we can improve it. You can reach us at our Discord server MafiaHub or raise an issue on our repository. If you're interested in development, please read our Contribution Guidelines. Building We use **CMake** to build our projects so that you can use any of the supported build systems. We currently support **Windows**, **Linux**, and **MacOS** operating systems. You can follow this guide to get started: Build on macOS/Linux Build on Windows Visual Studio 2022 support Please ensure you have the cmake tools installed in your copy of Visual Studio first. Open your newly cloned Framework repository folder in Visual Studio, and it will automatically set up everything for you! Things to note: • folder is hidden by default as it's ignored by Git, in Solution Explorer, enable **Show All Files** option to see your project files. • Changes in your project's cmake will not be auto-detected; cmake will only reload config on the build. Otherwise, you can do it yourself in the Projects section in the main menu. CLion support The guide on how to set up the project files for CLion is available here. Add a multi-player project to the framework Multi-player modifications are cloned into the directory and are automatically picked up by the framework. We use this approach to efficiently manage the projects and their dependencies and perform mass changes and general maintenance during development. Now, you can access your targets and build them within the framework. To exclude a project from compilation, create an empty file called in the project's root. License The code is licensed under the MafiaHub OSS license. The 5th clause ensures the work can focus primarily on this repository, as we provide access to the framework and its services. This is important to ensure that the framework is not used for other purposes, such as creating other projects, that would diverge from the framework. This approach guarantees that the changes are directly made to the framework, having a healthy ecosystem in mind.