From 58c0df760b6afa08ef31cbea36af24628ef14958 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Fri, 10 Apr 2026 04:26:06 +0200 Subject: [PATCH] chore: sync local workspace changes --- docs/README.md | 34 +- docs/contributors/repo-inventory.md | 6 +- docs/developers.md | 13 +- docs/framework/architecture.md | 2 +- docs/framework/greg-hooks-and-events.md | 2 +- docs/getting-started.md | 4 +- docs/getting-started/documentation-layout.md | 34 +- docs/guides/contributors/topics-overview.md | 2 +- docs/guides/mod-developers/overview.md | 5 +- docs/guides/sponsors/overview.md | 2 +- docs/intro.md | 31 +- docs/meta/system-architecture-principles.md | 4 +- docs/reference/greg-hooks-catalog.md | 2 +- .../reference/modding-language-requirement.md | 2 +- .../gregtools-modmanager-1.0-release.mdx | 2 +- docs/tools/workshop-uploader.md | 2 +- docs/topics/index.md | 8 +- docs/workspace/index.mdx | 2 +- docusaurus.config.js | 52 +-- sidebars.js | 347 +++++++++--------- src/i18n/homepage/en.ts | 15 +- src/i18n/homepage/sharedLinks.ts | 36 +- src/pages/index.tsx | 7 +- src/pages/players.tsx | 148 ++++++++ src/pages/wiki.tsx | 25 -- 25 files changed, 456 insertions(+), 331 deletions(-) create mode 100644 src/pages/players.tsx delete mode 100644 src/pages/wiki.tsx diff --git a/docs/README.md b/docs/README.md index d91331b..8b20641 100644 --- a/docs/README.md +++ b/docs/README.md @@ -4,30 +4,30 @@ This folder is the **single source of truth** for the public Docusaurus site. Th ## 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). | +| Area | Path | Purpose | +|------|------|--------| +| **Landing** | [`intro` → `/wiki`](/wiki) | Mod author wiki home. | +| **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/mod-developers/overview.md) | **Players:** `/players`. Authors: 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). +- Doc id `intro` → `/wiki` (see front matter `slug: /`). - Most docs → `/wiki/` (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. | +| 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. diff --git a/docs/contributors/repo-inventory.md b/docs/contributors/repo-inventory.md index 9e1d67a..c8cae41 100644 --- a/docs/contributors/repo-inventory.md +++ b/docs/contributors/repo-inventory.md @@ -11,7 +11,7 @@ This page is the **source of truth snapshot** for how the **gregFramework worksp ## 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 | |------|----------------|------| @@ -52,7 +52,7 @@ Documentation is maintained in this repository under `docs/`; historical GitHub ## 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. ## `FrikaMF.sln` drift (action items) @@ -63,7 +63,7 @@ Documentation is maintained in this repository under `docs/`; historical GitHub ## 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) - **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) diff --git a/docs/developers.md b/docs/developers.md index e22e441..b8e0fb3 100644 --- a/docs/developers.md +++ b/docs/developers.md @@ -1,16 +1,16 @@ --- id: developers -title: Developers & contributors -sidebar_label: Developers (hub) +title: Documentation hub +sidebar_label: Documentation hub slug: /developers 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. @@ -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) - [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) @@ -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 hooks catalog](/wiki/reference/fmf-hooks-catalog) - [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) - [Modding language requirement](/wiki/reference/modding-language-requirement) diff --git a/docs/framework/architecture.md b/docs/framework/architecture.md index 7e07a72..443d22e 100644 --- a/docs/framework/architecture.md +++ b/docs/framework/architecture.md @@ -25,7 +25,7 @@ Above the raw repositories, the **logical** model is **ModManager → Framework | ------ | ------ | | **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/`. | +| **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./` — one repo each, directly under `gregFramework/`. | | **Extensions** | `gregExt./` — one repo each, directly under `gregFramework/`. | | **Docs** | `gregWiki/` — documentation site repository. | diff --git a/docs/framework/greg-hooks-and-events.md b/docs/framework/greg-hooks-and-events.md index 273e684..dae2833 100644 --- a/docs/framework/greg-hooks-and-events.md +++ b/docs/framework/greg-hooks-and-events.md @@ -29,7 +29,7 @@ Implemented in **`gregCore/Core/GregEventDispatcher.cs`** (`namespace gregFramew ## 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) diff --git a/docs/getting-started.md b/docs/getting-started.md index 8aeedf3..62d6716 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -13,9 +13,7 @@ The workspace is **multi-repo** with a local `gregFramework/` folder containing - `gregDataCenterExporter/` — exporter, templates, hook JSON mirrors - `gregWiki/` — this documentation site -The **Rust** bridge lives under: - -- `gregCore/bridges/gregSta.RustBridge/` +**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. ## Build the core diff --git a/docs/getting-started/documentation-layout.md b/docs/getting-started/documentation-layout.md index a0cfe25..8de0dc9 100644 --- a/docs/getting-started/documentation-layout.md +++ b/docs/getting-started/documentation-layout.md @@ -11,26 +11,26 @@ This folder is the **single source of truth** for the public Docusaurus site. Th ## How content is organized -| Area | Path | Purpose | -| ------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Landing** | [`intro` → `/wiki/docs`](/wiki/docs) | Site home. | -| **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. | -| **Framework** | [`framework/`](../framework/architecture.md) | Architecture, hooks, Hexmod. | -| **Plugins** | [`plugins/`](../plugins/index.md) | `FFM.Plugin.*` assemblies; repos `gregExt.*` 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). | -| **Guides** | [`guides/`](../guides/players/overview.md) | Role-based paths (players, mod developers, contributors, sponsors). | -| **Releases** | [`releases/`](../releases/index.mdx) | Per-artifact release notes. | -| **Reference** | [`reference/`](../reference/wiki-mapping.md) | Naming, catalogs, MCP, release channels. | -| **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; **[architecture principles](../meta/system-architecture-principles.md)** (stack model & doc rules). | +| Area | Path | Purpose | +|------|------|--------| +| **Landing** | [`intro` → `/wiki`](/wiki) | Mod author wiki home (`slug: /`). | +| **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. | +| **Framework** | [`framework/`](../framework/architecture.md) | Architecture, hooks, Hexmod. | +| **Plugins** | [`plugins/`](../plugins/index.md) | `FFM.Plugin.*` assemblies; repos `gregExt.*` 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). | +| **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. | +| **Reference** | [`reference/`](../reference/wiki-mapping.md) | Naming, catalogs, MCP, release channels. | +| **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; **[architecture principles](../meta/system-architecture-principles.md)** (stack model & doc rules). | ## URLs -- Doc id `intro` → `/wiki/docs`. +- Doc id `intro` → `/wiki` (root of the docs plugin). - Typical doc → `/wiki/` (e.g. `mods/framework` → `/wiki/mods/framework`). ## Language diff --git a/docs/guides/contributors/topics-overview.md b/docs/guides/contributors/topics-overview.md index df22dda..b09ba97 100644 --- a/docs/guides/contributors/topics-overview.md +++ b/docs/guides/contributors/topics-overview.md @@ -6,7 +6,7 @@ description: Monorepo layout, design system, Docusaurus workflow, plugin audits. # 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. diff --git a/docs/guides/mod-developers/overview.md b/docs/guides/mod-developers/overview.md index 8542ee2..17332f5 100644 --- a/docs/guides/mod-developers/overview.md +++ b/docs/guides/mod-developers/overview.md @@ -6,12 +6,11 @@ description: Getting started, mod config, debugging — curated docs for FMF mod # 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 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 -- [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 - [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) diff --git a/docs/guides/sponsors/overview.md b/docs/guides/sponsors/overview.md index e2b528e..60ea9c0 100644 --- a/docs/guides/sponsors/overview.md +++ b/docs/guides/sponsors/overview.md @@ -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. :::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). ::: diff --git a/docs/intro.md b/docs/intro.md index 830f9c1..77ae81f 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -1,29 +1,26 @@ --- id: intro -title: Documentation -slug: /docs -description: Help for Data Center players using mods — install, Workshop, troubleshooting. Technical docs for authors are separated. +title: Mod author wiki +slug: / +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 -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 +## Getting started -[**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)**. - -Do not open **Developers & contributors** unless you are building or maintaining code — the first entries in the sidebar stay short on purpose. +The sidebar matches this wiki: **Getting started** is at the top, then the rest of the author tree. diff --git a/docs/meta/system-architecture-principles.md b/docs/meta/system-architecture-principles.md index 49e7ec4..9702eb2 100644 --- a/docs/meta/system-architecture-principles.md +++ b/docs/meta/system-architecture-principles.md @@ -17,7 +17,7 @@ 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. | +| **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./`**. | | **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./`**. | @@ -60,7 +60,7 @@ When documentation or API design must choose, use this **order**: ## 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 - [Mods — Framework](/wiki/mods/framework) — runtime from mod authors’ perspective - [Plugins overview](/wiki/plugins/) — `FFM.Plugin.*` diff --git a/docs/reference/greg-hooks-catalog.md b/docs/reference/greg-hooks-catalog.md index ac41957..6f06a6d 100644 --- a/docs/reference/greg-hooks-catalog.md +++ b/docs/reference/greg-hooks-catalog.md @@ -110,7 +110,7 @@ Unknown event ids resolve to ``greg.SYSTEM.UnmappedNativeEvent`` via ``GregNativ ## 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) - [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) diff --git a/docs/reference/modding-language-requirement.md b/docs/reference/modding-language-requirement.md index b714751..3069760 100644 --- a/docs/reference/modding-language-requirement.md +++ b/docs/reference/modding-language-requirement.md @@ -20,7 +20,7 @@ That applies to anything shipped as a **`gregMod.*`**, **`gregExt.*`**, or **`FF ## 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. - **gregStore**, **gregWiki**, and other non–in-game stacks may use other languages as appropriate. diff --git a/docs/releases/tools/gregtools-modmanager-1.0-release.mdx b/docs/releases/tools/gregtools-modmanager-1.0-release.mdx index 2c6fcdc..864f8a4 100644 --- a/docs/releases/tools/gregtools-modmanager-1.0-release.mdx +++ b/docs/releases/tools/gregtools-modmanager-1.0-release.mdx @@ -34,7 +34,7 @@ Push tag **`gregtools-modmanager-v1.0.0`** on `main` (or run the workflow manual ## Documentation - [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 ## Scope of 1.0 diff --git a/docs/tools/workshop-uploader.md b/docs/tools/workshop-uploader.md index 1e05953..7256eec 100644 --- a/docs/tools/workshop-uploader.md +++ b/docs/tools/workshop-uploader.md @@ -750,6 +750,6 @@ Yes. Browse or search for mods, then click **Subscribe**. Steam will download th ## See also - 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) - [Release](/wiki/guides/contributors/release) diff --git a/docs/topics/index.md b/docs/topics/index.md index 8e500c4..2b7c37b 100644 --- a/docs/topics/index.md +++ b/docs/topics/index.md @@ -14,9 +14,9 @@ Documentation is **curated** in this repository: guides, framework articles, ref | 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) | -| **Experience paths** | [Newbies](/wiki/audiences/newbies) · [Intermediates](/wiki/audiences/intermediates) · [Professionals](/wiki/audiences/professionals) | -| **Technical reference** | [Reference & technical](/wiki/topics/reference/overview) — includes [greg IL2CPP hook registry](/wiki/reference/greg-hooks-registry) | +| **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** | 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) | | **Ship planning** | [Roadmap & planning](/wiki/topics/roadmap/overview) | | **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) | @@ -27,7 +27,7 @@ Documentation is **curated** in this repository: guides, framework articles, ref - [FFI, hooks & Lua](/wiki/topics/ffi-and-hooks/overview) - [Multiplayer & networking](/wiki/topics/multiplayer-and-networking/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) ## Releases vs. articles diff --git a/docs/workspace/index.mdx b/docs/workspace/index.mdx index 13e61d5..0694527 100644 --- a/docs/workspace/index.mdx +++ b/docs/workspace/index.mdx @@ -23,6 +23,6 @@ The **gregFramework** folder groups several repositories (split layout). Use thi | **Examples** | `exGregFramework/` | Example / bootstrap layout | | **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). diff --git a/docusaurus.config.js b/docusaurus.config.js index 5994e87..79d0e2c 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -2,7 +2,7 @@ const config = { 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', url: 'https://frikadellental.de', baseUrl: '/', @@ -37,6 +37,8 @@ const config = { path: 'docs', sidebarPath: require.resolve('./sidebars.js'), 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/', }, blog: false, @@ -53,24 +55,14 @@ const config = { '@docusaurus/plugin-client-redirects', { createRedirects(existingPath) { - if (existingPath === '/wiki/docs') { - return ['/docs']; - } - const redirectsToHere = { '/wiki/framework/architecture': ['/wiki/architecture'], '/wiki/framework/fmf-hooks': ['/wiki/fmf-hooks'], '/wiki/framework/hexmod': ['/wiki/hexmod'], '/wiki/tools/workshop-uploader': ['/wiki/workshop-uploader'], '/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/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/release': ['/wiki/guides/release'], '/wiki/guides/contributors/topics-overview': ['/wiki/topics/contributors/overview'], @@ -103,17 +95,33 @@ const config = { }, redirects: [ { - to: '/wiki/docs', + to: '/wiki', from: [ + '/wiki/docs', '/wiki/legacy/wiki-import/Home', '/wiki/wiki-import/Home', '/wiki/legacy/wiki-import', '/wiki/wiki-import', + '/docs', ], }, { - to: '/wiki/guides/players/overview', - from: ['/wiki/legacy/wiki-import/EndUser/', '/wiki/wiki-import/EndUser/'], + to: '/players', + 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', @@ -202,13 +210,14 @@ const config = { style: 'dark', items: [ {to: '/', label: 'Home', position: 'left'}, + {to: '/players', label: 'For players', position: 'left'}, { - label: 'Docs', + label: 'Mod wiki', position: 'left', items: [ - {to: '/wiki', label: 'Overview'}, - {to: '/wiki/guides/players/overview', label: 'For players'}, - {to: '/wiki/developers', label: 'Developers'}, + {to: '/wiki', label: 'Wiki home'}, + {to: '/wiki/getting-started', label: 'Getting started'}, + {to: '/wiki/developers', label: 'Documentation hub'}, {to: '/mods', label: 'Mod catalog'}, ], }, @@ -224,9 +233,10 @@ const config = { { title: 'Wiki', items: [ - {label: 'Home', to: '/wiki'}, - {label: 'For players', to: '/wiki/guides/players/overview'}, - {label: 'Developers', to: '/wiki/developers'}, + {label: 'Wiki home', to: '/wiki'}, + {label: 'Getting started', to: '/wiki/getting-started'}, + {label: 'Documentation hub', to: '/wiki/developers'}, + {label: 'For players', to: '/players'}, ], }, { diff --git a/sidebars.js b/sidebars.js index c3a0071..277220f 100644 --- a/sidebars.js +++ b/sidebars.js @@ -1,185 +1,188 @@ /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ +/** Mod-author wiki only — player help lives at /players */ const sidebars = { docs: [ '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', - label: 'Developers & contributors', + label: 'Getting started', + collapsed: false, + items: ['getting-started', 'getting-started/documentation-layout', 'workspace/index'], + }, + 'developers', + 'meta/system-architecture-principles', + { + type: 'category', + label: 'Framework', collapsed: true, - link: {type: 'doc', id: 'developers'}, items: [ - 'developers', - 'meta/system-architecture-principles', - 'getting-started', - 'getting-started/documentation-layout', - 'workspace/index', - { - type: 'category', - label: 'Framework', - items: [ - 'framework/architecture', - 'framework/greg-hooks-and-events', - 'framework/fmf-hooks', - 'framework/hexmod', - ], - }, - { - type: 'category', - label: 'Plugins (FFM)', - items: [ - 'plugins/index', - 'plugins/ffm-plugin-asset-exporter', - 'plugins/ffm-plugin-multiplayer', - 'plugins/ffm-plugin-player-models', - 'plugins/ffm-plugin-sysadmin', - 'plugins/ffm-plugin-web-ui-bridge', - ], - }, - { - type: 'category', - label: 'Mods (FMF)', - link: {type: 'doc', id: 'mods/index'}, - items: [ - 'mods/index', - 'mods/framework', - 'mods/fmf-console-input-guard', - 'mods/fmf-gregify-employees', - 'mods/fmf-hex-label-mod', - 'mods/fmf-lang-compat-bridge', - 'mods/fmf-ui-replacement-mod', - ], - }, - { - type: 'category', - label: 'Tools & operations', - items: ['meta/Steam-Workshop-and-Tooling', 'meta/devserver-betas', 'meta/IDEA_BACKLOG'], - }, - { - type: 'category', - label: 'Guides', - items: [ - { - type: 'category', - label: 'Mod developers', - items: [ - 'guides/mod-developers/overview', - 'guides/mod-developers/greg-hooks-showcase', - ], - }, - { - type: 'category', - label: 'Contributors', - items: [ - 'guides/contributors/topics-overview', - 'guides/contributors/contributor-workshop', - 'guides/contributors/release', - ], - }, - { - type: 'category', - label: 'Sponsors', - items: ['guides/sponsors/overview'], - }, - ], - }, - { - type: 'category', - label: 'Releases', - link: {type: 'doc', id: 'releases/index'}, - items: [ - { - type: 'category', - label: 'Plugin releases', - items: [ - 'releases/plugins/ffm-plugin-asset-exporter-release', - 'releases/plugins/ffm-plugin-multiplayer-release', - 'releases/plugins/ffm-plugin-player-models-release', - 'releases/plugins/ffm-plugin-sysadmin-release', - 'releases/plugins/ffm-plugin-web-ui-bridge-release', - 'releases/plugins/fmf-modpathredirector-release', - ], - }, - { - type: 'category', - label: 'Tool releases', - items: ['releases/tools/gregtools-modmanager-1.0-release'], - }, - { - type: 'category', - label: 'Mod releases', - items: [ - 'releases/mods/fmf-console-input-guard-release', - 'releases/mods/fmf-gregify-employees-release', - 'releases/mods/fmf-hex-label-mod-release', - 'releases/mods/fmf-lang-compat-bridge-release', - 'releases/mods/fmf-ui-replacement-mod-release', - ], - }, - ], - }, - { - type: 'category', - label: 'Reference', - items: [ - 'reference/wiki-mapping', - 'reference/mod-store-vision', - 'reference/fmf-hook-naming', - 'reference/fmf-hooks-catalog', - 'reference/mcp-server', - 'reference/reference-data-files', - 'reference/modding-language-requirement', - ], - }, - { - type: 'category', - label: 'Contributors (workflow)', - items: [ - 'contributors/repo-inventory', - 'contributors/monorepo-target-layout', - 'contributors/luminescent-design-system', - 'contributors/docusaurus-workflow', - 'contributors/plugin-submission-audit', - 'contributors/sponsorship-automation', - ], - }, - { - type: 'category', - label: 'Roadmap', - items: ['roadmap/unified-roadmap', 'roadmap/mod-store-stages'], - }, - { - type: 'category', - label: 'Topics hub', - link: {type: 'doc', id: 'topics/index'}, - items: [ - 'topics/index', - { - type: 'category', - label: 'Cross-cutting topics', - items: [ - 'topics/assets-and-export/overview', - 'topics/multiplayer-and-networking/overview', - 'topics/ffi-and-hooks/overview', - 'topics/security-legal/overview', - 'topics/reference/overview', - 'topics/roadmap/overview', - 'topics/meta/overview', - 'topics/meta/game-folder-layout', - ], - }, - ], - }, - 'SPONSORS', + 'framework/architecture', + 'framework/greg-hooks-and-events', + 'framework/fmf-hooks', + 'framework/hexmod', ], }, + { + type: 'category', + label: 'Plugins (FFM)', + collapsed: true, + items: [ + 'plugins/index', + 'plugins/ffm-plugin-asset-exporter', + 'plugins/ffm-plugin-multiplayer', + 'plugins/ffm-plugin-player-models', + 'plugins/ffm-plugin-sysadmin', + 'plugins/ffm-plugin-web-ui-bridge', + ], + }, + { + type: 'category', + label: 'Mods (FMF)', + link: {type: 'doc', id: 'mods/index'}, + collapsed: true, + items: [ + 'mods/index', + 'mods/framework', + 'mods/fmf-console-input-guard', + 'mods/fmf-gregify-employees', + 'mods/fmf-hex-label-mod', + 'mods/fmf-lang-compat-bridge', + 'mods/fmf-ui-replacement-mod', + ], + }, + { + type: 'category', + label: 'Tools & operations', + collapsed: true, + items: [ + 'tools/workshop-uploader', + 'meta/Steam-Workshop-and-Tooling', + 'meta/devserver-betas', + 'meta/IDEA_BACKLOG', + ], + }, + { + type: 'category', + label: 'Guides', + collapsed: true, + items: [ + { + type: 'category', + label: 'Mod developers', + items: ['guides/mod-developers/overview', 'guides/mod-developers/greg-hooks-showcase'], + }, + { + type: 'category', + label: 'Contributors', + items: [ + 'guides/contributors/topics-overview', + 'guides/contributors/contributor-workshop', + 'guides/contributors/release', + ], + }, + { + type: 'category', + label: 'Sponsors', + items: ['guides/sponsors/overview'], + }, + ], + }, + { + type: 'category', + label: 'Releases', + link: {type: 'doc', id: 'releases/index'}, + collapsed: true, + items: [ + { + type: 'category', + label: 'Plugin releases', + items: [ + 'releases/plugins/ffm-plugin-asset-exporter-release', + 'releases/plugins/ffm-plugin-multiplayer-release', + 'releases/plugins/ffm-plugin-player-models-release', + 'releases/plugins/ffm-plugin-sysadmin-release', + 'releases/plugins/ffm-plugin-web-ui-bridge-release', + 'releases/plugins/fmf-modpathredirector-release', + ], + }, + { + type: 'category', + label: 'Tool releases', + items: ['releases/tools/gregtools-modmanager-1.0-release'], + }, + { + type: 'category', + label: 'Mod releases', + items: [ + 'releases/mods/fmf-console-input-guard-release', + 'releases/mods/fmf-gregify-employees-release', + 'releases/mods/fmf-hex-label-mod-release', + 'releases/mods/fmf-lang-compat-bridge-release', + 'releases/mods/fmf-ui-replacement-mod-release', + ], + }, + ], + }, + { + type: 'category', + label: 'Reference', + collapsed: true, + items: [ + 'reference/release-channels', + 'reference/wiki-mapping', + 'reference/mod-store-vision', + 'reference/fmf-hook-naming', + 'reference/fmf-hooks-catalog', + 'reference/greg-hooks-catalog', + 'reference/greg-hooks-registry', + 'reference/mcp-server', + 'reference/reference-data-files', + 'reference/modding-language-requirement', + ], + }, + { + type: 'category', + label: 'Contributors (workflow)', + collapsed: true, + items: [ + 'contributors/repo-inventory', + 'contributors/monorepo-target-layout', + 'contributors/luminescent-design-system', + 'contributors/docusaurus-workflow', + 'contributors/plugin-submission-audit', + 'contributors/sponsorship-automation', + ], + }, + { + type: 'category', + label: 'Roadmap', + collapsed: true, + items: ['roadmap/unified-roadmap', 'roadmap/mod-store-stages'], + }, + { + type: 'category', + label: 'Topics hub', + link: {type: 'doc', id: 'topics/index'}, + collapsed: true, + items: [ + 'topics/index', + { + type: 'category', + label: 'Cross-cutting topics', + items: [ + 'topics/assets-and-export/overview', + 'topics/multiplayer-and-networking/overview', + 'topics/ffi-and-hooks/overview', + 'topics/security-legal/overview', + 'topics/reference/overview', + 'topics/roadmap/overview', + 'topics/meta/overview', + 'topics/meta/game-folder-layout', + ], + }, + ], + }, + 'SPONSORS', ], }; diff --git a/src/i18n/homepage/en.ts b/src/i18n/homepage/en.ts index 9e8bb1a..28ac70d 100644 --- a/src/i18n/homepage/en.ts +++ b/src/i18n/homepage/en.ts @@ -5,10 +5,9 @@ export const en: HomepageContent = { ...homepageShellEn, heroLine1: 'Play with mods.', heroLine2: 'Ship with confidence.', - heroSub1: - 'Player guides cover install, Workshop, and common fixes—without engine deep dives.', - heroSub2: 'Authors get hooks, APIs, and repo layout under Developers in the wiki.', - ctaStart: 'Player guides', + heroSub1: 'Players use /players and the mod catalog — install, Workshop, and common fixes.', + heroSub2: 'Authors use /wiki: Getting started, Documentation hub, hooks, and repo layout.', + ctaStart: 'For players', ctaMods: 'Mod catalog', ctaModManager: 'Download Greg Mod Manager', modManagerSectionTitle: 'Greg Mod Manager', @@ -24,10 +23,10 @@ export const en: HomepageContent = { 'Community', ], featureDescriptions: [ - 'Step-by-step install and troubleshooting. No repository jargon on day one.', - 'Greg Mod Manager and the release-channels page explain where mods are published.', - 'Short paths for players; technical depth lives under Developers.', - 'Discord and GitHub for support—dig into gregCore only when you need to.', + 'Step-by-step help on /players — no author wiki required.', + 'Greg Mod Manager and release channels explain where mods are published.', + 'The mod wiki (/wiki) is for authors; structure starts with Getting started.', + 'Discord and GitHub for support — dig into gregCore when you build mods.', ], comingSoon: 'Coming soon', comingSoonText: diff --git a/src/i18n/homepage/sharedLinks.ts b/src/i18n/homepage/sharedLinks.ts index cd0a334..2ffe952 100644 --- a/src/i18n/homepage/sharedLinks.ts +++ b/src/i18n/homepage/sharedLinks.ts @@ -1,30 +1,25 @@ import type {HomepageContent, HomepageDocLink} from './types'; -/** Player-facing wiki entry points */ +/** Primary entry points from the homepage */ export const sharedKnowledgeLinksEn: HomepageDocLink[] = [ { - title: 'Wiki home', - description: 'Overview: players, authors, and where each topic lives.', + title: 'For players', + 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', }, - { - 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', - description: 'Where builds come from: Steam Workshop and GitHub.', + description: 'Where builds ship: Steam Workshop and GitHub Releases.', link: '/wiki/reference/release-channels', }, { title: 'Mod catalog', - description: 'Listings with docs, versions, and download links.', + description: 'Modules with docs, versions, and download links.', link: '/mods', }, ]; @@ -32,8 +27,13 @@ export const sharedKnowledgeLinksEn: HomepageDocLink[] = [ /** Authors and repo contributors */ export const sharedWorkflowLinksEn: HomepageDocLink[] = [ { - title: 'Developers hub', - description: 'Framework, hooks, plugins, reference material, and roadmap.', + title: 'Getting started', + 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', }, { @@ -73,7 +73,7 @@ export const homepageShellEn: Pick< workflowSectionTitle: 'For authors and contributors', codeSectionTitle: 'How mods connect to the game', 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', codeSnippetLoading: 'Loading code sample…', codeSectionBullets: [ diff --git a/src/pages/index.tsx b/src/pages/index.tsx index f924aa1..e45d282 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -101,7 +101,7 @@ export default function HomePage(): JSX.Element { return (
@@ -169,10 +169,7 @@ export default function HomePage(): JSX.Element { variants={variants.textReveal} transition={{delay: reducedMotion ? 0 : 0.22}} > - + {t.ctaStart} diff --git a/src/pages/players.tsx b/src/pages/players.tsx new file mode 100644 index 0000000..4ccb077 --- /dev/null +++ b/src/pages/players.tsx @@ -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 ( + +
+

+ Not for mod authors +

+

+ Playing with mods +

+

+ This page is for players who install and run mods. Technical documentation + for writing mods is in the{' '} + + mod author wiki + {' '} + (/wiki). +

+ +
+

What you need

+
    +
  • + + Data Center Simulator + {' '} + on Steam (AppID 4170200) +
  • +
  • Steam running and logged in for Workshop items
  • +
  • + MelonLoader (IL2CPP) — required for almost all mods; install once per game +
  • +
+
+ +
+

MelonLoader

+
    +
  1. Download the latest MelonLoader installer from the official MelonLoader GitHub.
  2. +
  3. Run it, select Data Center Simulator, choose the IL2CPP profile.
  4. +
  5. Start the game once and exit so interop assemblies are generated.
  6. +
  7. If something fails, check MelonLoader/Latest.log in the game folder.
  8. +
+

+ Greg Mod Manager includes a Health tab that checks MelonLoader and related + folders — useful if a mod does not load. +

+
+ +
+

Greg Mod Manager

+

+ Desktop app (release builds may still ship as WorkshopUploader.exe) + for browsing the in-app mod store, subscribing via Steam, and checking dependency health. +

+ + Download latest release + +

+ Uses GitHub’s /releases/latest redirect so the link always + points at the newest build. +

+
+ +
+

Steam Workshop

+

+ Most public mods are published on the{' '} + + Steam Workshop + + . Subscribe in Steam or via Greg Mod Manager; Steam keeps items updated. +

+
+ +
+

Steam vs GitHub

+

+ Workshop is the usual place for stable, discoverable releases.{' '} + GitHub Releases are often used for betas or direct DLL downloads. Mod + authors document where each build is published on the{' '} + + mod catalog + {' '} + and in the author wiki. +

+
+ +
+

Mod catalog

+

+ Browse modules with short descriptions and links to docs and downloads. +

+ + Open mod catalog + +
+ +
+

Help

+

+ 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. +

+ + Discord + +
+ +
+

Writing mods?

+

+ Use the wiki under /wiki: start with{' '} + + Getting started + {' '} + and the{' '} + + documentation hub + + . +

+
+
+
+ ); +} diff --git a/src/pages/wiki.tsx b/src/pages/wiki.tsx deleted file mode 100644 index 6445432..0000000 --- a/src/pages/wiki.tsx +++ /dev/null @@ -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 ( - -
-
-

Wiki

-

Redirecting to the wiki overview...

- - Open Wiki Overview - -
-
-
- ); -}