mirror of
https://github.com/mleem97/gregWiki.git
synced 2026-04-11 03:29:19 +02:00
docs: update docusaurus configuration and documentation structure
- Revised the tagline in `docusaurus.config.js` for improved clarity on the documentation's focus. - Removed German localization support from the configuration to streamline the user experience. - Updated navigation items in the sidebar to better reflect the current structure, emphasizing player and developer resources. - Enhanced the README and various documentation files to clarify the repository layout and improve accessibility for users. - Adjusted links and descriptions throughout the documentation to ensure consistency and accuracy. This commit aims to enhance the overall clarity and usability of the documentation.
This commit is contained in:
36
docs/README.md
Normal file
36
docs/README.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# Documentation layout (`docs/`)
|
||||
|
||||
This folder is the **single source of truth** for the public Docusaurus site. The app lives in the **gregWiki** repository root next to `docs/`; built pages are served under the **`/wiki`** base path.
|
||||
|
||||
## How content is organized
|
||||
|
||||
| Area | Path | Purpose |
|
||||
|------|------|--------|
|
||||
| **Landing** | [`intro` → `/wiki/docs`](/wiki/docs) | Site home (`/wiki/docs`). |
|
||||
| **Topics hub** | [`topics/`](./topics/index.md) | Cross-cutting overviews (security, FFI, multiplayer, assets, meta). |
|
||||
| **Mods & plugins** | [`mods/`](./mods/), [`plugins/`](./plugins/) | Gameplay mods (`FMF.*`) and framework plugins (`FFM.Plugin.*`). |
|
||||
| **Releases** | [`releases/`](./releases/) | Per-artifact release notes. |
|
||||
| **Reference** | [`reference/`](./reference/) | Hooks, naming, MCP, generated catalogs. |
|
||||
| **Contributors** | [`contributors/`](./contributors/) | Repo layout, Docusaurus workflow, design system. |
|
||||
| **Guides** | [`guides/`](./guides/players/overview.md) | Role-based paths (players, mod developers, contributors, sponsors). |
|
||||
| **Roadmap** | [`roadmap/`](./roadmap/) | Planning docs. |
|
||||
| **Meta** | [`meta/`](./meta/) | Workshop, devserver, backlog; [architecture principles](./meta/system-architecture-principles.md) (ModManager → Framework → Plugins → Mods). |
|
||||
|
||||
## URLs
|
||||
|
||||
- Doc id `intro` → `/wiki/docs` (see front matter).
|
||||
- Most docs → `/wiki/<doc-path>` (e.g. `mods/framework` → `/wiki/mods/framework`).
|
||||
|
||||
## Scripts (repository root)
|
||||
|
||||
| Script | Role |
|
||||
|--------|------|
|
||||
| `wiki:sync` | **No-op** (legacy GitHub Wiki mirror removed). |
|
||||
| `wiki:normalize-i18n` | **No-op** (same). |
|
||||
| `wiki:refresh` | Runs both no-ops; safe for old CI hooks. |
|
||||
|
||||
Author new pages under `docs/`; use **git history** if you need text from the former bulk import.
|
||||
|
||||
## Locales
|
||||
|
||||
- **Language:** English only — files under `docs/`.
|
||||
84
docs/developers.md
Normal file
84
docs/developers.md
Normal file
@@ -0,0 +1,84 @@
|
||||
---
|
||||
id: developers
|
||||
title: Developers & contributors
|
||||
sidebar_label: Developers (hub)
|
||||
slug: /developers
|
||||
description: Technical documentation for mod authors, plugin authors, and repo contributors — hooks, workspace, releases, and internals.
|
||||
---
|
||||
|
||||
# Developers & contributors
|
||||
|
||||
Use this hub if you **build mods or plugins**, work on **framework** code, or contribute to **repositories and docs**.
|
||||
|
||||
**Players** should start with **[Play & mods](/wiki/guides/players/overview)** (sidebar above) — install, Workshop, troubleshooting.
|
||||
|
||||
**Architecture:** read **[System architecture & documentation principles](/wiki/meta/system-architecture-principles)** first — canonical **ModManager → Framework → Plugins → Mods** model, priorities (stability, maintainability, DX), and wiki writing rules.
|
||||
|
||||
## Workspace & onboarding
|
||||
|
||||
- [Getting started](/wiki/getting-started) — split-repo layout, build core, hook naming
|
||||
- [Documentation layout](/wiki/getting-started/documentation-layout) — how `docs/` is organized
|
||||
- [Workspace map](/wiki/workspace/) — folders on disk
|
||||
|
||||
## Framework
|
||||
|
||||
- [Architecture](/wiki/framework/architecture)
|
||||
- [FMF hooks](/wiki/framework/fmf-hooks)
|
||||
- [Hexmod](/wiki/framework/hexmod)
|
||||
|
||||
## Plugins (`FFM.Plugin.*`) & mods (`FMF.*`)
|
||||
|
||||
- [Plugins overview](/wiki/plugins/)
|
||||
- [Mods overview](/wiki/mods/) — gameplay mods and [Framework](/wiki/mods/framework) article
|
||||
|
||||
## Guides (authors & repo)
|
||||
|
||||
- [Mod developers](/wiki/guides/mod-developers/overview)
|
||||
- [Contributors (workflow)](/wiki/guides/contributors/topics-overview)
|
||||
- [Contributor workshop](/wiki/guides/contributors/contributor-workshop)
|
||||
- [Release guide](/wiki/guides/contributors/release)
|
||||
- [Sponsors](/wiki/guides/sponsors/overview)
|
||||
- [By audience (paths)](/wiki/guides/players/audiences-overview) · [Newbies](/wiki/audiences/newbies) · [Intermediates](/wiki/audiences/intermediates) · [Professionals](/wiki/audiences/professionals)
|
||||
|
||||
## Tools & meta (advanced)
|
||||
|
||||
- [Steam Workshop & tooling](/wiki/meta/Steam-Workshop-and-Tooling)
|
||||
- [Devserver betas](/wiki/meta/devserver-betas)
|
||||
- [IDEA backlog](/wiki/meta/IDEA_BACKLOG)
|
||||
|
||||
## Releases
|
||||
|
||||
- [Releases index](/wiki/releases)
|
||||
|
||||
## Reference
|
||||
|
||||
- [Wiki mapping](/wiki/reference/wiki-mapping)
|
||||
- [Mod store vision](/wiki/reference/mod-store-vision)
|
||||
- [FMF hook naming](/wiki/reference/fmf-hook-naming)
|
||||
- [FMF hooks catalog](/wiki/reference/fmf-hooks-catalog)
|
||||
- [MCP server](/wiki/reference/mcp-server)
|
||||
- [Release channels](/wiki/reference/release-channels) — also linked under **Play & mods**
|
||||
- [Reference data files](/wiki/reference/reference-data-files)
|
||||
- [Modding language requirement](/wiki/reference/modding-language-requirement)
|
||||
|
||||
## Topics
|
||||
|
||||
- [Topics hub](/wiki/topics/)
|
||||
|
||||
## Contributors (workflow)
|
||||
|
||||
- [Repo inventory](/wiki/contributors/repo-inventory)
|
||||
- [Monorepo target layout](/wiki/contributors/monorepo-target-layout)
|
||||
- [Design system](/wiki/contributors/luminescent-design-system)
|
||||
- [Docusaurus workflow](/wiki/contributors/docusaurus-workflow)
|
||||
- [Plugin submission audit](/wiki/contributors/plugin-submission-audit)
|
||||
- [Sponsorship automation](/wiki/contributors/sponsorship-automation)
|
||||
|
||||
## Roadmap
|
||||
|
||||
- [Unified roadmap](/wiki/roadmap/unified-roadmap)
|
||||
- [Mod store stages](/wiki/roadmap/mod-store-stages)
|
||||
|
||||
## Sponsors
|
||||
|
||||
- [SPONSORS](/wiki/SPONSORS)
|
||||
@@ -1,34 +1,45 @@
|
||||
---
|
||||
title: Repository architecture
|
||||
sidebar_label: Repository architecture
|
||||
description: Aktuelle Multi-Repo-Architektur mit `gregFramework` als Wrapper und klarer Repo-Trennung.
|
||||
description: Current multi-repo layout with `gregFramework` as a local wrapper and clear repository boundaries.
|
||||
---
|
||||
|
||||
## Modding language
|
||||
|
||||
Mods, MelonLoader-Plugins und Extensions liefern ihre **Logik ausschließlich in C#** (MelonLoader / .NET). Details und Abgrenzung zum Framework-Kern (z. B. Rust-Bridge): [Modding language (C# only)](/wiki/reference/modding-language-requirement).
|
||||
Mods, MelonLoader plugins, and extensions ship their **logic in C# only** (MelonLoader / .NET). Scope vs framework core (e.g. Rust bridge): [Modding language (C# only)](/wiki/reference/modding-language-requirement).
|
||||
|
||||
## Layers
|
||||
## Target runtime layers
|
||||
|
||||
Above the raw repositories, the **logical** model is **ModManager → Framework → Plugins → Mods** (see [System architecture & documentation principles](/wiki/meta/system-architecture-principles)):
|
||||
|
||||
| Layer | Role | Repo / folder |
|
||||
|--------|--------|----------------|
|
||||
| **ModManager** | MAUI front-end: manage mods/plugins, surface game status; talks to the framework through defined interfaces. | `gregModmanager/` |
|
||||
| **Framework (SDK)** | Hooks, events, versioning, logging; bridge to IL2CPP / MelonLoader. | `gregCore/` |
|
||||
| **Plugins** | Framework extensions (`FFM.Plugin.*`). | `gregExt.<Name>/` |
|
||||
| **Mods** | User mods (`FMF.*`). | `gregMod.<Name>/` |
|
||||
|
||||
## On-disk repositories
|
||||
|
||||
| Layer | Role |
|
||||
| ------ | ------ |
|
||||
| **Wrapper** | `gregFramework/` enthält lokal alle Einzel-Repositories. |
|
||||
| **Core** | `gregCore/` — **Framework-Kern**: Übersetzung, Hooks, Harmony/Event-Laufzeit, MCP, Templates und zugehörige Kernfunktionen. |
|
||||
| **Rust bridge** | In Core integriert unter `gregCore/bridges/gregSta.RustBridge/`. |
|
||||
| **Mods** | `gregMod.<Name>/` — jeweils eigenes Repo direkt unter `gregFramework/`. |
|
||||
| **Extensions** | `gregExt.<Name>/` — jeweils eigenes Repo direkt unter `gregFramework/`. |
|
||||
| **Docs** | `gregWiki/` als eigenes Repo für Dokumentation. |
|
||||
| **Wrapper** | `gregFramework/` holds local checkouts of individual repositories. |
|
||||
| **Core** | `gregCore/` — **framework core**: translation, hooks, Harmony/event runtime, MCP, templates, and related core features. |
|
||||
| **Rust bridge** | Integrated in core under `gregCore/bridges/gregSta.RustBridge/`. |
|
||||
| **Mods** | `gregMod.<Name>/` — one repo each, directly under `gregFramework/`. |
|
||||
| **Extensions** | `gregExt.<Name>/` — one repo each, directly under `gregFramework/`. |
|
||||
| **Docs** | `gregWiki/` — documentation site repository. |
|
||||
|
||||
## Hook registry
|
||||
|
||||
Hook-Naming und Registry bleiben fachlich im Core verankert; bei Split-Änderungen gilt immer der Core-Stand als Referenz.
|
||||
Hook naming and the registry are owned by core; when repos split, **core** remains the source of truth.
|
||||
|
||||
## Tools
|
||||
|
||||
- **Core tools:** `gregCore/tools/`
|
||||
- **MCP runtime:** `gregCore/mcp-server/`
|
||||
- **Hook-/Mapping-Utilities:** ebenfalls unter Core-Tools, versioniert mit dem Core-Repo.
|
||||
- **Hook / mapping utilities:** also under core tools, versioned with the core repo.
|
||||
|
||||
## Steam & Workshop
|
||||
|
||||
Workshop-Templates und Deployment-Skripte liegen im Core-Repo unter `gregCore/Templates/` und `gregCore/scripts/`.
|
||||
Workshop templates and deployment scripts live in the core repo under `gregCore/Templates/` and `gregCore/scripts/`.
|
||||
|
||||
@@ -4,7 +4,7 @@ sidebar_label: Getting started
|
||||
description: "Split-repo workspace: gregFramework layout, building the core, and where docs live."
|
||||
---
|
||||
|
||||
The workspace is **multi-repo** with a local `gregFramework/` folder containing standalone repositories, for example:
|
||||
The workspace is **multi-repo** with a local `gregFramework/` folder containing standalone repositories. **Logical stack:** **ModManager → framework / SDK → plugins → mods** — see [System architecture & documentation principles](/wiki/meta/system-architecture-principles).
|
||||
|
||||
- `gregCore/` — core SDK (`gregCore/framework/FrikaMF.csproj`), MCP server under `gregCore/mcp-server/`
|
||||
- `gregMod.<Name>/` — gameplay mods (`FMF.*`), **flat** next to `gregCore/` (legacy umbrella `gregMods/` is deprecated)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
id: documentation-layout
|
||||
title: Documentation layout (`docs/`)
|
||||
sidebar_label: Documentation layout
|
||||
description: How curated docs, guides, and the legacy GitHub Wiki mirror are organized under docs/.
|
||||
description: How curated docs, guides, and reference material are organized under docs/.
|
||||
---
|
||||
|
||||
# Documentation layout (`docs/`)
|
||||
@@ -26,34 +26,17 @@ This folder is the **single source of truth** for the public Docusaurus site. Th
|
||||
| **Contributors** | [`contributors/`](../contributors/repo-inventory.md) | Repo inventory, Docusaurus workflow, design system. |
|
||||
| **Roadmap** | [`roadmap/`](../roadmap/unified-roadmap.md) | Planning docs. |
|
||||
| **Topics hub** | [`topics/`](../topics/index.md) | Cross-cutting overviews (assets, multiplayer, security, …). |
|
||||
| **Meta** | [`meta/`](../meta/Steam-Workshop-and-Tooling.md) | Workshop tooling notes, devserver API, backlog. |
|
||||
| **Legacy** | [`legacy/`](../legacy/index.md) | GitHub Wiki mirror under `legacy/wiki-import/`. |
|
||||
|
||||
## Legacy GitHub Wiki (`docs/legacy/wiki-import/`)
|
||||
|
||||
Long-form pages mirrored from the **GitHub Wiki** live here (synced from `.wiki/`).
|
||||
|
||||
1. Clone the wiki working tree as **`../.wiki/`** under `gregFramework/` (same level as sibling repos).
|
||||
2. From **gregWiki** root: `npm run wiki:refresh` (or `wiki:sync` → `wiki:normalize-i18n`).
|
||||
3. German paired pages live under `i18n/de/docusaurus-plugin-content-docs/current/legacy/wiki-import/` after normalization.
|
||||
4. Prefer **new curated docs** under `guides/`, `reference/`, or `framework/`; keep bulk legacy material in `legacy/wiki-import/` until migrated.
|
||||
|
||||
Details: [`topics/wiki-import/overview`](../topics/wiki-import/overview.md).
|
||||
| **Meta** | [`meta/`](../meta/Steam-Workshop-and-Tooling.md) | Workshop tooling notes, devserver API, backlog; **[architecture principles](../meta/system-architecture-principles.md)** (stack model & doc rules). |
|
||||
|
||||
## URLs
|
||||
|
||||
- Doc id `intro` → `/wiki/docs`.
|
||||
- Typical doc → `/wiki/<doc-id-path>` (e.g. `mods/framework` → `/wiki/mods/framework`).
|
||||
|
||||
## Scripts (gregWiki root)
|
||||
|
||||
| Script | Role |
|
||||
|--------|------|
|
||||
| `wiki:sync` | Copies `.wiki/` → `docs/legacy/wiki-import/`. |
|
||||
| `wiki:normalize-i18n` | Splits DE/EN pairs into default locale + `i18n/de/...`. |
|
||||
| `write-wiki-import-category-keys` | Refreshes `_category_.json` keys under imported trees. |
|
||||
|
||||
## Locales
|
||||
|
||||
- **Default:** `en` — files under `docs/`.
|
||||
- **Deutsch (`de`):** overrides under `i18n/de/docusaurus-plugin-content-docs/current/` mirroring `docs/` paths where translated files exist; otherwise Docusaurus falls back to English.
|
||||
- **Language:** English only — all curated content lives under `docs/`.
|
||||
|
||||
## Historical note
|
||||
|
||||
The former GitHub Wiki bulk import under `docs/legacy/wiki-import/` has been **removed**. Author new material under the folders above; use Git history if you need obsolete text.
|
||||
|
||||
@@ -6,14 +6,14 @@ description: Monorepo layout, design system, Docusaurus workflow, plugin audits.
|
||||
|
||||
# Contributors (workflow)
|
||||
|
||||
**Mitwirkende am Repository** — Framework, Website, CI, Plugins. Überblick über alle Rollen (inkl. Spieler, Moddevs, Sponsoren): [By audience](/wiki/guides/players/audiences-overview).
|
||||
**Repository contributors** — framework, website, CI, plugins. Role overview (including players, mod developers, sponsors): [By audience](/wiki/guides/players/audiences-overview).
|
||||
|
||||
Operational docs for people changing the framework, site, or release pipeline.
|
||||
|
||||
- [System architecture & documentation principles](/wiki/meta/system-architecture-principles) — layer model, priorities, wiki rules (**required reading** for substantive doc changes).
|
||||
- [Repository inventory](/wiki/contributors/repo-inventory) — current layout snapshot.
|
||||
- [Monorepo target layout](/wiki/contributors/monorepo-target-layout) — intended structure.
|
||||
- [Luminescent design system](/wiki/contributors/luminescent-design-system) — UI tokens for the site.
|
||||
- [Docusaurus workflow](/wiki/contributors/docusaurus-workflow) — edit/build the wiki site.
|
||||
- [Plugin submission audit](/wiki/contributors/plugin-submission-audit) — checklist for new plugins.
|
||||
|
||||
- [Contributor workshop](./contributor-workshop) — branching, reviews, and release expectations.
|
||||
|
||||
@@ -6,8 +6,9 @@ description: Getting started, mod config, debugging — curated docs for FMF mod
|
||||
|
||||
# Mod developers
|
||||
|
||||
**Mod-Autorinnen und -Autoren** — eigene Mods bauen (Hooks, Konfiguration, Debug). Überblick über alle Rollen: [By audience](/wiki/guides/players/audiences-overview).
|
||||
**Mod authors** — build your own mods (hooks, configuration, debugging). Role overview: [By audience](/wiki/guides/players/audiences-overview).
|
||||
|
||||
- [System architecture & documentation principles](/wiki/meta/system-architecture-principles) — layer model **ModManager → Framework → Plugins → Mods**, priorities, wiki rules
|
||||
- [By audience — intermediates](/wiki/audiences/intermediates) and [professionals](/wiki/audiences/professionals)
|
||||
- [Framework overview](/wiki/mods/framework) — runtime capabilities and repo layout
|
||||
- [FMF hooks](/wiki/framework/fmf-hooks) — hook surface (generated article)
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
id: audiences-overview
|
||||
title: By audience
|
||||
sidebar_label: By audience
|
||||
description: Vier Rollen — Spieler, Moddevs, Contributor, Sponsoren — plus Erfahrungsstufen (Newbies bis Pros).
|
||||
description: Four roles — players, mod developers, contributors, sponsors — plus experience levels (newbies through pros).
|
||||
---
|
||||
|
||||
# By audience
|
||||
|
||||
Die Dokumentation richtet sich an **vier Hauptrollen** (und an Erfahrungsstufen darunter). Die meisten Seiten sind **Englisch**; ausgewählte Einstiege gibt es auch auf **Deutsch** (z. B. in dieser Übersicht und in `i18n/de`).
|
||||
Documentation is aimed at **four primary roles** (and experience levels under each). All curated pages are **English**.
|
||||
|
||||
## Die vier Rollen
|
||||
## The four roles
|
||||
|
||||
| Rolle | Für wen? | Einstieg |
|
||||
| Role | Who | Start here |
|
||||
|--------|----------|----------|
|
||||
| **Spieler** (End users) | Installation, Mods nutzen, Troubleshooting | [End users (hub)](./overview) · [End-user workshop](./enduser-workshop) |
|
||||
| **Mod-Entwickler** (Mod developers) | Mods bauen, Hooks, Konfiguration, Debug | [Mod developers (hub)](../mod-developers/overview) · [Framework](/wiki/mods/framework) |
|
||||
| **Contributor** (Repo & Framework) | PRs, Doku, Plugins, CI | [Contributors (workflow)](../contributors/topics-overview) · [Repo inventory](/wiki/contributors/repo-inventory) |
|
||||
| **Sponsorinnen & Sponsoren** | Unterstützung, Transparenz | [Sponsors (hub)](../sponsors/overview) |
|
||||
| **Players** (end users) | Install, use mods, troubleshooting | [End users (hub)](./overview) · [End-user workshop](./enduser-workshop) |
|
||||
| **Mod developers** | Build mods, hooks, configuration, debugging | [Mod developers (hub)](../mod-developers/overview) · [Framework](/wiki/mods/framework) |
|
||||
| **Contributors** (repo & framework) | PRs, docs, plugins, CI | [Contributors (workflow)](../contributors/topics-overview) · [Repo inventory](/wiki/contributors/repo-inventory) |
|
||||
| **Sponsors** | Support, transparency | [Sponsors (hub)](../sponsors/overview) |
|
||||
|
||||
## Erfahrungsstufen (alle Rollen)
|
||||
## Experience levels (all roles)
|
||||
|
||||
- [Newbies](/wiki/audiences/newbies) — erste Schritte, Begriffe, sichere Defaults.
|
||||
- [Intermediates](/wiki/audiences/intermediates) — Workflows, Tooling, typische Stolpersteine.
|
||||
- [Professionals](/wiki/audiences/professionals) — Architektur, FFI, Performance, Release-Kanäle.
|
||||
- [Newbies](/wiki/audiences/newbies) — first steps, terminology, safe defaults.
|
||||
- [Intermediates](/wiki/audiences/intermediates) — workflows, tooling, common pitfalls.
|
||||
- [Professionals](/wiki/audiences/professionals) — architecture, FFI, performance, release channels.
|
||||
|
||||
## Thematische Übersicht
|
||||
## Thematic overview
|
||||
|
||||
- [Topics hub](/wiki/topics/) — Security, Multiplayer, Assets, FFI, Roadmap, Meta.
|
||||
- [Topics hub](/wiki/topics/) — security, multiplayer, assets, FFI, roadmap, meta.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: FAQs, install paths, troubleshooting — entry point for players us
|
||||
|
||||
# End users
|
||||
|
||||
**Spielerinnen und Spieler** — Mods installieren und spielen, ohne am Framework mitzuentwickeln. Überblick über alle Rollen: [By audience](/wiki/guides/players/audiences-overview).
|
||||
**Players** — install and play with mods without developing the framework. Role overview: [By audience](/wiki/guides/players/audiences-overview).
|
||||
|
||||
- [By audience — newbies](/wiki/audiences/newbies)
|
||||
- [End-user workshop](/wiki/guides/players/enduser-workshop) — install, updates, Workshop
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
---
|
||||
title: Sponsors & support
|
||||
sidebar_label: Sponsors (hub)
|
||||
description: Für Unterstützerinnen und Unterstützer — Sponsoring, Transparenz, Anlaufstellen.
|
||||
description: For supporters — sponsorship, transparency, where to start.
|
||||
---
|
||||
|
||||
# Sponsors & support
|
||||
|
||||
Die Community finanziert u. a. Infrastruktur, Tools und Zeit für Pflege der Doku und des Frameworks. Hier startest du als **potenzielle Sponsorin oder Sponsor** (oder als Spielerin, die nur informieren möchte, wohin Unterstützung fließt).
|
||||
The community funds infrastructure, tools, and time to maintain documentation and the framework. Use this page if you are a **potential sponsor** (or a player who wants to see where support goes).
|
||||
|
||||
## Kurzüberblick
|
||||
## At a glance
|
||||
|
||||
- **GitHub:** [mleem97/gregFramework](https://github.com/mleem97/gregFramework) — Sponsoring- und Community-Richtlinien stehen in `README`, `LICENSE` und `CONTRIBUTING`.
|
||||
- **Transparenz:** Release-Notes und [Release-Kanäle](/wiki/reference/release-channels) beschreiben, wie Builds verteilt werden.
|
||||
- **Rechtliches:** [Security & legal](/wiki/topics/security-legal/overview) — verbindliche Texte liegen im Repository, nicht nur im Wiki.
|
||||
- **GitHub:** [mleem97/gregFramework](https://github.com/mleem97/gregFramework) — sponsorship and community policies are in `README`, `LICENSE`, and `CONTRIBUTING`.
|
||||
- **Transparency:** Release notes and [Release channels](/wiki/reference/release-channels) describe how builds are distributed.
|
||||
- **Legal:** [Security & legal](/wiki/topics/security-legal/overview) — binding text lives in the repository, not only in the wiki.
|
||||
|
||||
:::note Zielgruppe
|
||||
Diese Seite richtet sich an **Sponsorinnen, Sponsoren und Fördernde**. Spielerinnen und Spieler finden den Einstieg unter [End users](/wiki/guides/players/overview); Mod-Autoren unter [Mod developers](/wiki/guides/mod-developers/overview); Mitwirkende am Repo unter [Contributors (workflow)](/wiki/guides/contributors/topics-overview).
|
||||
:::note Audience
|
||||
This page is for **sponsors and supporters**. Players start at [End users](/wiki/guides/players/overview); mod authors at [Mod developers](/wiki/guides/mod-developers/overview); repo contributors at [Contributors (workflow)](/wiki/guides/contributors/topics-overview).
|
||||
:::
|
||||
|
||||
@@ -1,47 +1,29 @@
|
||||
---
|
||||
id: intro
|
||||
title: gregFramework documentation
|
||||
title: Documentation
|
||||
slug: /docs
|
||||
description: Entry point for the split-repo workspace — core, mods, extensions, and this wiki.
|
||||
description: Help for Data Center players using mods — install, Workshop, troubleshooting. Technical docs for authors are separated.
|
||||
---
|
||||
|
||||
This documentation describes the **current split layout**: a local `gregFramework/` workspace with separate repositories for **core**, **mods**, **extensions**, and **wiki**. It is written for **players**, **mod developers**, **contributors**, and **sponsors**.
|
||||
# Welcome
|
||||
|
||||
## Who is this for?
|
||||
**gregFramework** is the modding stack for *Data Center*. If you **play with mods**, you only need a short path: install, browse the Workshop, and fix common issues.
|
||||
|
||||
| Audience | Start here |
|
||||
|----------|------------|
|
||||
| **Players** — install, play, troubleshoot | [End users (hub)](./guides/players/overview.md) · [End-user workshop](./guides/players/enduser-workshop.md) |
|
||||
| **Mod developers** — build mods, hooks, debugging | [Mod developers (hub)](./guides/mod-developers/overview.md) · [Framework](./mods/framework.md) · [FMF hooks](/wiki/framework/fmf-hooks) |
|
||||
| **Contributors** — PRs, docs, plugins, CI | [Contributors (workflow)](./guides/contributors/topics-overview.md) · [Contributor workshop](./guides/contributors/contributor-workshop.md) |
|
||||
| **Sponsors** — support & transparency | [Sponsors (hub)](./guides/sponsors/overview.md) · [GitHub Sponsors](https://github.com/sponsors) (project policies in repo `LICENSE` / `CONTRIBUTING`) |
|
||||
## Players — start here
|
||||
|
||||
**Experience tracks** (newbies → pros): [By audience](./guides/players/audiences-overview.md) → [Newbies](/wiki/audiences/newbies), [Intermediates](/wiki/audiences/intermediates), [Professionals](/wiki/audiences/professionals).
|
||||
1. **[End users](/wiki/guides/players/overview)** — install, update, troubleshooting
|
||||
2. **[WorkshopManager guide](/wiki/guides/players/enduser-workshop)** — browse and install mods
|
||||
3. **[Release channels](/wiki/reference/release-channels)** — Steam Workshop vs GitHub
|
||||
4. **[WorkshopManager (tool)](/wiki/tools/workshop-uploader)** — desktop app for Workshop content
|
||||
|
||||
## Repository hub
|
||||
[**Mod catalog**](/mods) lists modules with links to docs and downloads.
|
||||
|
||||
- [Workspace map](./workspace/index.mdx) — how folders map to repos
|
||||
- Core: `gregCore/` (`framework/FrikaMF`, `mcp-server/`, `bridges/gregSta.RustBridge/`)
|
||||
- Mods: `gregMod.<Name>/` (split repos, directly under `gregFramework/`)
|
||||
- Extensions (FFM plugins): `gregExt.<Name>/` (split repos, directly under `gregFramework/`)
|
||||
- Workshop app: `gregModmanager/` (Gregtools Modmanager — `WorkshopUploader.exe`)
|
||||
- Exporter / templates: `gregDataCenterExporter/`
|
||||
- Wiki: `gregWiki/` (this site)
|
||||
## Mod authors, plugins, and repo work
|
||||
|
||||
## Hooks and releases
|
||||
Everything for **building mods**, **FFM plugins**, hooks, CI, and **contributing** lives in one place:
|
||||
|
||||
- [FMF hook naming](./reference/fmf-hook-naming.md) — `FMF.<Domain>.…` and legacy `FFM.*`
|
||||
- [FMF hooks catalog](./reference/fmf-hooks-catalog.md) — generated from core `HookNames.cs`
|
||||
- [Release channels](./reference/release-channels.md) — Steam Workshop vs GitHub (beta)
|
||||
- [MCP server](./reference/mcp-server.md) — optional LLM/IDE tooling over docs + `fmf_hooks.json`
|
||||
**[Developers & contributors →](/wiki/developers)**
|
||||
|
||||
## Layout (contributors)
|
||||
Technical docs follow one stack model: **ModManager (MAUI) → framework / SDK → plugins → mods** — explained in **[System architecture & documentation principles](/wiki/meta/system-architecture-principles)**.
|
||||
|
||||
- [Repo inventory](./contributors/repo-inventory.md) — project and repository overview
|
||||
- Split naming: `gregMod.<Name>`, `gregExt.<Name>`, `gregSta.<Name>` (Rust bridge repo), plus apps like `gregModmanager/`, `gregDataCenterExporter/`, `gregIPAM/`, `gregStore/`
|
||||
|
||||
## Source model
|
||||
|
||||
- **Authoring:** Markdown/MDX lives in the **gregWiki** repository.
|
||||
- **Technical source of truth:** runtime and bridge details come from **gregCore**.
|
||||
- **Rust bridge:** `gregCore/bridges/gregSta.RustBridge/`.
|
||||
Do not use the sidebar’s technical sections unless you are developing — the default view stays short on purpose.
|
||||
|
||||
67
docs/meta/system-architecture-principles.md
Normal file
67
docs/meta/system-architecture-principles.md
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
title: System architecture & documentation principles
|
||||
sidebar_label: Architecture principles
|
||||
description: Canonical stack model (ModManager → Framework → Plugins → Mods), priorities, and how wiki pages should align.
|
||||
---
|
||||
|
||||
# System architecture & documentation principles
|
||||
|
||||
This page is the **canonical reference** for how gregFramework documentation describes the stack: **ModManager (MAUI) → modding framework / SDK → plugins → mods**, plus priorities (stability first), the hook-proxy idea, and **authoring rules**. All wiki content must be written in **English** only.
|
||||
|
||||
Detail pages (individual mods, plugins, releases) should align with this model without repeating the full narrative each time — **link here** for the big picture.
|
||||
|
||||
## Layer model (target architecture)
|
||||
|
||||
Describe the runtime as a **layered system**, not a flat list of DLLs:
|
||||
|
||||
| Layer | Role | Typical workspace artifacts |
|
||||
|--------|--------|------------------------------|
|
||||
| **1. ModManager (front-end)** | UI to enable/disable mods and plugins, ordering, configuration, game state (e.g. no save loaded, level loading). Talks to the framework through **well-defined** interfaces (shared library, config files, IPC, named pipes, HTTP — depending on implementation). | `gregModmanager/` — **Gregtools Modmanager** (MAUI, e.g. `WorkshopUploader.csproj`). |
|
||||
| **2. Modding framework / SDK** | Stable API surface for plugins and mods: lifecycle, events, versioning, dependencies, logging, error handling. Hooks Unity / MelonLoader / IL2CPP and **maps** low-level events to **framework events** (hook proxy). | `gregCore/` — e.g. `FrikaMF`, Harmony integration, bridges (e.g. Rust), hook registry. |
|
||||
| **3. Plugins** | Extend the framework (new services, hook types, optional ModManager UI). Clear extension points. | `FFM.Plugin.*`, repos **`gregExt.<Name>/`**. |
|
||||
| **4. Mods** | User extensions via the **documented** framework API; avoid direct IL2CPP details where possible; load in isolation; soft-fail on errors. | `FMF.*`, repos **`gregMod.<Name>/`**. |
|
||||
|
||||
**Mnemonic:** `ModManager → Framework → Plugins → Mods`.
|
||||
|
||||
### Hook proxy and hotloading (concept)
|
||||
|
||||
- The framework should map **Unity / IL2CPP events** (MelonLoader hooks, patches) to **stable, named framework events** (e.g. level loaded, scene changed, update) so mods do not couple to concrete Unity signatures.
|
||||
- **Hotloading** mods is a target state: load only in **safe** states (e.g. no active save, menu), re-bind on level change — exact rules live in framework code and should appear in technical articles **only** when anchored in the repo.
|
||||
|
||||
These wiki pages do **not** mandate a specific implementation; they **align** authors and readers on the same vocabulary.
|
||||
|
||||
## Technical context (expertise areas)
|
||||
|
||||
Documentation and reviews in the gregFramework space typically assume:
|
||||
|
||||
- **C# / .NET** (modern language features, best practices)
|
||||
- **Unity with IL2CPP**
|
||||
- **MelonLoader** and modular **FMF** / **FFM** stacks
|
||||
- **.NET MAUI** for the ModManager (deployment, installer, release vs debug issues)
|
||||
- Debugging, logging, tracing, crash analysis (including outside the IDE)
|
||||
|
||||
## Priorities (when trade-offs arise)
|
||||
|
||||
When documentation or API design must choose, use this **order**:
|
||||
|
||||
1. **Stability and fault tolerance** — faulty mods must not tear down the whole system arbitrarily; clear error paths and logging.
|
||||
2. **Clean architecture and maintainability** — clear layers, documented interfaces.
|
||||
3. **Developer experience** — understandable APIs, hooks, logging for mod authors.
|
||||
4. **Performance and low invasiveness** toward the game.
|
||||
5. **Extensibility and long-term compatibility** — versioning, dependency rules.
|
||||
|
||||
## Rules for wiki authors
|
||||
|
||||
- **Terminology:** Always name the layer (ModManager, framework, plugin, mod). Do not conflate “plugin” and “mod” without context.
|
||||
- **Language:** **English only** for all user-facing documentation in `docs/`, the homepage, and UI strings in this site.
|
||||
- **Repos:** Keep paths such as `gregCore/`, `gregMod.*`, `gregExt.*`, `gregModmanager/` consistent with the [Workspace map](/wiki/workspace) and [Repository architecture](/wiki/framework/architecture).
|
||||
- **No invented APIs:** New pages must not promise hooks or events that are not evidenced in core/registry — link to [FMF hooks](/wiki/framework/fmf-hooks) and the [Hooks catalog](/wiki/reference/fmf-hooks-catalog).
|
||||
- **Cross-links:** Entry [Developers & contributors](/wiki/developers), architecture [Repository architecture](/wiki/framework/architecture), language rule [Modding language (C# only)](/wiki/reference/modding-language-requirement).
|
||||
|
||||
## See also
|
||||
|
||||
- [Repository architecture](/wiki/framework/architecture) — multi-repo layout, core, bridges
|
||||
- [Getting started](/wiki/getting-started) — workspace and build
|
||||
- [Mods — Framework](/wiki/mods/framework) — runtime from mod authors’ perspective
|
||||
- [Plugins overview](/wiki/plugins/) — `FFM.Plugin.*`
|
||||
- [Mod developers](/wiki/guides/mod-developers/overview)
|
||||
@@ -101,4 +101,4 @@ Output lands in the standard MelonLoader `Mods/` folder as configured in the `.c
|
||||
## Sources
|
||||
|
||||
- Module path: `gregMod.HexLabelMod/`
|
||||
- Relatedocs: [`Standalone Mods`](/wiki/legacy/wiki-import/StandaloneMods)
|
||||
- See also: [Mods overview](/wiki/mods/)
|
||||
|
||||
@@ -5,6 +5,8 @@ sidebar_label: Framework
|
||||
|
||||
**Language:** mod, plugin, and extension **logic must be written in C#** — see [Modding language (C# only)](/wiki/reference/modding-language-requirement).
|
||||
|
||||
**Stack position:** gameplay **mods** sit on top of **plugins** and the **framework SDK**; the **ModManager** (MAUI) is the out-of-game front-end — see [System architecture & documentation principles](/wiki/meta/system-architecture-principles).
|
||||
|
||||
The core `FrikaMF` runtime provides:
|
||||
|
||||
- Harmony patch integration for gameplay hooks
|
||||
|
||||
@@ -6,7 +6,7 @@ description: Standalone MelonLoader gameplay mods (FMF.*) — separate from FFM
|
||||
|
||||
# Gameplay mods
|
||||
|
||||
These pages document **gameplay mods** (`FMF.*` assemblies). **Source of truth** on disk: split-repo folders **`gregMod.<Name>/`** directly under the gregFramework workspace root (not under a legacy `gregMods/` umbrella). They are **not** the same as [FFM plugins](../plugins/index.md), which extend the framework inside the game process.
|
||||
These pages document **gameplay mods** (`FMF.*` assemblies) — **layer 4** in **ModManager → Framework → Plugins → Mods** ([architecture principles](/wiki/meta/system-architecture-principles)). **Source of truth** on disk: split-repo folders **`gregMod.<Name>/`** directly under the gregFramework workspace root (not under a legacy `gregMods/` umbrella). They are **not** the same as [FFM plugins](../plugins/index.md), which extend the framework inside the game process.
|
||||
|
||||
## Mods
|
||||
|
||||
|
||||
@@ -12,4 +12,4 @@ Provides export-focused tooling for asset-related workflows.
|
||||
## Sources
|
||||
|
||||
- Module path: `gregExt.AssetExporter/`
|
||||
- Overview: [`Standalone Mods`](/wiki/legacy/wiki-import/StandaloneMods)
|
||||
- See also: [Mods overview](/wiki/mods/)
|
||||
|
||||
@@ -12,4 +12,4 @@ Contains **multiplayer / networking** runtime (bridge, sync). **Not** the same a
|
||||
## Sources
|
||||
|
||||
- Module path: `gregExt.Multiplayer/`
|
||||
- Roadmap context: [`Steamworks P2P Multiplayer Roadmap`](/wiki/legacy/wiki-import/Steamworks-P2P-Multiplayer-Roadmap)
|
||||
- Roadmap: [Unified roadmap](/wiki/roadmap/unified-roadmap) · [Multiplayer topic](/wiki/topics/multiplayer-and-networking/overview)
|
||||
|
||||
@@ -12,4 +12,4 @@ Hosts standalone player-model specific behavior and integration.
|
||||
## Sources
|
||||
|
||||
- Module path: `gregExt.PlayerModels/`
|
||||
- Debug docs: [`Mod Developer Debug`](/wiki/legacy/wiki-import/Mod-Developer-Debug)
|
||||
- Debug: [Mod developers (hub)](/wiki/guides/mod-developers/overview)
|
||||
|
||||
@@ -12,4 +12,4 @@ Contains **sysadmin-oriented UI** features (Unity UI modernization, mod settings
|
||||
## Sources
|
||||
|
||||
- Module path: `gregExt.Sysadmin/`
|
||||
- Framework context: [`Framework Features & Use Cases`](/wiki/legacy/wiki-import/Framework-Features-Use-Cases)
|
||||
- Framework context: [Framework](/wiki/mods/framework)
|
||||
|
||||
@@ -12,4 +12,4 @@ Focuses on standalone web UI bridge integration flows.
|
||||
## Sources
|
||||
|
||||
- Module path: `gregExt.WebUIBridge/`
|
||||
- Reference: [`Web UI Bridge (DC2WEB)`](/wiki/legacy/wiki-import/Web-UI-Bridge)
|
||||
- Related: [Multiplayer & networking hub](/wiki/topics/multiplayer-and-networking/overview)
|
||||
|
||||
@@ -6,7 +6,7 @@ description: FFM.Plugin.* modules that extend the framework runtime — distinct
|
||||
|
||||
# Framework plugins (`FFM.Plugin.*`)
|
||||
|
||||
These **plugins** ship as `FFM.Plugin.*` assemblies and extend the **framework runtime**. **Source of truth** on disk: one split-repo folder per plugin under the workspace root, named **`gregExt.<Name>/`** (for example `gregExt.AssetExporter/`). Mirrored copies may also exist under `gregCore/plugins/` for solution builds. Deploy built DLLs under the game’s FMF plugin path (see [Game folder layout](/wiki/topics/meta/game-folder-layout)).
|
||||
These **plugins** ship as `FFM.Plugin.*` assemblies and extend the **framework runtime** (layer **3** in **ModManager → Framework → Plugins → Mods** — [architecture principles](/wiki/meta/system-architecture-principles)). **Source of truth** on disk: one split-repo folder per plugin under the workspace root, named **`gregExt.<Name>/`** (for example `gregExt.AssetExporter/`). Mirrored copies may also exist under `gregCore/plugins/` for solution builds. Deploy built DLLs under the game’s FMF plugin path (see [Game folder layout](/wiki/topics/meta/game-folder-layout)).
|
||||
|
||||
Gameplay mods (`FMF.*`) are documented under **[Mods](../mods/index.md)** — not here.
|
||||
|
||||
|
||||
@@ -26,5 +26,6 @@ That applies to anything shipped as a **`gregMod.*`**, **`gregExt.*`**, or **`FF
|
||||
|
||||
## See also
|
||||
|
||||
- [System architecture & documentation principles](/wiki/meta/system-architecture-principles) — stack model and documentation rules
|
||||
- [Framework](/wiki/mods/framework) — runtime surface for mod authors
|
||||
- [FMF hook naming](/wiki/reference/fmf-hook-naming)
|
||||
|
||||
@@ -6,6 +6,8 @@ description: FFI, hook lists, naming — curated reference for mod and plugin au
|
||||
|
||||
# FFI, hooks & Lua
|
||||
|
||||
The framework is intended to act as a **hook proxy**: Unity / IL2CPP events are surfaced as **stable framework events** for mods — see [System architecture & documentation principles](/wiki/meta/system-architecture-principles).
|
||||
|
||||
- [FMF hooks](/wiki/framework/fmf-hooks) — generated hook surface
|
||||
- [FMF hooks catalog](/wiki/reference/fmf-hooks-catalog) — strings from core sources
|
||||
- [FMF hook naming](/wiki/reference/fmf-hook-naming) — `FMF.*` vs legacy `FFM.*`
|
||||
|
||||
@@ -8,6 +8,8 @@ description: Thematic index — cross-cutting overviews (assets, multiplayer, se
|
||||
|
||||
Documentation is **curated** in this repository: guides, framework articles, reference data (hook catalogs), and contributor workflow — versioned with **gregFramework** and **gregWiki**.
|
||||
|
||||
**Stack model:** [System architecture & documentation principles](/wiki/meta/system-architecture-principles) — **ModManager → Framework → Plugins → Mods**, priorities, and author guidelines.
|
||||
|
||||
## Quick map
|
||||
|
||||
| Area | Start here |
|
||||
|
||||
@@ -10,39 +10,39 @@ This page is the **single reference** for where mod-related files live next to t
|
||||
|
||||
## Summary
|
||||
|
||||
| Inhalt | Pfad | Format / Hinweis |
|
||||
|--------|------|------------------|
|
||||
| **Mod-Konfiguration & Sidecars** | `{GameRoot}/UserData/ModCfg/` | **JSON** für Konfigurationsdateien; weitere Sidecar-Dateien (z. B. `custom_employees_hired.txt`) liegen ebenfalls hier, damit alles Mod-Bezogene an einem Ort liegt. |
|
||||
| **FMF Framework-Plugins** (FFM.Plugin.*) | `{GameRoot}/FMF/Plugins/` | DLLs; **MelonLoader** lädt standardmäßig nur `{GameRoot}/Mods` — siehe unten. |
|
||||
| **Plugins** (MelonLoader, z. B. ModPathRedirector) | `{GameRoot}/Plugins/` | MelonLoader `Plugins`-Ordner — nur **MelonPlugin**-DLLs. |
|
||||
| **Mods** (MelonLoader, z. B. FMF.Mod.*) | `{GameRoot}/Mods/` | MelonLoader `Mods`-Ordner — **MelonMod**-DLLs. |
|
||||
| Content | Path | Format / notes |
|
||||
|--------|------|----------------|
|
||||
| **Mod configuration & sidecars** | `{GameRoot}/UserData/ModCfg/` | **JSON** config files; additional sidecar files (e.g. `custom_employees_hired.txt`) live here so mod-related files stay in one place. |
|
||||
| **FMF framework plugins** (FFM.Plugin.*) | `{GameRoot}/FMF/Plugins/` | DLLs; **MelonLoader** only scans `{GameRoot}/Mods` by default — see below. |
|
||||
| **Plugins** (MelonLoader, e.g. ModPathRedirector) | `{GameRoot}/Plugins/` | MelonLoader `Plugins` folder — **MelonPlugin** DLLs only. |
|
||||
| **Mods** (MelonLoader, e.g. FMF.Mod.*) | `{GameRoot}/Mods/` | MelonLoader `Mods` folder — **MelonMod** DLLs. |
|
||||
|
||||
## UserData/ModCfg
|
||||
|
||||
- Alle **mod-relevanten** Konfigurationen und JSON-Sidecars werden unter **`UserData/ModCfg`** geführt.
|
||||
- Beim ersten Start werden fehlende Dateien angelegt; bei bestehenden Installationen werden ältere Dateien aus **`UserData/`** (Root) nach **`ModCfg/`** übernommen, sofern noch vorhanden.
|
||||
- Beispiele: `multiplayer-sync.config.json`, `pluginsync.config.json`.
|
||||
- Framework-Metadaten (z. B. Save-Compat-Stamp) liegen unter **`UserData/ModCfg/FrikaFM/`** (Migration von `UserData/FrikaFM`).
|
||||
- All **mod-related** configuration and JSON sidecars live under **`UserData/ModCfg`**.
|
||||
- On first start, missing files are created; on existing installs, older files may be migrated from **`UserData/`** (root) into **`ModCfg/`** when still present.
|
||||
- Examples: `multiplayer-sync.config.json`, `pluginsync.config.json`.
|
||||
- Framework metadata (e.g. save-compat stamp) lives under **`UserData/ModCfg/FrikaFM/`** (migrated from `UserData/FrikaFM`).
|
||||
|
||||
## FMF/Plugins und MelonLoader
|
||||
## FMF/Plugins and MelonLoader
|
||||
|
||||
**FFM-Plugin-DLLs** liegen kanonisch unter **`{GameRoot}/FMF/Plugins`**. MelonLoader enumeriert **standardmäßig** nur **`Mods/`**. Praktische Optionen:
|
||||
**FFM plugin DLLs** canonically live under **`{GameRoot}/FMF/Plugins`**. MelonLoader enumerates **`Mods/`** by default. Practical options:
|
||||
|
||||
1. **DLLs zusätzlich** (oder verlinkt) **`Mods/`** ablegen — üblicher Weg für automatisches Laden.
|
||||
2. **Unterordner** von `Mods` nutzen, falls eure MelonLoader-Version Mods in Unterverzeichnissen lädt (Version je nach Release prüfen).
|
||||
3. **PluginSync**-Downloads des Frameworks landen unter **`FMF/Plugins/PluginSync/...`**.
|
||||
1. **Also place** (or link) DLLs under **`Mods/`** — common path for automatic loading.
|
||||
2. Use **subfolders** under `Mods` if your MelonLoader version loads mods from subdirectories (check your ML version).
|
||||
3. **PluginSync** downloads from the framework land under **`FMF/Plugins/PluginSync/...`**.
|
||||
|
||||
## Mods (FMF-basiert)
|
||||
## Mods (FMF-based)
|
||||
|
||||
Normale **MelonLoader-Mods** (einschließlich FMF-Mods) werden wie gewohnt in **`{GameRoot}/Mods/`** installiert.
|
||||
Standard **MelonLoader mods** (including FMF-based mods) install under **`{GameRoot}/Mods/`** as usual.
|
||||
|
||||
## Steam Workshop (Spiel) vs. MelonLoader
|
||||
## Steam Workshop (game) vs MelonLoader
|
||||
|
||||
Das Spiel legt abonnierte Workshop-Inhalte unter **`{GameRoot}/{ExeName}_Data/StreamingAssets/mods/workshop_<PublishedFileId>/WorkshopUploadContent`** ab (nativer `ModLoader`, nicht MelonLoader).
|
||||
The game stores subscribed Workshop content under **`{GameRoot}/{ExeName}_Data/StreamingAssets/mods/workshop_<PublishedFileId>/WorkshopUploadContent`** (native `ModLoader`, not MelonLoader).
|
||||
|
||||
- **MelonLoader** durchsucht **`{GameRoot}/Mods`** (inkl. Unterordner, je nach Einstellung), **nicht** beliebige Pfade über `Loader.cfg`.
|
||||
- **UserData:** MelonLoader-Konfiguration liegt unter **`{GameRoot}/UserData/`** (z. B. **`MelonLoader.cfg`** / je nach Version **`UserData/MelonLoader/Loader.cfg`** — bei Install prüfen). Relevant für Unterordner-Laden: **`disable_subfolder_load = false`**, optional **`disable_subfolder_manifest = true`**.
|
||||
- **Workshop-DLLs in den Melon-Scan einbinden:** Junction (oder Symlink) von einem Ordner unter **`Mods/`** auf den **`WorkshopUploadContent`**-Pfad desselben Items, z. B. (PowerShell, Pfade anpassen):
|
||||
- **MelonLoader** scans **`{GameRoot}/Mods`** (including subfolders, depending on settings), **not** arbitrary paths via `Loader.cfg`.
|
||||
- **UserData:** MelonLoader config lives under **`{GameRoot}/UserData/`** (e.g. **`MelonLoader.cfg`** or, depending on version, **`UserData/MelonLoader/Loader.cfg`** — verify on install). For subfolder loading: **`disable_subfolder_load = false`**, optionally **`disable_subfolder_manifest = true`**.
|
||||
- **Point Workshop DLLs into Melon’s scan:** use a junction (or symlink) from a folder under **`Mods/`** to the item’s **`WorkshopUploadContent`** path, e.g. (PowerShell, adjust paths):
|
||||
|
||||
```powershell
|
||||
$game = "C:\Path\To\Data Center"
|
||||
@@ -52,11 +52,11 @@ $link = Join-Path $game "Mods\workshop_$id"
|
||||
cmd /c mklink /J "$link" "$target"
|
||||
```
|
||||
|
||||
Ohne Junction müssen MelonMods weiter physisch unter **`Mods/`** liegen oder über eure Verteilung dort landen.
|
||||
Without a junction, Melon mods must still live physically under **`Mods/`** or be deployed there by your distribution.
|
||||
|
||||
**WorkshopUploader-Vorlagen (modded):** Unter **`content/`** werden **`Mods/`**, **`Plugins/`** und ein **`ModFramework/`**-Baum angelegt — **`ModFramework/FMF/Plugins`** entspricht dabei **`{GameRoot}/FMF/Plugins`**, wenn ihr **`FMF`** per Junction auf **`…/WorkshopUploadContent/ModFramework/FMF`** zeigen lasst. Weitere Framework-Dateien (Konfiguration, Assets) können unter **`ModFramework/`** gebündelt werden.
|
||||
**WorkshopUploader templates (modded):** Under **`content/`**, **`Mods/`**, **`Plugins/`**, and a **`ModFramework/`** tree are created — **`ModFramework/FMF/Plugins`** maps to **`{GameRoot}/FMF/Plugins`** if you junction **`FMF`** to **`…/WorkshopUploadContent/ModFramework/FMF`**. Additional framework files (config, assets) can be bundled under **`ModFramework/`**.
|
||||
|
||||
## Siehe auch
|
||||
## See also
|
||||
|
||||
- [Meta & operations](/wiki/topics/meta/overview)
|
||||
- Mod configuration contracts are described alongside runtime docs in [Framework](/wiki/mods/framework) and core `README` in **gregFramework** (paths under **`UserData/ModCfg/`** follow the game + framework conventions above).
|
||||
- Mod configuration contracts are described with runtime docs in [Framework](/wiki/mods/framework) and the core `README` in **gregFramework** (paths under **`UserData/ModCfg/`** follow the conventions above).
|
||||
|
||||
@@ -13,7 +13,7 @@ The **gregFramework** folder groups several repositories (split layout). Use thi
|
||||
| **Framework core** | `gregCore/` | MelonLoader host (`gregCore/framework/FrikaMF.csproj`), templates, **`gregCore/mcp-server/`**, optional `gregCore/plugins/` mirrors |
|
||||
| **Gameplay mods** | `gregMod.<Name>/` | Standalone mods (`FMF.*`) — **directly under `gregFramework/`** (the `gregMods/` umbrella is deprecated) |
|
||||
| **Framework plugins** | `gregExt.<Name>/` | FFM plugins (`FFM.Plugin.*`) — **directly under `gregFramework/`** (the `gregExtensions/` umbrella is deprecated) |
|
||||
| **Workshop desktop app** | `gregModmanager/` | **Gregtools Modmanager** (MAUI); project file `WorkshopUploader.csproj`, executable **`WorkshopUploader.exe`** |
|
||||
| **ModManager (MAUI)** | `gregModmanager/` | **Gregtools Modmanager** — grafisches Frontend zur Verwaltung von Mods/Plugins; `WorkshopUploader.csproj`, **`WorkshopUploader.exe`**. Siehe [Architecture principles](/wiki/meta/system-architecture-principles). |
|
||||
| **Data Center exporter / assets** | `gregDataCenterExporter/` | Templates, exporter tooling, `FrikaModFramework/fmf_hooks.json` (among copies) |
|
||||
| **Documentation** | `gregWiki/` | This Docusaurus site (`docs/`) |
|
||||
| **Mod store / web (if cloned)** | `gregStore/` | Private Next.js modstore stack (`web/`, …) — optional sibling repo |
|
||||
|
||||
Reference in New Issue
Block a user