chore: sync local workspace changes

This commit is contained in:
Cursor Agent
2026-04-10 04:26:06 +02:00
parent 93c6f31fe4
commit 58c0df760b
25 changed files with 456 additions and 331 deletions

View File

@@ -5,26 +5,26 @@ This folder is the **single source of truth** for the public Docusaurus site. Th
## How content is organized ## How content is organized
| Area | Path | Purpose | | Area | Path | Purpose |
| ------------------ | -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | |------|------|--------|
| **Landing** | [`intro` → `/wiki/docs`](/wiki/docs) | Site home (`/wiki/docs`). | | **Landing** | [`intro` → `/wiki`](/wiki) | Mod author wiki home. |
| **Topics hub** | [`topics/`](./topics/index.md) | Cross-cutting overviews (security, FFI, multiplayer, assets, meta). | | **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.*`). | | **Mods & plugins** | [`mods/`](./mods/), [`plugins/`](./plugins/) | Gameplay mods (`FMF.*`) and framework plugins (`FFM.Plugin.*`). |
| **Releases** | [`releases/`](./releases/) | Per-artifact release notes. | | **Releases** | [`releases/`](./releases/) | Per-artifact release notes. |
| **Reference** | [`reference/`](./reference/) | Hooks, naming, MCP, generated catalogs. | | **Reference** | [`reference/`](./reference/) | Hooks, naming, MCP, generated catalogs. |
| **Contributors** | [`contributors/`](./contributors/) | Repo layout, Docusaurus workflow, design system. | | **Contributors** | [`contributors/`](./contributors/) | Repo layout, Docusaurus workflow, design system. |
| **Guides** | [`guides/`](./guides/players/overview.md) | Role-based paths (players, mod developers, contributors, sponsors). | | **Guides** | [`guides/`](./guides/mod-developers/overview.md) | **Players:** `/players`. Authors: mod developers, contributors, sponsors. |
| **Roadmap** | [`roadmap/`](./roadmap/) | Planning docs. | | **Roadmap** | [`roadmap/`](./roadmap/) | Planning docs. |
| **Meta** | [`meta/`](./meta/) | Workshop, devserver, backlog; [architecture principles](./meta/system-architecture-principles.md) (ModManager → Framework → Plugins → Mods). | | **Meta** | [`meta/`](./meta/) | Workshop, devserver, backlog; [architecture principles](./meta/system-architecture-principles.md) (ModManager → Framework → Plugins → Mods). |
## URLs ## URLs
- Doc id `intro``/wiki/docs` (see front matter). - Doc id `intro``/wiki` (see front matter `slug: /`).
- Most docs → `/wiki/<doc-path>` (e.g. `mods/framework``/wiki/mods/framework`). - Most docs → `/wiki/<doc-path>` (e.g. `mods/framework``/wiki/mods/framework`).
## Scripts (repository root) ## Scripts (repository root)
| Script | Role | | Script | Role |
| --------------------- | ---------------------------------------------- | |--------|------|
| `wiki:sync` | **No-op** (legacy GitHub Wiki mirror removed). | | `wiki:sync` | **No-op** (legacy GitHub Wiki mirror removed). |
| `wiki:normalize-i18n` | **No-op** (same). | | `wiki:normalize-i18n` | **No-op** (same). |
| `wiki:refresh` | Runs both no-ops; safe for old CI hooks. | | `wiki:refresh` | Runs both no-ops; safe for old CI hooks. |

View File

@@ -11,7 +11,7 @@ This page is the **source of truth snapshot** for how the **gregFramework worksp
## Top-level workspace (`gregFramework/`) ## Top-level workspace (`gregFramework/`)
These folders typically sit **next to each other** in a developer workspace (see also [intro](/wiki/docs)): These folders typically sit **next to each other** in a developer workspace (see also [intro](/wiki)):
| Area | Path (on disk) | Role | | Area | Path (on disk) | Role |
|------|----------------|------| |------|----------------|------|
@@ -52,7 +52,7 @@ Documentation is maintained in this repository under `docs/`; historical GitHub
## Build status (framework project) ## Build status (framework project)
- `gregCore/framework/FrikaMF.csproj` does not compile GregModManager; that builds from `gregModmanager/WorkshopUploader.csproj`. - `gregCore/framework/FrikaMF.csproj` does not compile the WorkshopManager app; that builds from `gregModmanager/WorkshopUploader.csproj`.
- `dotnet build` on the framework solution (when present under `gregCore/`) builds core + optional `gregCore/plugins/*`**not** split-repo `gregExt.*` / `gregMod.*` folders unless you add them to the solution. - `dotnet build` on the framework solution (when present under `gregCore/`) builds core + optional `gregCore/plugins/*`**not** split-repo `gregExt.*` / `gregMod.*` folders unless you add them to the solution.
## `FrikaMF.sln` drift (action items) ## `FrikaMF.sln` drift (action items)
@@ -63,7 +63,7 @@ Documentation is maintained in this repository under `docs/`; historical GitHub
## Documentation (Docusaurus) ## Documentation (Docusaurus)
- **Entry**: `/wiki` → [`intro`](/wiki/docs) - **Entry**: `/wiki` → [`intro`](/wiki) · **Players:** `/players`
- **Sidebar**: [`sidebars.js`](https://github.com/mleem97/gregWiki/blob/main/sidebars.js) - **Sidebar**: [`sidebars.js`](https://github.com/mleem97/gregWiki/blob/main/sidebars.js)
- **Module catalog** (downloads table): [`src/data/moduleCatalog.ts`](https://github.com/mleem97/gregWiki/blob/main/src/data/moduleCatalog.ts) - **Module catalog** (downloads table): [`src/data/moduleCatalog.ts`](https://github.com/mleem97/gregWiki/blob/main/src/data/moduleCatalog.ts)
- **Landing**: `/` → [`src/pages/index.tsx`](https://github.com/mleem97/gregWiki/blob/main/src/pages/index.tsx) - **Landing**: `/` → [`src/pages/index.tsx`](https://github.com/mleem97/gregWiki/blob/main/src/pages/index.tsx)

View File

@@ -1,16 +1,16 @@
--- ---
id: developers id: developers
title: Developers & contributors title: Documentation hub
sidebar_label: Developers (hub) sidebar_label: Documentation hub
slug: /developers slug: /developers
description: Technical documentation for mod authors, plugin authors, and repo contributors — hooks, workspace, releases, and internals. description: Technical documentation for mod authors, plugin authors, and repo contributors — hooks, workspace, releases, and internals.
--- ---
# Developers & contributors # Documentation hub
Use this hub if you **build mods or plugins**, work on **framework** code, or contribute to **repositories and docs**. Use this index if you **build mods or plugins**, work on **framework** code, or contribute to **repositories and docs**.
**Players** should use the **short list at the top of the sidebar** (starting with [End users](/wiki/guides/players/overview)) — install, Workshop, troubleshooting. **Players** — install and troubleshooting: **[For players](/players)** (not part of this wiki sidebar).
**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. **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.
@@ -39,7 +39,6 @@ Use this hub if you **build mods or plugins**, work on **framework** code, or co
- [Contributor workshop](/wiki/guides/contributors/contributor-workshop) - [Contributor workshop](/wiki/guides/contributors/contributor-workshop)
- [Release guide](/wiki/guides/contributors/release) - [Release guide](/wiki/guides/contributors/release)
- [Sponsors](/wiki/guides/sponsors/overview) - [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) ## Tools & meta (advanced)
@@ -58,7 +57,7 @@ Use this hub if you **build mods or plugins**, work on **framework** code, or co
- [FMF hook naming](/wiki/reference/fmf-hook-naming) - [FMF hook naming](/wiki/reference/fmf-hook-naming)
- [FMF hooks catalog](/wiki/reference/fmf-hooks-catalog) - [FMF hooks catalog](/wiki/reference/fmf-hooks-catalog)
- [MCP server](/wiki/reference/mcp-server) - [MCP server](/wiki/reference/mcp-server)
- [Release channels](/wiki/reference/release-channels) — same page is linked next to the other player-facing entries - [Release channels](/wiki/reference/release-channels) — where authors publish (Workshop vs GitHub); players see a short summary on [/players](/players)
- [Reference data files](/wiki/reference/reference-data-files) - [Reference data files](/wiki/reference/reference-data-files)
- [Modding language requirement](/wiki/reference/modding-language-requirement) - [Modding language requirement](/wiki/reference/modding-language-requirement)

View File

@@ -25,7 +25,7 @@ Above the raw repositories, the **logical** model is **ModManager → Framework
| ------ | ------ | | ------ | ------ |
| **Wrapper** | `gregFramework/` holds local checkouts of individual repositories. | | **Wrapper** | `gregFramework/` holds local checkouts of individual repositories. |
| **Core** | `gregCore/`**framework core**: translation, hooks, Harmony/event runtime, MCP, templates, and related core features. | | **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/`. | | **Rust / native FFI** | Loads native mod exports inside the **framework** assembly: `gregCore/framework/src/ModLoader/FfiBridge.cs`; Melon host remains **`DataCenterModLoader.Core`** in `Core.cs` (Melon display name **RustBridge**). |
| **Mods** | `gregMod.<Name>/` — one repo each, directly under `gregFramework/`. | | **Mods** | `gregMod.<Name>/` — one repo each, directly under `gregFramework/`. |
| **Extensions** | `gregExt.<Name>/` — one repo each, directly under `gregFramework/`. | | **Extensions** | `gregExt.<Name>/` — one repo each, directly under `gregFramework/`. |
| **Docs** | `gregWiki/` — documentation site repository. | | **Docs** | `gregWiki/` — documentation site repository. |

View File

@@ -29,7 +29,7 @@ Implemented in **`gregCore/Core/GregEventDispatcher.cs`** (`namespace gregFramew
## Rust FFI and numeric events ## Rust FFI and numeric events
Rust mods receive **numeric** event ids; C# maps them via **`EventDispatcher`** / **`GregHookIntegration`** in the **`FrikaMF`** tree so that game and bridge traffic can still surface as **`greg.*`** where integrated. Standalone bridge documentation: `gregCore/bridges/gregSta.RustBridge/README.md`. Rust/native mods receive **numeric** event ids; C# maps them via **`EventDispatcher`** / **`GregHookIntegration`** in **`gregCore/framework/src/ModLoader`** so that game and bridge traffic can still surface as **`greg.*`** where integrated. Native loading is **`FFIBridge`** (`FfiBridge.cs`) in the same tree — there is no separate `gregSta.RustBridge` project.
## MelonLoader entry points (same DLL) ## MelonLoader entry points (same DLL)

View File

@@ -13,9 +13,7 @@ The workspace is **multi-repo** with a local `gregFramework/` folder containing
- `gregDataCenterExporter/` — exporter, templates, hook JSON mirrors - `gregDataCenterExporter/` — exporter, templates, hook JSON mirrors
- `gregWiki/` — this documentation site - `gregWiki/` — this documentation site
The **Rust** bridge lives under: **Rust / native mods** are loaded by the **core** via **`FFIBridge`** (`gregCore/framework/src/ModLoader/FfiBridge.cs`); there is no separate `bridges/gregSta.RustBridge` tree in the workspace anymore.
- `gregCore/bridges/gregSta.RustBridge/`
## Build the core ## Build the core

View File

@@ -12,15 +12,15 @@ This folder is the **single source of truth** for the public Docusaurus site. Th
## How content is organized ## How content is organized
| Area | Path | Purpose | | Area | Path | Purpose |
| ------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | |------|------|--------|
| **Landing** | [`intro` → `/wiki/docs`](/wiki/docs) | Site home. | | **Landing** | [`intro` → `/wiki`](/wiki) | Mod author wiki home (`slug: /`). |
| **Getting started** | [`getting-started.md`](../getting-started.md) | Onboarding (`getting-started`) + this layout page. | | **Getting started** | [`getting-started.md`](../getting-started.md) | Onboarding (`getting-started`) + this layout page. |
| **Workspace** | [`workspace/`](../workspace/index.mdx) | Map of `gregFramework/` repos on disk. | | **Workspace** | [`workspace/`](../workspace/index.mdx) | Map of `gregFramework/` repos on disk. |
| **Framework** | [`framework/`](../framework/architecture.md) | Architecture, hooks, Hexmod. | | **Framework** | [`framework/`](../framework/architecture.md) | Architecture, hooks, Hexmod. |
| **Plugins** | [`plugins/`](../plugins/index.md) | `FFM.Plugin.*` assemblies; repos `gregExt.*` on disk. | | **Plugins** | [`plugins/`](../plugins/index.md) | `FFM.Plugin.*` assemblies; repos `gregExt.*` on disk. |
| **Mods** | [`mods/`](../mods/index.md) | Gameplay mods (`FMF.*`); repos `gregMod.*` on disk. | | **Mods** | [`mods/`](../mods/index.md) | Gameplay mods (`FMF.*`); repos `gregMod.*` on disk. |
| **Tools** | [`tools/`](../tools/workshop-uploader.md) | GregModManager (Gregtools Modmanager / `WorkshopUploader` project). | | **Tools** | [`tools/`](../tools/workshop-uploader.md) | GregModManager (Gregtools Modmanager / `WorkshopUploader` project). |
| **Guides** | [`guides/`](../guides/players/overview.md) | Role-based paths (players, mod developers, contributors, sponsors). | | **Guides** | [`guides/`](../guides/mod-developers/overview.md) | **Players** live on [`/players`](/players); this tree is mod developers, contributors, sponsors. |
| **Releases** | [`releases/`](../releases/index.mdx) | Per-artifact release notes. | | **Releases** | [`releases/`](../releases/index.mdx) | Per-artifact release notes. |
| **Reference** | [`reference/`](../reference/wiki-mapping.md) | Naming, catalogs, MCP, release channels. | | **Reference** | [`reference/`](../reference/wiki-mapping.md) | Naming, catalogs, MCP, release channels. |
| **Contributors** | [`contributors/`](../contributors/repo-inventory.md) | Repo inventory, Docusaurus workflow, design system. | | **Contributors** | [`contributors/`](../contributors/repo-inventory.md) | Repo inventory, Docusaurus workflow, design system. |
@@ -30,7 +30,7 @@ This folder is the **single source of truth** for the public Docusaurus site. Th
## URLs ## URLs
- Doc id `intro``/wiki/docs`. - Doc id `intro``/wiki` (root of the docs plugin).
- Typical doc → `/wiki/<doc-id-path>` (e.g. `mods/framework``/wiki/mods/framework`). - Typical doc → `/wiki/<doc-id-path>` (e.g. `mods/framework``/wiki/mods/framework`).
## Language ## Language

View File

@@ -6,7 +6,7 @@ description: Monorepo layout, design system, Docusaurus workflow, plugin audits.
# Contributors (workflow) # Contributors (workflow)
**Repository contributors** — framework, website, CI, plugins. Role overview (including players, mod developers, sponsors): [By audience](/wiki/guides/players/audiences-overview). **Repository contributors** — framework, website, CI, plugins. **Players** use [/players](/players); mod authors and sponsors have their own guide hubs in the sidebar.
Operational docs for people changing the framework, site, or release pipeline. Operational docs for people changing the framework, site, or release pipeline.

View File

@@ -6,12 +6,11 @@ description: Getting started, mod config, debugging — curated docs for FMF mod
# Mod developers # Mod developers
**Mod authors** — build your own mods (hooks, configuration, debugging). Role overview: [By audience](/wiki/guides/players/audiences-overview). **Mod authors** — build your own mods (hooks, configuration, debugging). **Players** → [/players](/players).
- [Greg hooks showcase](/wiki/guides/mod-developers/greg-hooks-showcase) — sample mod (`GregShowcaseMod`) and `GregPayload` usage - [Greg hooks showcase](/wiki/guides/mod-developers/greg-hooks-showcase) — sample mod (`GregShowcaseMod`) and `GregPayload` usage
- [greg hooks registry (IL2CPP)](/wiki/reference/greg-hooks-registry) — `greg_hooks.json`, regeneration, overlap with `HarmonyPatches`
- [System architecture & documentation principles](/wiki/meta/system-architecture-principles) — layer model **ModManager → Framework → Plugins → Mods**, priorities, wiki rules - [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) - [Getting started](/wiki/getting-started) and [Documentation hub](/wiki/developers)
- [Framework overview](/wiki/mods/framework) — runtime capabilities and repo layout - [Framework overview](/wiki/mods/framework) — runtime capabilities and repo layout
- [FMF hooks](/wiki/framework/fmf-hooks) — hook surface (generated article) - [FMF hooks](/wiki/framework/fmf-hooks) — hook surface (generated article)
- [FMF hook naming](/wiki/reference/fmf-hook-naming) and [hooks catalog](/wiki/reference/fmf-hooks-catalog) - [FMF hook naming](/wiki/reference/fmf-hook-naming) and [hooks catalog](/wiki/reference/fmf-hooks-catalog)

View File

@@ -15,5 +15,5 @@ The community funds infrastructure, tools, and time to maintain documentation an
- **Legal:** [Security & legal](/wiki/topics/security-legal/overview) — binding text lives in the repository, not only in the wiki. - **Legal:** [Security & legal](/wiki/topics/security-legal/overview) — binding text lives in the repository, not only in the wiki.
:::note Audience :::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). This page is for **sponsors and supporters**. Players start at [/players](/players); mod authors at [Mod developers](/wiki/guides/mod-developers/overview); repo contributors at [Contributors (workflow)](/wiki/guides/contributors/topics-overview).
::: :::

View File

@@ -1,29 +1,26 @@
--- ---
id: intro id: intro
title: Documentation title: Mod author wiki
slug: /docs slug: /
description: Help for Data Center players using mods — install, Workshop, troubleshooting. Technical docs for authors are separated. description: Technical documentation for Data Center Simulator mod and plugin authors — gregFramework, hooks, workspace, and releases.
--- ---
# Welcome # Mod author wiki
**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. This site (**`/wiki`**) is for people who **write or maintain mods and plugins**, work on **gregFramework**, or contribute to **repos and documentation**.
## Players — start here **Players**install MelonLoader, browse mods, and get help on the **[For players](/players)** page (`/players`), the **[mod catalog](/mods)**, and Discord.
1. **[End users](/wiki/guides/players/overview)** — install, update, troubleshooting ## Getting started
2. **[GregModManager (players)](/wiki/guides/players/enduser-workshop)** — browse and install mods
3. **[Release channels](/wiki/reference/release-channels)** — Steam Workshop vs GitHub
4. **[GregModManager (full tool reference)](/wiki/tools/workshop-uploader)** — MAUI app: Mod Store, uploads, metadata
[**Mod catalog**](/mods) lists modules with links to docs and downloads. 1. **[Getting started](/wiki/getting-started)** — split-repo layout, build gregCore, hooks and registries
2. **[Documentation layout](/wiki/getting-started/documentation-layout)** — how `docs/` is organised
3. **[Workspace map](/wiki/workspace/)** — folders on disk
## Mod authors, plugins, and repo work Then read **[System architecture & documentation principles](/wiki/meta/system-architecture-principles)** — canonical **Mod Manager → Framework → Plugins → Mods** model.
Everything for **building mods**, **FFM plugins**, hooks, CI, and **contributing** lives in one place: ## Full index
**[Developers & contributors](/wiki/developers)** **[Documentation hub](/wiki/developers)** — complete table of contents: framework, plugins, mods, guides, releases, reference, roadmap.
Technical docs follow one stack model: **ModManager (MAUI) → framework / SDK → plugins → mods** — explained in **[System architecture & documentation principles](/wiki/meta/system-architecture-principles)**. The sidebar matches this wiki: **Getting started** is at the top, then the rest of the author tree.
Do not open **Developers & contributors** unless you are building or maintaining code — the first entries in the sidebar stay short on purpose.

View File

@@ -17,7 +17,7 @@ Describe the runtime as a **layered system**, not a flat list of DLLs:
| Layer | Role | Typical workspace artifacts | | 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`). | | **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. | | **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. `framework/` (`FrikaMF`), Harmony integration, **native FFI** (`FfiBridge`), hook registry. |
| **3. Plugins** | Extend the framework (new services, hook types, optional ModManager UI). Clear extension points. | `FFM.Plugin.*`, repos **`gregExt.<Name>/`**. | | **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>/`**. | | **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>/`**. |
@@ -60,7 +60,7 @@ When documentation or API design must choose, use this **order**:
## See also ## See also
- [Repository architecture](/wiki/framework/architecture) — multi-repo layout, core, bridges - [Repository architecture](/wiki/framework/architecture) — multi-repo layout and core
- [Getting started](/wiki/getting-started) — workspace and build - [Getting started](/wiki/getting-started) — workspace and build
- [Mods — Framework](/wiki/mods/framework) — runtime from mod authors perspective - [Mods — Framework](/wiki/mods/framework) — runtime from mod authors perspective
- [Plugins overview](/wiki/plugins/) — `FFM.Plugin.*` - [Plugins overview](/wiki/plugins/) — `FFM.Plugin.*`

View File

@@ -110,7 +110,7 @@ Unknown event ids resolve to ``greg.SYSTEM.UnmappedNativeEvent`` via ``GregNativ
## See also ## See also
- [greg hook naming](./greg-hook-naming.md) - [greg hooks registry](./greg-hooks-registry.md)
- [EventIds source](https://github.com/mleem97/gregFramework/blob/main/gregCore/framework/src/ModLoader/EventDispatcher.cs) - [EventIds source](https://github.com/mleem97/gregFramework/blob/main/gregCore/framework/src/ModLoader/EventDispatcher.cs)
- [GregNativeEventHooks source](https://github.com/mleem97/gregFramework/blob/main/gregCore/framework/src/Sdk/GregNativeEventHooks.cs) - [GregNativeEventHooks source](https://github.com/mleem97/gregFramework/blob/main/gregCore/framework/src/Sdk/GregNativeEventHooks.cs)
- [Greg hooks & event runtime](/wiki/framework/greg-hooks-and-events) - [Greg hooks & event runtime](/wiki/framework/greg-hooks-and-events)

View File

@@ -20,7 +20,7 @@ That applies to anything shipped as a **`gregMod.*`**, **`gregExt.*`**, or **`FF
## What this does *not* restrict ## What this does *not* restrict
- **Framework core** (`gregCore`) may still contain **non-C#** components maintained by core maintainers (for example the **Rust** FFI bridge under `gregCore/bridges/gregSta.RustBridge/`, build scripts, or tooling). Those are **not** substitutes for implementing mod/plugin/extension behavior outside C#. - **Framework core** (`gregCore`) may still ship **native** loading paths maintained by core maintainers (Rust/other natives als **vorkompilierte** `.dll`/`.greg`/…-Module, geladen über **`FFIBridge`** in `gregCore/framework/src/ModLoader/`), plus build scripts and tooling. Those are **not** substitutes for implementing mod/plugin/extension **logic** outside C#.
- **Documentation**, **config** (JSON/YAML), and **assets** are not “logic” in this sense. - **Documentation**, **config** (JSON/YAML), and **assets** are not “logic” in this sense.
- **gregStore**, **gregWiki**, and other nonin-game stacks may use other languages as appropriate. - **gregStore**, **gregWiki**, and other nonin-game stacks may use other languages as appropriate.

View File

@@ -34,7 +34,7 @@ Push tag **`gregtools-modmanager-v1.0.0`** on `main` (or run the workflow manual
## Documentation ## Documentation
- [Workshop uploader (full guide)](/wiki/tools/workshop-uploader) - [Workshop uploader (full guide)](/wiki/tools/workshop-uploader)
- [End-user Workshop guide](/wiki/guides/players/enduser-workshop) - [For players](/players)
- Open-source and third-party components: [`gregModmanager/EXTERNAL_DEPENDENCIES.md`](https://github.com/mleem97/gregFramework/blob/main/gregModmanager/EXTERNAL_DEPENDENCIES.md) in the repository - Open-source and third-party components: [`gregModmanager/EXTERNAL_DEPENDENCIES.md`](https://github.com/mleem97/gregFramework/blob/main/gregModmanager/EXTERNAL_DEPENDENCIES.md) in the repository
## Scope of 1.0 ## Scope of 1.0

View File

@@ -750,6 +750,6 @@ Yes. Browse or search for mods, then click **Subscribe**. Steam will download th
## See also ## See also
- Repository README: [`gregModmanager/README.md`](https://github.com/mleem97/gregFramework/blob/main/gregModmanager/README.md) (product **Gregtools Modmanager**; `WorkshopUploader.csproj`) - Repository README: [`gregModmanager/README.md`](https://github.com/mleem97/gregFramework/blob/main/gregModmanager/README.md) (product **Gregtools Modmanager**; `WorkshopUploader.csproj`)
- [End-User Guide](/wiki/guides/players/enduser-workshop) - [For players](/players) (install, Mod Manager, Workshop)
- [Contributor Guide](/wiki/guides/contributors/contributor-workshop) - [Contributor Guide](/wiki/guides/contributors/contributor-workshop)
- [Release](/wiki/guides/contributors/release) - [Release](/wiki/guides/contributors/release)

View File

@@ -14,9 +14,9 @@ Documentation is **curated** in this repository: guides, framework articles, ref
| Area | Start here | | Area | Start here |
|------|------------| |------|------------|
| **Roles** | [By audience](/wiki/guides/players/audiences-overview) — [End users](/wiki/guides/players/overview), [Mod developers](/wiki/guides/mod-developers/overview), [Contributors (workflow)](/wiki/guides/contributors/topics-overview), [Sponsors](/wiki/guides/sponsors/overview) | | **Roles** | **Players:** [/players](/players) · **Mod authors:** [Mod developers](/wiki/guides/mod-developers/overview) · **Contributors:** [Contributor topics](/wiki/guides/contributors/topics-overview) · **Sponsors:** [Sponsors](/wiki/guides/sponsors/overview) |
| **Experience paths** | [Newbies](/wiki/audiences/newbies) · [Intermediates](/wiki/audiences/intermediates) · [Professionals](/wiki/audiences/professionals) | | **Experience paths** | Player install help is on [/players](/players); author depth lives under [Getting started](/wiki/getting-started) and the [Documentation hub](/wiki/developers). |
| **Technical reference** | [Reference & technical](/wiki/topics/reference/overview) — includes [greg IL2CPP hook registry](/wiki/reference/greg-hooks-registry) | | **Technical reference** | [Reference & technical](/wiki/topics/reference/overview) |
| **Ship planning** | [Roadmap & planning](/wiki/topics/roadmap/overview) | | **Ship planning** | [Roadmap & planning](/wiki/topics/roadmap/overview) |
| **Repository inventory** | [Repo inventory](/wiki/contributors/repo-inventory) | | **Repository inventory** | [Repo inventory](/wiki/contributors/repo-inventory) |
| **Steam, betas, backlog, game paths** | [Meta & operations](/wiki/topics/meta/overview) — [Game folder layout](/wiki/topics/meta/game-folder-layout) | | **Steam, betas, backlog, game paths** | [Meta & operations](/wiki/topics/meta/overview) — [Game folder layout](/wiki/topics/meta/game-folder-layout) |
@@ -27,7 +27,7 @@ Documentation is **curated** in this repository: guides, framework articles, ref
- [FFI, hooks & Lua](/wiki/topics/ffi-and-hooks/overview) - [FFI, hooks & Lua](/wiki/topics/ffi-and-hooks/overview)
- [Multiplayer & networking](/wiki/topics/multiplayer-and-networking/overview) - [Multiplayer & networking](/wiki/topics/multiplayer-and-networking/overview)
- [Assets & export](/wiki/topics/assets-and-export/overview) - [Assets & export](/wiki/topics/assets-and-export/overview)
- [End users](/wiki/guides/players/overview) - [For players](/players)
- [Mod developers](/wiki/guides/mod-developers/overview) - [Mod developers](/wiki/guides/mod-developers/overview)
## Releases vs. articles ## Releases vs. articles

View File

@@ -23,6 +23,6 @@ The **gregFramework** folder groups several repositories (split layout). Use thi
| **Examples** | `exGregFramework/` | Example / bootstrap layout | | **Examples** | `exGregFramework/` | Example / bootstrap layout |
| **Helper** | `siblingRepos/` | Scripts to clone related repos | | **Helper** | `siblingRepos/` | Scripts to clone related repos |
**Rust FFI bridge:** `gregCore/bridges/gregSta.RustBridge/` (not under a separate `DataCenter-RustBridge` top-level folder). **Rust / native FFI:** implementiert im **Framework-Core** (`gregCore/framework/src/ModLoader/FfiBridge.cs`, zusammen mit `Core.cs`).
**Detailed inventory** (paths, `.csproj`, hooks): [Repository inventory](../contributors/repo-inventory). **Detailed inventory** (paths, `.csproj`, hooks): [Repository inventory](../contributors/repo-inventory).

View File

@@ -2,7 +2,7 @@
const config = { const config = {
title: 'gregFramework', title: 'gregFramework',
tagline: 'Documentation for Data Center Simulator mods: player guides, catalog, and author references.', tagline: 'Mod-author documentation for Data Center Simulator; players use /players and the mod catalog.',
favicon: 'img/logo.svg', favicon: 'img/logo.svg',
url: 'https://frikadellental.de', url: 'https://frikadellental.de',
baseUrl: '/', baseUrl: '/',
@@ -37,6 +37,8 @@ const config = {
path: 'docs', path: 'docs',
sidebarPath: require.resolve('./sidebars.js'), sidebarPath: require.resolve('./sidebars.js'),
routeBasePath: '/wiki', routeBasePath: '/wiki',
/** Player help lives on /players; keep sources in repo but do not publish duplicate routes. */
exclude: ['**/guides/players/**'],
editUrl: 'https://github.com/mleem97/gregWiki/tree/main/docs/', editUrl: 'https://github.com/mleem97/gregWiki/tree/main/docs/',
}, },
blog: false, blog: false,
@@ -53,24 +55,14 @@ const config = {
'@docusaurus/plugin-client-redirects', '@docusaurus/plugin-client-redirects',
{ {
createRedirects(existingPath) { createRedirects(existingPath) {
if (existingPath === '/wiki/docs') {
return ['/docs'];
}
const redirectsToHere = { const redirectsToHere = {
'/wiki/framework/architecture': ['/wiki/architecture'], '/wiki/framework/architecture': ['/wiki/architecture'],
'/wiki/framework/fmf-hooks': ['/wiki/fmf-hooks'], '/wiki/framework/fmf-hooks': ['/wiki/fmf-hooks'],
'/wiki/framework/hexmod': ['/wiki/hexmod'], '/wiki/framework/hexmod': ['/wiki/hexmod'],
'/wiki/tools/workshop-uploader': ['/wiki/workshop-uploader'], '/wiki/tools/workshop-uploader': ['/wiki/workshop-uploader'],
'/wiki/getting-started/documentation-layout': ['/wiki/README'], '/wiki/getting-started/documentation-layout': ['/wiki/README'],
'/wiki/guides/players/newbies': ['/wiki/audiences/newbies'],
'/wiki/guides/players/intermediates': ['/wiki/audiences/intermediates'],
'/wiki/guides/players/professionals': ['/wiki/audiences/professionals'],
'/wiki/guides/players/audiences-overview': ['/wiki/topics/audiences/overview'],
'/wiki/guides/players/overview': ['/wiki/topics/end-user/overview'],
'/wiki/guides/mod-developers/overview': ['/wiki/topics/mod-developers/overview'], '/wiki/guides/mod-developers/overview': ['/wiki/topics/mod-developers/overview'],
'/wiki/guides/sponsors/overview': ['/wiki/topics/sponsors/overview'], '/wiki/guides/sponsors/overview': ['/wiki/topics/sponsors/overview'],
'/wiki/guides/players/enduser-workshop': ['/wiki/guides/enduser-workshop'],
'/wiki/guides/contributors/contributor-workshop': ['/wiki/guides/contributor-workshop'], '/wiki/guides/contributors/contributor-workshop': ['/wiki/guides/contributor-workshop'],
'/wiki/guides/contributors/release': ['/wiki/guides/release'], '/wiki/guides/contributors/release': ['/wiki/guides/release'],
'/wiki/guides/contributors/topics-overview': ['/wiki/topics/contributors/overview'], '/wiki/guides/contributors/topics-overview': ['/wiki/topics/contributors/overview'],
@@ -103,17 +95,33 @@ const config = {
}, },
redirects: [ redirects: [
{ {
to: '/wiki/docs', to: '/wiki',
from: [ from: [
'/wiki/docs',
'/wiki/legacy/wiki-import/Home', '/wiki/legacy/wiki-import/Home',
'/wiki/wiki-import/Home', '/wiki/wiki-import/Home',
'/wiki/legacy/wiki-import', '/wiki/legacy/wiki-import',
'/wiki/wiki-import', '/wiki/wiki-import',
'/docs',
], ],
}, },
{ {
to: '/wiki/guides/players/overview', to: '/players',
from: ['/wiki/legacy/wiki-import/EndUser/', '/wiki/wiki-import/EndUser/'], from: [
'/wiki/legacy/wiki-import/EndUser/',
'/wiki/wiki-import/EndUser/',
'/wiki/guides/players/overview',
'/wiki/guides/players/enduser-workshop',
'/wiki/guides/players/audiences-overview',
'/wiki/guides/players/newbies',
'/wiki/guides/players/intermediates',
'/wiki/guides/players/professionals',
'/wiki/guides/enduser-workshop',
'/wiki/topics/end-user/overview',
'/wiki/audiences/newbies',
'/wiki/audiences/intermediates',
'/wiki/audiences/professionals',
],
}, },
{ {
to: '/wiki/guides/mod-developers/overview', to: '/wiki/guides/mod-developers/overview',
@@ -202,13 +210,14 @@ const config = {
style: 'dark', style: 'dark',
items: [ items: [
{to: '/', label: 'Home', position: 'left'}, {to: '/', label: 'Home', position: 'left'},
{to: '/players', label: 'For players', position: 'left'},
{ {
label: 'Docs', label: 'Mod wiki',
position: 'left', position: 'left',
items: [ items: [
{to: '/wiki', label: 'Overview'}, {to: '/wiki', label: 'Wiki home'},
{to: '/wiki/guides/players/overview', label: 'For players'}, {to: '/wiki/getting-started', label: 'Getting started'},
{to: '/wiki/developers', label: 'Developers'}, {to: '/wiki/developers', label: 'Documentation hub'},
{to: '/mods', label: 'Mod catalog'}, {to: '/mods', label: 'Mod catalog'},
], ],
}, },
@@ -224,9 +233,10 @@ const config = {
{ {
title: 'Wiki', title: 'Wiki',
items: [ items: [
{label: 'Home', to: '/wiki'}, {label: 'Wiki home', to: '/wiki'},
{label: 'For players', to: '/wiki/guides/players/overview'}, {label: 'Getting started', to: '/wiki/getting-started'},
{label: 'Developers', to: '/wiki/developers'}, {label: 'Documentation hub', to: '/wiki/developers'},
{label: 'For players', to: '/players'},
], ],
}, },
{ {

View File

@@ -1,29 +1,20 @@
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
/** Mod-author wiki only — player help lives at /players */
const sidebars = { const sidebars = {
docs: [ docs: [
'intro', 'intro',
'guides/players/overview',
'guides/players/enduser-workshop',
'guides/players/audiences-overview',
'guides/players/newbies',
'guides/players/intermediates',
'guides/players/professionals',
'reference/release-channels',
'tools/workshop-uploader',
{ {
type: 'category', type: 'category',
label: 'Developers & contributors', label: 'Getting started',
collapsed: true, collapsed: false,
link: {type: 'doc', id: 'developers'}, items: ['getting-started', 'getting-started/documentation-layout', 'workspace/index'],
items: [ },
'developers', 'developers',
'meta/system-architecture-principles', 'meta/system-architecture-principles',
'getting-started',
'getting-started/documentation-layout',
'workspace/index',
{ {
type: 'category', type: 'category',
label: 'Framework', label: 'Framework',
collapsed: true,
items: [ items: [
'framework/architecture', 'framework/architecture',
'framework/greg-hooks-and-events', 'framework/greg-hooks-and-events',
@@ -34,6 +25,7 @@ const sidebars = {
{ {
type: 'category', type: 'category',
label: 'Plugins (FFM)', label: 'Plugins (FFM)',
collapsed: true,
items: [ items: [
'plugins/index', 'plugins/index',
'plugins/ffm-plugin-asset-exporter', 'plugins/ffm-plugin-asset-exporter',
@@ -47,6 +39,7 @@ const sidebars = {
type: 'category', type: 'category',
label: 'Mods (FMF)', label: 'Mods (FMF)',
link: {type: 'doc', id: 'mods/index'}, link: {type: 'doc', id: 'mods/index'},
collapsed: true,
items: [ items: [
'mods/index', 'mods/index',
'mods/framework', 'mods/framework',
@@ -60,19 +53,23 @@ const sidebars = {
{ {
type: 'category', type: 'category',
label: 'Tools & operations', label: 'Tools & operations',
items: ['meta/Steam-Workshop-and-Tooling', 'meta/devserver-betas', 'meta/IDEA_BACKLOG'], collapsed: true,
items: [
'tools/workshop-uploader',
'meta/Steam-Workshop-and-Tooling',
'meta/devserver-betas',
'meta/IDEA_BACKLOG',
],
}, },
{ {
type: 'category', type: 'category',
label: 'Guides', label: 'Guides',
collapsed: true,
items: [ items: [
{ {
type: 'category', type: 'category',
label: 'Mod developers', label: 'Mod developers',
items: [ items: ['guides/mod-developers/overview', 'guides/mod-developers/greg-hooks-showcase'],
'guides/mod-developers/overview',
'guides/mod-developers/greg-hooks-showcase',
],
}, },
{ {
type: 'category', type: 'category',
@@ -94,6 +91,7 @@ const sidebars = {
type: 'category', type: 'category',
label: 'Releases', label: 'Releases',
link: {type: 'doc', id: 'releases/index'}, link: {type: 'doc', id: 'releases/index'},
collapsed: true,
items: [ items: [
{ {
type: 'category', type: 'category',
@@ -128,11 +126,15 @@ const sidebars = {
{ {
type: 'category', type: 'category',
label: 'Reference', label: 'Reference',
collapsed: true,
items: [ items: [
'reference/release-channels',
'reference/wiki-mapping', 'reference/wiki-mapping',
'reference/mod-store-vision', 'reference/mod-store-vision',
'reference/fmf-hook-naming', 'reference/fmf-hook-naming',
'reference/fmf-hooks-catalog', 'reference/fmf-hooks-catalog',
'reference/greg-hooks-catalog',
'reference/greg-hooks-registry',
'reference/mcp-server', 'reference/mcp-server',
'reference/reference-data-files', 'reference/reference-data-files',
'reference/modding-language-requirement', 'reference/modding-language-requirement',
@@ -141,6 +143,7 @@ const sidebars = {
{ {
type: 'category', type: 'category',
label: 'Contributors (workflow)', label: 'Contributors (workflow)',
collapsed: true,
items: [ items: [
'contributors/repo-inventory', 'contributors/repo-inventory',
'contributors/monorepo-target-layout', 'contributors/monorepo-target-layout',
@@ -153,12 +156,14 @@ const sidebars = {
{ {
type: 'category', type: 'category',
label: 'Roadmap', label: 'Roadmap',
collapsed: true,
items: ['roadmap/unified-roadmap', 'roadmap/mod-store-stages'], items: ['roadmap/unified-roadmap', 'roadmap/mod-store-stages'],
}, },
{ {
type: 'category', type: 'category',
label: 'Topics hub', label: 'Topics hub',
link: {type: 'doc', id: 'topics/index'}, link: {type: 'doc', id: 'topics/index'},
collapsed: true,
items: [ items: [
'topics/index', 'topics/index',
{ {
@@ -179,8 +184,6 @@ const sidebars = {
}, },
'SPONSORS', 'SPONSORS',
], ],
},
],
}; };
module.exports = sidebars; module.exports = sidebars;

View File

@@ -5,10 +5,9 @@ export const en: HomepageContent = {
...homepageShellEn, ...homepageShellEn,
heroLine1: 'Play with mods.', heroLine1: 'Play with mods.',
heroLine2: 'Ship with confidence.', heroLine2: 'Ship with confidence.',
heroSub1: heroSub1: 'Players use /players and the mod catalog — install, Workshop, and common fixes.',
'Player guides cover install, Workshop, and common fixes—without engine deep dives.', heroSub2: 'Authors use /wiki: Getting started, Documentation hub, hooks, and repo layout.',
heroSub2: 'Authors get hooks, APIs, and repo layout under Developers in the wiki.', ctaStart: 'For players',
ctaStart: 'Player guides',
ctaMods: 'Mod catalog', ctaMods: 'Mod catalog',
ctaModManager: 'Download Greg Mod Manager', ctaModManager: 'Download Greg Mod Manager',
modManagerSectionTitle: 'Greg Mod Manager', modManagerSectionTitle: 'Greg Mod Manager',
@@ -24,10 +23,10 @@ export const en: HomepageContent = {
'Community', 'Community',
], ],
featureDescriptions: [ featureDescriptions: [
'Step-by-step install and troubleshooting. No repository jargon on day one.', 'Step-by-step help on /players — no author wiki required.',
'Greg Mod Manager and the release-channels page explain where mods are published.', 'Greg Mod Manager and release channels explain where mods are published.',
'Short paths for players; technical depth lives under Developers.', 'The mod wiki (/wiki) is for authors; structure starts with Getting started.',
'Discord and GitHub for supportdig into gregCore only when you need to.', 'Discord and GitHub for supportdig into gregCore when you build mods.',
], ],
comingSoon: 'Coming soon', comingSoon: 'Coming soon',
comingSoonText: comingSoonText:

View File

@@ -1,30 +1,25 @@
import type {HomepageContent, HomepageDocLink} from './types'; import type {HomepageContent, HomepageDocLink} from './types';
/** Player-facing wiki entry points */ /** Primary entry points from the homepage */
export const sharedKnowledgeLinksEn: HomepageDocLink[] = [ export const sharedKnowledgeLinksEn: HomepageDocLink[] = [
{ {
title: 'Wiki home', title: 'For players',
description: 'Overview: players, authors, and where each topic lives.', description: 'MelonLoader, Greg Mod Manager, Workshop, troubleshooting — separate from the author wiki.',
link: '/players',
},
{
title: 'Mod author wiki',
description: 'Getting started, hooks, plugins, mods, and reference (this is /wiki).',
link: '/wiki', link: '/wiki',
}, },
{
title: 'Player guides',
description: 'Install mods, updates, troubleshooting, and FAQs.',
link: '/wiki/guides/players/overview',
},
{
title: 'Greg Mod Manager',
description: 'Desktop app for the Workshop: browse, install, and manage mods.',
link: '/wiki/guides/players/enduser-workshop',
},
{ {
title: 'Release channels', title: 'Release channels',
description: 'Where builds come from: Steam Workshop and GitHub.', description: 'Where builds ship: Steam Workshop and GitHub Releases.',
link: '/wiki/reference/release-channels', link: '/wiki/reference/release-channels',
}, },
{ {
title: 'Mod catalog', title: 'Mod catalog',
description: 'Listings with docs, versions, and download links.', description: 'Modules with docs, versions, and download links.',
link: '/mods', link: '/mods',
}, },
]; ];
@@ -32,8 +27,13 @@ export const sharedKnowledgeLinksEn: HomepageDocLink[] = [
/** Authors and repo contributors */ /** Authors and repo contributors */
export const sharedWorkflowLinksEn: HomepageDocLink[] = [ export const sharedWorkflowLinksEn: HomepageDocLink[] = [
{ {
title: 'Developers hub', title: 'Getting started',
description: 'Framework, hooks, plugins, reference material, and roadmap.', description: 'Workspace layout, build gregCore, hooks and registries.',
link: '/wiki/getting-started',
},
{
title: 'Documentation hub',
description: 'Full index: framework, plugins, mods, releases, roadmap.',
link: '/wiki/developers', link: '/wiki/developers',
}, },
{ {
@@ -73,7 +73,7 @@ export const homepageShellEn: Pick<
workflowSectionTitle: 'For authors and contributors', workflowSectionTitle: 'For authors and contributors',
codeSectionTitle: 'How mods connect to the game', codeSectionTitle: 'How mods connect to the game',
codeSectionLead: codeSectionLead:
'Mods use MelonLoader and Harmony. gregCore turns game methods into stable greg.* events your code can subscribe to—details are under Developers.', 'Mods use MelonLoader and Harmony. gregCore turns game methods into stable greg.* events your code can subscribe to — see the mod author wiki and Documentation hub.',
codeSnippetCaption: 'Random excerpt from gregCore', codeSnippetCaption: 'Random excerpt from gregCore',
codeSnippetLoading: 'Loading code sample…', codeSnippetLoading: 'Loading code sample…',
codeSectionBullets: [ codeSectionBullets: [

View File

@@ -101,7 +101,7 @@ export default function HomePage(): JSX.Element {
return ( return (
<Layout <Layout
title="Home" title="Home"
description="gregFramework documentation: player guides, mod catalog, and developer references for Data Center Simulator." description="gregFramework: player help at /players, mod catalog, and mod-author wiki at /wiki for Data Center Simulator."
> >
<main className="bg-background text-on-surface font-sans min-h-screen editorial-bleed bg-hero-gradient"> <main className="bg-background text-on-surface font-sans min-h-screen editorial-bleed bg-hero-gradient">
<section className="hero-motion-wrap relative flex min-h-[72vh] flex-col items-center justify-center overflow-hidden px-4 py-24 text-center"> <section className="hero-motion-wrap relative flex min-h-[72vh] flex-col items-center justify-center overflow-hidden px-4 py-24 text-center">
@@ -169,10 +169,7 @@ export default function HomePage(): JSX.Element {
variants={variants.textReveal} variants={variants.textReveal}
transition={{delay: reducedMotion ? 0 : 0.22}} transition={{delay: reducedMotion ? 0 : 0.22}}
> >
<Link <Link to="/players" className="btn-primary hero-glow rounded-lg px-8 py-4 text-lg md:px-10">
to="/wiki/guides/players/overview"
className="btn-primary hero-glow rounded-lg px-8 py-4 text-lg md:px-10"
>
{t.ctaStart} {t.ctaStart}
</Link> </Link>
<Link to="/mods" className="btn-outline rounded-lg px-8 py-4 text-lg md:px-10"> <Link to="/mods" className="btn-outline rounded-lg px-8 py-4 text-lg md:px-10">

148
src/pages/players.tsx Normal file
View File

@@ -0,0 +1,148 @@
import React from 'react';
import Layout from '@theme/Layout';
import Link from '@docusaurus/Link';
const GREG_MODMANAGER_LATEST =
'https://github.com/mleem97/GregToolsModmanager/releases/latest';
const STEAM_STORE = 'https://store.steampowered.com/app/4170200/';
const STEAM_WORKSHOP = 'https://steamcommunity.com/workshop/browse/?appid=4170200';
export default function PlayersPage(): JSX.Element {
return (
<Layout
title="For players"
description="Install and use Data Center Simulator mods: MelonLoader, Greg Mod Manager, Workshop, and troubleshooting."
>
<main className="bg-background text-on-surface mx-auto max-w-3xl px-4 py-16 font-sans">
<p className="mb-2 text-sm font-semibold uppercase tracking-wider text-primary">
Not for mod authors
</p>
<h1 className="mb-4 font-headline text-4xl font-bold tracking-tight">
Playing with mods
</h1>
<p className="mb-10 text-lg leading-relaxed text-on-surface-variant">
This page is for <strong>players</strong> who install and run mods. Technical documentation
for writing mods is in the{' '}
<Link to="/wiki" className="text-primary underline-offset-2 hover:underline">
mod author wiki
</Link>{' '}
(<code className="text-sm">/wiki</code>).
</p>
<section id="requirements" className="mb-12 scroll-mt-20">
<h2 className="mb-3 font-headline text-2xl font-bold">What you need</h2>
<ul className="list-inside list-disc space-y-2 text-on-surface-variant">
<li>
<a href={STEAM_STORE} className="text-primary hover:underline">
Data Center Simulator
</a>{' '}
on Steam (AppID 4170200)
</li>
<li>Steam running and logged in for Workshop items</li>
<li>
<strong>MelonLoader</strong> (IL2CPP) required for almost all mods; install once per game
</li>
</ul>
</section>
<section id="melonloader" className="mb-12 scroll-mt-20">
<h2 className="mb-3 font-headline text-2xl font-bold">MelonLoader</h2>
<ol className="list-inside list-decimal space-y-2 text-on-surface-variant">
<li>Download the latest MelonLoader installer from the official MelonLoader GitHub.</li>
<li>Run it, select <strong>Data Center Simulator</strong>, choose the <strong>IL2CPP</strong> profile.</li>
<li>Start the game once and exit so interop assemblies are generated.</li>
<li>If something fails, check <code className="text-sm">MelonLoader/Latest.log</code> in the game folder.</li>
</ol>
<p className="mt-4 text-sm text-on-surface-variant">
<strong>Greg Mod Manager</strong> includes a Health tab that checks MelonLoader and related
folders useful if a mod does not load.
</p>
</section>
<section id="mod-manager" className="mb-12 scroll-mt-20">
<h2 className="mb-3 font-headline text-2xl font-bold">Greg Mod Manager</h2>
<p className="mb-4 leading-relaxed text-on-surface-variant">
Desktop app (release builds may still ship as <code className="text-sm">WorkshopUploader.exe</code>)
for browsing the in-app mod store, subscribing via Steam, and checking dependency health.
</p>
<a
href={GREG_MODMANAGER_LATEST}
target="_blank"
rel="noopener noreferrer"
className="btn-primary inline-block rounded-lg px-6 py-3 font-semibold"
>
Download latest release
</a>
<p className="mt-3 text-sm text-on-surface-variant">
Uses GitHubs <code className="text-sm">/releases/latest</code> redirect so the link always
points at the newest build.
</p>
</section>
<section id="workshop" className="mb-12 scroll-mt-20">
<h2 className="mb-3 font-headline text-2xl font-bold">Steam Workshop</h2>
<p className="mb-4 leading-relaxed text-on-surface-variant">
Most public mods are published on the{' '}
<a href={STEAM_WORKSHOP} className="text-primary hover:underline">
Steam Workshop
</a>
. Subscribe in Steam or via Greg Mod Manager; Steam keeps items updated.
</p>
</section>
<section id="releases" className="mb-12 scroll-mt-20">
<h2 className="mb-3 font-headline text-2xl font-bold">Steam vs GitHub</h2>
<p className="leading-relaxed text-on-surface-variant">
<strong>Workshop</strong> is the usual place for stable, discoverable releases.{' '}
<strong>GitHub Releases</strong> are often used for betas or direct DLL downloads. Mod
authors document where each build is published on the{' '}
<Link to="/mods" className="text-primary hover:underline">
mod catalog
</Link>{' '}
and in the author wiki.
</p>
</section>
<section id="catalog" className="mb-12 scroll-mt-20">
<h2 className="mb-3 font-headline text-2xl font-bold">Mod catalog</h2>
<p className="mb-4 leading-relaxed text-on-surface-variant">
Browse modules with short descriptions and links to docs and downloads.
</p>
<Link to="/mods" className="btn-outline inline-block rounded-lg px-6 py-3 font-semibold">
Open mod catalog
</Link>
</section>
<section id="help" className="mb-12 scroll-mt-20 rounded-xl border border-outline-variant/20 bg-surface-container-high p-6">
<h2 className="mb-3 font-headline text-2xl font-bold">Help</h2>
<p className="mb-4 text-on-surface-variant">
For install issues, crashes, or compatibility questions, ask on Discord. For bugs in a
specific mod, use the link on its catalog or Workshop page.
</p>
<Link
to="https://discord.gg/greg"
className="btn-primary inline-flex rounded-lg px-6 py-3 font-semibold"
>
Discord
</Link>
</section>
<section className="border-t border-outline-variant/20 pt-10">
<h2 className="mb-3 font-headline text-xl font-bold">Writing mods?</h2>
<p className="mb-4 text-on-surface-variant">
Use the wiki under <Link to="/wiki">/wiki</Link>: start with{' '}
<Link to="/wiki/getting-started" className="text-primary hover:underline">
Getting started
</Link>{' '}
and the{' '}
<Link to="/wiki/developers" className="text-primary hover:underline">
documentation hub
</Link>
.
</p>
</section>
</main>
</Layout>
);
}

View File

@@ -1,25 +0,0 @@
import React, {useEffect} from 'react';
import Layout from '@theme/Layout';
import Link from '@docusaurus/Link';
export default function WikiLandingPage(): JSX.Element {
useEffect(() => {
if (typeof window !== 'undefined') {
window.location.replace('/wiki/docs');
}
}, []);
return (
<Layout title="Wiki" description="Wiki entrypoint">
<main className="bg-background min-h-screen text-on-surface px-4 py-16">
<section className="mx-auto max-w-3xl text-center app-card app-card-glow glass-card rounded-xl p-8">
<h1 className="font-headline text-3xl font-bold text-on-surface mb-3">Wiki</h1>
<p className="text-on-surface-variant mb-6">Redirecting to the wiki overview...</p>
<Link to="/wiki/docs" className="button button--primary">
Open Wiki Overview
</Link>
</section>
</main>
</Layout>
);
}