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

@@ -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/<doc-path>` (e.g. `mods/framework``/wiki/mods/framework`).
## Scripts (repository root)
| Script | Role |
| --------------------- | ---------------------------------------------- |
| `wiki:sync` | **No-op** (legacy GitHub Wiki mirror removed). |
| `wiki:normalize-i18n` | **No-op** (same). |
| `wiki:refresh` | Runs both no-ops; safe for old CI hooks. |
| 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.

View File

@@ -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)

View File

@@ -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)

View File

@@ -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.<Name>/` — one repo each, directly under `gregFramework/`. |
| **Extensions** | `gregExt.<Name>/` — one repo each, directly under `gregFramework/`. |
| **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 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)

View File

@@ -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

View File

@@ -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/<doc-id-path>` (e.g. `mods/framework``/wiki/mods/framework`).
## Language

View File

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

View File

@@ -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)

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

View File

@@ -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.<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
- [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.*`

View File

@@ -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)

View File

@@ -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 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
- [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

View File

@@ -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)

View File

@@ -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

View File

@@ -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).

View File

@@ -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'},
],
},
{

View File

@@ -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',
],
};

View File

@@ -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 supportdig 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 supportdig into gregCore when you build mods.',
],
comingSoon: 'Coming soon',
comingSoonText:

View File

@@ -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: [

View File

@@ -101,7 +101,7 @@ export default function HomePage(): JSX.Element {
return (
<Layout
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">
<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}
transition={{delay: reducedMotion ? 0 : 0.22}}
>
<Link
to="/wiki/guides/players/overview"
className="btn-primary hero-glow rounded-lg px-8 py-4 text-lg md:px-10"
>
<Link to="/players" className="btn-primary hero-glow rounded-lg px-8 py-4 text-lg md:px-10">
{t.ctaStart}
</Link>
<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>
);
}