mirror of
https://github.com/mleem97/gregWiki.git
synced 2026-04-11 03:29:19 +02:00
docs: update import paths to legacy for consistency
- Revised documentation links to point to the legacy import paths across multiple files, ensuring uniformity in referencing legacy resources. - This change enhances clarity and maintains consistency in the documentation structure.
This commit is contained in:
@@ -24,7 +24,7 @@ const config = {
|
||||
],
|
||||
i18n: {
|
||||
defaultLocale: 'en',
|
||||
locales: ['en', 'de', 'fr', 'es', 'ru', 'ja'],
|
||||
locales: ['en', 'de'],
|
||||
localeConfigs: {
|
||||
en: {label: 'English', htmlLang: 'en-GB'},
|
||||
de: {label: 'Deutsch', htmlLang: 'de-DE'},
|
||||
|
||||
@@ -1,127 +0,0 @@
|
||||
---
|
||||
title: WorkshopManager
|
||||
sidebar_label: WorkshopManager
|
||||
description: Windows desktop app for managing Steam Workshop content, browsing mods, and publishing for Data Center (FrikaMF).
|
||||
---
|
||||
|
||||
# WorkshopManager
|
||||
|
||||
**WorkshopManager** is a **.NET MAUI** desktop app for **Windows** that serves as a full-featured Steam Workshop client for *Data Center*. It combines content authoring (publish/update), a **Mod Store** for browsing and installing community mods, and a **Mod Manager** for dependency health checks.
|
||||
|
||||
## Features
|
||||
|
||||
### Author tools (Projects / Editor / My Uploads)
|
||||
- Create workshop projects from templates (vanilla assets, MelonLoader mods, FMF plugins).
|
||||
- Edit **title**, **description**, **visibility**, **tags**, and **preview image**; stored in `metadata.json`.
|
||||
- **Save and upload to Steam** — saves metadata, publishes `content/` to Steam Workshop, then **syncs** your local folder with Steam's version (like a `git pull` after push).
|
||||
- **Change notes** — when updating an existing item, describe what changed; shown on the Workshop changelog tab.
|
||||
- **View on Steam** — open your published item in the browser.
|
||||
- **Pagination** across all list views (My Uploads, Browse, Subscribed, Favorites).
|
||||
- **Per-item stats** — subscriptions, votes, score, size.
|
||||
|
||||
### Mod Store (integrated in Mod Manager)
|
||||
- **Browse** all Workshop items for Data Center with tag filtering and sort options (last updated, newest, top rated, trending, most subscribed, title A-Z).
|
||||
- **Search** mods by text.
|
||||
- **Subscribe / Unsubscribe** to mods directly from the store.
|
||||
- **Favorites** — bookmark mods for quick access.
|
||||
- **Vote** (up/down) on workshop items.
|
||||
- **Item detail view** — full statistics, description, tags, action buttons, and links to changelog/comments.
|
||||
|
||||
### Mod Manager / Health
|
||||
- **Dependency health** checks: game installed, MelonLoader, Il2Cpp assemblies, FMF core, FMF plugins directory, ModCfg directory.
|
||||
- **MelonLoader** download page link and game folder access.
|
||||
- **FMF Plugin channels** — stable (local scan) and beta (server, TODO).
|
||||
|
||||
### Configuración
|
||||
- **Ruta del espacio de trabajo** — cambia dónde se guardan los proyectos (por defecto `<GameRoot>/workshop`).
|
||||
- **Idioma** — alternar entre EN, DE, RU, ES, IT, JP, PL, CN (por defecto el idioma del sistema). El botón Reiniciar aplica el cambio al instante.
|
||||
- **Interruptor Mod Store** — activar/desactivar la pestaña Mod Store (desactivada por defecto). Incluye botón Reiniciar.
|
||||
- **Enlaces de la comunidad** — acceso rápido a Discord, canal de modding y GregFramework.eu.
|
||||
|
||||
### Aviso de dependencia de FMF
|
||||
- Los proyectos pueden marcarse como **«Necesita FrikaModFramework»** en el editor. Al subir, se añade automáticamente un aviso a la descripción de Steam para indicar a los usuarios que instalen FMF.
|
||||
|
||||
## Requirements
|
||||
|
||||
- **Windows 10** (versión 1809+).
|
||||
- **Steam** con una cuenta iniciada sesión que **posea Data Center** (ID de aplicación **4170200**).
|
||||
- **Sin dependencias adicionales** — la versión publicada es totalmente autocontenida (incluye runtime de .NET y Windows App SDK).
|
||||
- `steam_api64.dll` y `steam_appid.txt` deben estar junto al exe (incluidos en la compilación Release).
|
||||
|
||||
## Workspace path
|
||||
|
||||
The workspace is resolved from Steam: `<Data Center install>/workshop`.
|
||||
|
||||
Fallback (no Steam): `%USERPROFILE%\DataCenterWS`.
|
||||
|
||||
On first launch the app creates the structure and places a sample `metadata.sample.json` under `.templates/`.
|
||||
|
||||
## Project layout
|
||||
|
||||
For each Workshop project:
|
||||
|
||||
1. Create a **folder** under the workspace (the folder name appears in the list).
|
||||
2. Add a `content/` subfolder with files to ship:
|
||||
- `content/Mods/` for MelonLoader mods
|
||||
- `content/FMF/Plugins/` for FMF plugins
|
||||
- `content/Object/` and `content/Decoration/` for vanilla assets
|
||||
3. Optionally create `metadata.json` yourself or fill it in the app.
|
||||
4. Optionally add `preview.png` at the project root.
|
||||
|
||||
## Using the app
|
||||
|
||||
### Tabs
|
||||
|
||||
| Tab | Purpose |
|
||||
|-----|---------|
|
||||
| **Projects** | Local workshop projects; search, open editor |
|
||||
| **New** | Create from template (vanilla, MelonLoader, FMF) |
|
||||
| **My Uploads** | Paginated list of your published items with stats |
|
||||
| **Mod Store** | Browse, search, subscribe, vote, and manage mods |
|
||||
|
||||
### Publish workflow
|
||||
|
||||
1. Open a project from the **Projects** tab.
|
||||
2. Fill in title, description, tags, visibility, preview image.
|
||||
3. Optionally write **change notes** (visible on Steam's changelog).
|
||||
4. Click **Save and upload to Steam**.
|
||||
5. The app saves `metadata.json`, uploads `content/` to Steam, then **syncs** by re-downloading Steam's version into your local `content/` folder.
|
||||
|
||||
### Headless / CI publish
|
||||
|
||||
```bash
|
||||
WorkshopUploader.exe --mode publish --path <project-folder>
|
||||
```
|
||||
|
||||
## Build and deploy {#build-deploy}
|
||||
|
||||
### Release autocontenido
|
||||
|
||||
La aplicación se publica como ejecutable de Windows **autocontenido** — no hace falta instalar runtime de .NET ni Windows App SDK en el equipo de destino.
|
||||
|
||||
```bash
|
||||
dotnet publish WorkshopUploader/WorkshopUploader.csproj -c Release -p:SelfContained=true -p:RuntimeIdentifier=win10-x64
|
||||
```
|
||||
|
||||
Salida: `WorkshopUploader/bin/Release/net9.0-windows10.0.19041.0/win10-x64/publish/`
|
||||
|
||||
### Desplegar todos los mods + Gregtools Modmanager en carpetas Workshop
|
||||
|
||||
```bash
|
||||
pwsh -File scripts/Deploy-Release-ToWorkshop.ps1
|
||||
```
|
||||
|
||||
Compila todos los frameworks/plugins/mods **y** el propio WorkshopUploader, y empaqueta cada uno en una carpeta de proyecto compatible con Steamworks bajo `<GameRoot>/workshop/`. El WorkshopUploader se empaqueta como **«Gregtools Modmanager»**.
|
||||
|
||||
### Desplegar en el directorio del juego (pruebas locales)
|
||||
|
||||
```bash
|
||||
pwsh -File scripts/Deploy-Release-ToDataCenter.ps1 -IncludeWorkshopUploader
|
||||
```
|
||||
|
||||
## See also
|
||||
|
||||
- Repository README: [`WorkshopUploader/README.md`](https://github.com/mleem97/gregFramework/blob/master/WorkshopUploader/README.md)
|
||||
- [End-User Guide](/wiki/guides/players/enduser-workshop)
|
||||
- [Contributor Guide](/wiki/guides/contributors/contributor-workshop)
|
||||
- [Release](/wiki/guides/contributors/release)
|
||||
@@ -1,127 +0,0 @@
|
||||
---
|
||||
title: WorkshopManager
|
||||
sidebar_label: WorkshopManager
|
||||
description: Windows desktop app for managing Steam Workshop content, browsing mods, and publishing for Data Center (FrikaMF).
|
||||
---
|
||||
|
||||
# WorkshopManager
|
||||
|
||||
**WorkshopManager** is a **.NET MAUI** desktop app for **Windows** that serves as a full-featured Steam Workshop client for *Data Center*. It combines content authoring (publish/update), a **Mod Store** for browsing and installing community mods, and a **Mod Manager** for dependency health checks.
|
||||
|
||||
## Features
|
||||
|
||||
### Author tools (Projects / Editor / My Uploads)
|
||||
- Create workshop projects from templates (vanilla assets, MelonLoader mods, FMF plugins).
|
||||
- Edit **title**, **description**, **visibility**, **tags**, and **preview image**; stored in `metadata.json`.
|
||||
- **Save and upload to Steam** — saves metadata, publishes `content/` to Steam Workshop, then **syncs** your local folder with Steam's version (like a `git pull` after push).
|
||||
- **Change notes** — when updating an existing item, describe what changed; shown on the Workshop changelog tab.
|
||||
- **View on Steam** — open your published item in the browser.
|
||||
- **Pagination** across all list views (My Uploads, Browse, Subscribed, Favorites).
|
||||
- **Per-item stats** — subscriptions, votes, score, size.
|
||||
|
||||
### Mod Store (integrated in Mod Manager)
|
||||
- **Browse** all Workshop items for Data Center with tag filtering and sort options (last updated, newest, top rated, trending, most subscribed, title A-Z).
|
||||
- **Search** mods by text.
|
||||
- **Subscribe / Unsubscribe** to mods directly from the store.
|
||||
- **Favorites** — bookmark mods for quick access.
|
||||
- **Vote** (up/down) on workshop items.
|
||||
- **Item detail view** — full statistics, description, tags, action buttons, and links to changelog/comments.
|
||||
|
||||
### Mod Manager / Health
|
||||
- **Dependency health** checks: game installed, MelonLoader, Il2Cpp assemblies, FMF core, FMF plugins directory, ModCfg directory.
|
||||
- **MelonLoader** download page link and game folder access.
|
||||
- **FMF Plugin channels** — stable (local scan) and beta (server, TODO).
|
||||
|
||||
### Paramètres
|
||||
- **Chemin de l’espace de travail** — emplacement des projets (par défaut `<GameRoot>/workshop`).
|
||||
- **Langue** — bascule entre EN, DE, RU, ES, IT, JP, PL, CN (par défaut la langue du système). Le bouton Redémarrer applique le changement immédiatement.
|
||||
- **Option Mod Store** — activer/désactiver l’onglet Mod Store (désactivé par défaut). Bouton Redémarrer inclus.
|
||||
- **Liens communautaires** — accès rapide à Discord, au canal modding et à GregFramework.eu.
|
||||
|
||||
### Avis de dépendance FMF
|
||||
- Dans l’éditeur, les projets peuvent être marqués **« Nécessite FrikaModFramework »**. Lors de l’envoi, un avis est automatiquement ajouté à la description Steam pour indiquer d’installer FMF.
|
||||
|
||||
## Requirements
|
||||
|
||||
- **Windows 10** (version 1809+).
|
||||
- **Steam** avec un compte connecté qui **possède Data Center** (ID d’application **4170200**).
|
||||
- **Aucune dépendance supplémentaire** — la version publiée est entièrement autonome (inclut le runtime .NET et le Windows App SDK).
|
||||
- `steam_api64.dll` et `steam_appid.txt` doivent être à côté de l’exe (inclus dans la build Release).
|
||||
|
||||
## Workspace path
|
||||
|
||||
The workspace is resolved from Steam: `<Data Center install>/workshop`.
|
||||
|
||||
Fallback (no Steam): `%USERPROFILE%\DataCenterWS`.
|
||||
|
||||
On first launch the app creates the structure and places a sample `metadata.sample.json` under `.templates/`.
|
||||
|
||||
## Project layout
|
||||
|
||||
For each Workshop project:
|
||||
|
||||
1. Create a **folder** under the workspace (the folder name appears in the list).
|
||||
2. Add a `content/` subfolder with files to ship:
|
||||
- `content/Mods/` for MelonLoader mods
|
||||
- `content/FMF/Plugins/` for FMF plugins
|
||||
- `content/Object/` and `content/Decoration/` for vanilla assets
|
||||
3. Optionally create `metadata.json` yourself or fill it in the app.
|
||||
4. Optionally add `preview.png` at the project root.
|
||||
|
||||
## Using the app
|
||||
|
||||
### Tabs
|
||||
|
||||
| Tab | Purpose |
|
||||
|-----|---------|
|
||||
| **Projects** | Local workshop projects; search, open editor |
|
||||
| **New** | Create from template (vanilla, MelonLoader, FMF) |
|
||||
| **My Uploads** | Paginated list of your published items with stats |
|
||||
| **Mod Store** | Browse, search, subscribe, vote, and manage mods |
|
||||
|
||||
### Publish workflow
|
||||
|
||||
1. Open a project from the **Projects** tab.
|
||||
2. Fill in title, description, tags, visibility, preview image.
|
||||
3. Optionally write **change notes** (visible on Steam's changelog).
|
||||
4. Click **Save and upload to Steam**.
|
||||
5. The app saves `metadata.json`, uploads `content/` to Steam, then **syncs** by re-downloading Steam's version into your local `content/` folder.
|
||||
|
||||
### Headless / CI publish
|
||||
|
||||
```bash
|
||||
WorkshopUploader.exe --mode publish --path <project-folder>
|
||||
```
|
||||
|
||||
## Build and deploy {#build-deploy}
|
||||
|
||||
### Version autonome
|
||||
|
||||
L’application est publiée en tant qu’exécutable Windows **autonome** — aucune installation du runtime .NET ni du Windows App SDK n’est requise sur la machine cible.
|
||||
|
||||
```bash
|
||||
dotnet publish WorkshopUploader/WorkshopUploader.csproj -c Release -p:SelfContained=true -p:RuntimeIdentifier=win10-x64
|
||||
```
|
||||
|
||||
Sortie : `WorkshopUploader/bin/Release/net9.0-windows10.0.19041.0/win10-x64/publish/`
|
||||
|
||||
### Déployer tous les mods + Gregtools Modmanager vers les dossiers Workshop
|
||||
|
||||
```bash
|
||||
pwsh -File scripts/Deploy-Release-ToWorkshop.ps1
|
||||
```
|
||||
|
||||
Compile tous les frameworks/plugins/mods **et** le WorkshopUploader lui-même, puis place chaque élément dans un dossier de projet compatible Steamworks sous `<GameRoot>/workshop/`. Le WorkshopUploader est empaqueté sous le nom **« Gregtools Modmanager »**.
|
||||
|
||||
### Déployer dans le répertoire du jeu (tests locaux)
|
||||
|
||||
```bash
|
||||
pwsh -File scripts/Deploy-Release-ToDataCenter.ps1 -IncludeWorkshopUploader
|
||||
```
|
||||
|
||||
## See also
|
||||
|
||||
- Repository README: [`WorkshopUploader/README.md`](https://github.com/mleem97/gregFramework/blob/master/WorkshopUploader/README.md)
|
||||
- [End-User Guide](/wiki/guides/players/enduser-workshop)
|
||||
- [Contributor Guide](/wiki/guides/contributors/contributor-workshop)
|
||||
- [Release](/wiki/guides/contributors/release)
|
||||
@@ -1,127 +0,0 @@
|
||||
---
|
||||
title: WorkshopManager
|
||||
sidebar_label: WorkshopManager
|
||||
description: Windows desktop app for managing Steam Workshop content, browsing mods, and publishing for Data Center (FrikaMF).
|
||||
---
|
||||
|
||||
# WorkshopManager
|
||||
|
||||
**WorkshopManager** is a **.NET MAUI** desktop app for **Windows** that serves as a full-featured Steam Workshop client for *Data Center*. It combines content authoring (publish/update), a **Mod Store** for browsing and installing community mods, and a **Mod Manager** for dependency health checks.
|
||||
|
||||
## Features
|
||||
|
||||
### Author tools (Projects / Editor / My Uploads)
|
||||
- Create workshop projects from templates (vanilla assets, MelonLoader mods, FMF plugins).
|
||||
- Edit **title**, **description**, **visibility**, **tags**, and **preview image**; stored in `metadata.json`.
|
||||
- **Save and upload to Steam** — saves metadata, publishes `content/` to Steam Workshop, then **syncs** your local folder with Steam's version (like a `git pull` after push).
|
||||
- **Change notes** — when updating an existing item, describe what changed; shown on the Workshop changelog tab.
|
||||
- **View on Steam** — open your published item in the browser.
|
||||
- **Pagination** across all list views (My Uploads, Browse, Subscribed, Favorites).
|
||||
- **Per-item stats** — subscriptions, votes, score, size.
|
||||
|
||||
### Mod Store (integrated in Mod Manager)
|
||||
- **Browse** all Workshop items for Data Center with tag filtering and sort options (last updated, newest, top rated, trending, most subscribed, title A-Z).
|
||||
- **Search** mods by text.
|
||||
- **Subscribe / Unsubscribe** to mods directly from the store.
|
||||
- **Favorites** — bookmark mods for quick access.
|
||||
- **Vote** (up/down) on workshop items.
|
||||
- **Item detail view** — full statistics, description, tags, action buttons, and links to changelog/comments.
|
||||
|
||||
### Mod Manager / Health
|
||||
- **Dependency health** checks: game installed, MelonLoader, Il2Cpp assemblies, FMF core, FMF plugins directory, ModCfg directory.
|
||||
- **MelonLoader** download page link and game folder access.
|
||||
- **FMF Plugin channels** — stable (local scan) and beta (server, TODO).
|
||||
|
||||
### 設定
|
||||
- **ワークスペースのパス** — プロジェクトの保存場所を変更(既定は `<GameRoot>/workshop`)。
|
||||
- **言語** — EN、DE、RU、ES、IT、JP、PL、CN の切り替え(既定はシステム言語)。再起動ボタンで変更をすぐに反映。
|
||||
- **Mod Store の切り替え** — Mod Store タブの表示/非表示(既定はオフ)。再起動ボタン付き。
|
||||
- **コミュニティリンク** — Discord、Modding チャンネル、GregFramework.eu へのクイックアクセス。
|
||||
|
||||
### FMF 依存関係の注意
|
||||
- エディターでプロジェクトに **「FrikaModFramework が必要」** とマークできます。アップロード時に、FMF のインストールを促す注意書きが Steam の説明に自動で追記されます。
|
||||
|
||||
## Requirements
|
||||
|
||||
- **Windows 10**(バージョン 1809 以降)。
|
||||
- **Steam** — **Data Center** を所有しているサインイン済みアカウント(アプリ ID **4170200**)。
|
||||
- **追加の依存関係なし** — リリースは完全に自己完結型(.NET ランタイムと Windows App SDK を同梱)。
|
||||
- `steam_api64.dll` と `steam_appid.txt` は exe と同じ場所に必要(リリースビルドに同梱)。
|
||||
|
||||
## Workspace path
|
||||
|
||||
The workspace is resolved from Steam: `<Data Center install>/workshop`.
|
||||
|
||||
Fallback (no Steam): `%USERPROFILE%\DataCenterWS`.
|
||||
|
||||
On first launch the app creates the structure and places a sample `metadata.sample.json` under `.templates/`.
|
||||
|
||||
## Project layout
|
||||
|
||||
For each Workshop project:
|
||||
|
||||
1. Create a **folder** under the workspace (the folder name appears in the list).
|
||||
2. Add a `content/` subfolder with files to ship:
|
||||
- `content/Mods/` for MelonLoader mods
|
||||
- `content/FMF/Plugins/` for FMF plugins
|
||||
- `content/Object/` and `content/Decoration/` for vanilla assets
|
||||
3. Optionally create `metadata.json` yourself or fill it in the app.
|
||||
4. Optionally add `preview.png` at the project root.
|
||||
|
||||
## Using the app
|
||||
|
||||
### Tabs
|
||||
|
||||
| Tab | Purpose |
|
||||
|-----|---------|
|
||||
| **Projects** | Local workshop projects; search, open editor |
|
||||
| **New** | Create from template (vanilla, MelonLoader, FMF) |
|
||||
| **My Uploads** | Paginated list of your published items with stats |
|
||||
| **Mod Store** | Browse, search, subscribe, vote, and manage mods |
|
||||
|
||||
### Publish workflow
|
||||
|
||||
1. Open a project from the **Projects** tab.
|
||||
2. Fill in title, description, tags, visibility, preview image.
|
||||
3. Optionally write **change notes** (visible on Steam's changelog).
|
||||
4. Click **Save and upload to Steam**.
|
||||
5. The app saves `metadata.json`, uploads `content/` to Steam, then **syncs** by re-downloading Steam's version into your local `content/` folder.
|
||||
|
||||
### Headless / CI publish
|
||||
|
||||
```bash
|
||||
WorkshopUploader.exe --mode publish --path <project-folder>
|
||||
```
|
||||
|
||||
## Build and deploy {#build-deploy}
|
||||
|
||||
### 自己完結型リリース
|
||||
|
||||
アプリは **自己完結型** の Windows 実行ファイルとして公開されます。対象マシンに .NET ランタイムや Windows App SDK をインストールする必要はありません。
|
||||
|
||||
```bash
|
||||
dotnet publish WorkshopUploader/WorkshopUploader.csproj -c Release -p:SelfContained=true -p:RuntimeIdentifier=win10-x64
|
||||
```
|
||||
|
||||
出力: `WorkshopUploader/bin/Release/net9.0-windows10.0.19041.0/win10-x64/publish/`
|
||||
|
||||
### 全モッド + Gregtools Modmanager を Workshop フォルダへデプロイ
|
||||
|
||||
```bash
|
||||
pwsh -File scripts/Deploy-Release-ToWorkshop.ps1
|
||||
```
|
||||
|
||||
フレームワーク/プラグイン/モッド **および** WorkshopUploader 自体をビルドし、それぞれを `<GameRoot>/workshop/` 配下の Steamworks 互換プロジェクトフォルダにパッケージします。WorkshopUploader は **「Gregtools Modmanager」** としてパッケージされます。
|
||||
|
||||
### ゲームディレクトリへデプロイ(ローカル検証)
|
||||
|
||||
```bash
|
||||
pwsh -File scripts/Deploy-Release-ToDataCenter.ps1 -IncludeWorkshopUploader
|
||||
```
|
||||
|
||||
## See also
|
||||
|
||||
- Repository README: [`WorkshopUploader/README.md`](https://github.com/mleem97/gregFramework/blob/master/WorkshopUploader/README.md)
|
||||
- [End-User Guide](/wiki/guides/players/enduser-workshop)
|
||||
- [Contributor Guide](/wiki/guides/contributors/contributor-workshop)
|
||||
- [Release](/wiki/guides/contributors/release)
|
||||
@@ -1,127 +0,0 @@
|
||||
---
|
||||
title: WorkshopManager
|
||||
sidebar_label: WorkshopManager
|
||||
description: Windows desktop app for managing Steam Workshop content, browsing mods, and publishing for Data Center (FrikaMF).
|
||||
---
|
||||
|
||||
# WorkshopManager
|
||||
|
||||
**WorkshopManager** is a **.NET MAUI** desktop app for **Windows** that serves as a full-featured Steam Workshop client for *Data Center*. It combines content authoring (publish/update), a **Mod Store** for browsing and installing community mods, and a **Mod Manager** for dependency health checks.
|
||||
|
||||
## Features
|
||||
|
||||
### Author tools (Projects / Editor / My Uploads)
|
||||
- Create workshop projects from templates (vanilla assets, MelonLoader mods, FMF plugins).
|
||||
- Edit **title**, **description**, **visibility**, **tags**, and **preview image**; stored in `metadata.json`.
|
||||
- **Save and upload to Steam** — saves metadata, publishes `content/` to Steam Workshop, then **syncs** your local folder with Steam's version (like a `git pull` after push).
|
||||
- **Change notes** — when updating an existing item, describe what changed; shown on the Workshop changelog tab.
|
||||
- **View on Steam** — open your published item in the browser.
|
||||
- **Pagination** across all list views (My Uploads, Browse, Subscribed, Favorites).
|
||||
- **Per-item stats** — subscriptions, votes, score, size.
|
||||
|
||||
### Mod Store (integrated in Mod Manager)
|
||||
- **Browse** all Workshop items for Data Center with tag filtering and sort options (last updated, newest, top rated, trending, most subscribed, title A-Z).
|
||||
- **Search** mods by text.
|
||||
- **Subscribe / Unsubscribe** to mods directly from the store.
|
||||
- **Favorites** — bookmark mods for quick access.
|
||||
- **Vote** (up/down) on workshop items.
|
||||
- **Item detail view** — full statistics, description, tags, action buttons, and links to changelog/comments.
|
||||
|
||||
### Mod Manager / Health
|
||||
- **Dependency health** checks: game installed, MelonLoader, Il2Cpp assemblies, FMF core, FMF plugins directory, ModCfg directory.
|
||||
- **MelonLoader** download page link and game folder access.
|
||||
- **FMF Plugin channels** — stable (local scan) and beta (server, TODO).
|
||||
|
||||
### Параметры
|
||||
- **Путь к рабочей области** — где хранятся проекты (по умолчанию `<GameRoot>/workshop`).
|
||||
- **Язык** — переключение между EN, DE, RU, ES, IT, JP, PL, CN (по умолчанию язык системы). Кнопка перезапуска применяет изменение сразу.
|
||||
- **Переключатель Mod Store** — включает/выключает вкладку Mod Store (по умолчанию выключено). Есть кнопка перезапуска.
|
||||
- **Ссылки сообщества** — быстрый доступ к Discord, каналу моддинга и GregFramework.eu.
|
||||
|
||||
### Уведомление о зависимости FMF
|
||||
- В редакторе проекты можно пометить как **«Требуется FrikaModFramework»**. При загрузке к описанию в Steam автоматически добавляется уведомление с просьбой установить FMF.
|
||||
|
||||
## Requirements
|
||||
|
||||
- **Windows 10** (версия 1809+).
|
||||
- **Steam** с учётной записью, в которой **есть Data Center** (App ID **4170200**).
|
||||
- **Без дополнительных зависимостей** — релиз полностью автономен (включает .NET runtime и Windows App SDK).
|
||||
- `steam_api64.dll` и `steam_appid.txt` должны лежать рядом с exe (входят в релизную сборку).
|
||||
|
||||
## Workspace path
|
||||
|
||||
The workspace is resolved from Steam: `<Data Center install>/workshop`.
|
||||
|
||||
Fallback (no Steam): `%USERPROFILE%\DataCenterWS`.
|
||||
|
||||
On first launch the app creates the structure and places a sample `metadata.sample.json` under `.templates/`.
|
||||
|
||||
## Project layout
|
||||
|
||||
For each Workshop project:
|
||||
|
||||
1. Create a **folder** under the workspace (the folder name appears in the list).
|
||||
2. Add a `content/` subfolder with files to ship:
|
||||
- `content/Mods/` for MelonLoader mods
|
||||
- `content/FMF/Plugins/` for FMF plugins
|
||||
- `content/Object/` and `content/Decoration/` for vanilla assets
|
||||
3. Optionally create `metadata.json` yourself or fill it in the app.
|
||||
4. Optionally add `preview.png` at the project root.
|
||||
|
||||
## Using the app
|
||||
|
||||
### Tabs
|
||||
|
||||
| Tab | Purpose |
|
||||
|-----|---------|
|
||||
| **Projects** | Local workshop projects; search, open editor |
|
||||
| **New** | Create from template (vanilla, MelonLoader, FMF) |
|
||||
| **My Uploads** | Paginated list of your published items with stats |
|
||||
| **Mod Store** | Browse, search, subscribe, vote, and manage mods |
|
||||
|
||||
### Publish workflow
|
||||
|
||||
1. Open a project from the **Projects** tab.
|
||||
2. Fill in title, description, tags, visibility, preview image.
|
||||
3. Optionally write **change notes** (visible on Steam's changelog).
|
||||
4. Click **Save and upload to Steam**.
|
||||
5. The app saves `metadata.json`, uploads `content/` to Steam, then **syncs** by re-downloading Steam's version into your local `content/` folder.
|
||||
|
||||
### Headless / CI publish
|
||||
|
||||
```bash
|
||||
WorkshopUploader.exe --mode publish --path <project-folder>
|
||||
```
|
||||
|
||||
## Build and deploy {#build-deploy}
|
||||
|
||||
### Автономный релиз
|
||||
|
||||
Приложение публикуется как **автономный** исполняемый файл Windows — на целевой машине не требуется устанавливать .NET runtime или Windows App SDK.
|
||||
|
||||
```bash
|
||||
dotnet publish WorkshopUploader/WorkshopUploader.csproj -c Release -p:SelfContained=true -p:RuntimeIdentifier=win10-x64
|
||||
```
|
||||
|
||||
Вывод: `WorkshopUploader/bin/Release/net9.0-windows10.0.19041.0/win10-x64/publish/`
|
||||
|
||||
### Развернуть все моды и Gregtools Modmanager в папки Workshop
|
||||
|
||||
```bash
|
||||
pwsh -File scripts/Deploy-Release-ToWorkshop.ps1
|
||||
```
|
||||
|
||||
Собирает все framework/plugins/mods **и** сам WorkshopUploader, затем упаковывает каждый в папку проекта, совместимую со Steamworks, в `<GameRoot>/workshop/`. WorkshopUploader упаковывается как **«Gregtools Modmanager»**.
|
||||
|
||||
### Развернуть в каталог игры (локальное тестирование)
|
||||
|
||||
```bash
|
||||
pwsh -File scripts/Deploy-Release-ToDataCenter.ps1 -IncludeWorkshopUploader
|
||||
```
|
||||
|
||||
## See also
|
||||
|
||||
- Repository README: [`WorkshopUploader/README.md`](https://github.com/mleem97/gregFramework/blob/master/WorkshopUploader/README.md)
|
||||
- [End-User Guide](/wiki/guides/players/enduser-workshop)
|
||||
- [Contributor Guide](/wiki/guides/contributors/contributor-workshop)
|
||||
- [Release](/wiki/guides/contributors/release)
|
||||
@@ -1,54 +0,0 @@
|
||||
import type { HomepageContent } from './types';
|
||||
import { homepageShellEn } from './sharedLinks';
|
||||
|
||||
export const es: HomepageContent = {
|
||||
...homepageShellEn,
|
||||
heroLine1: 'HUB DE MODDING DATACENTER.',
|
||||
heroLine2: 'SÉ INTELIGENTE. SÉ COMO GREG.',
|
||||
heroSub1: 'Claro. Flexible. Impulsado por la comunidad.',
|
||||
heroSub2: 'gregFramework, stacks Rust, multijugador y plugins.',
|
||||
ctaStart: 'EMPEZAR MODDING',
|
||||
ctaMods: 'MODS Y PLUGINS STANDALONE DISPONIBLES',
|
||||
docsPaths: 'Rutas de documentación',
|
||||
featureTitles: ['Modding doble vía', 'Puente de hooks runtime', 'Docs desde wiki', 'Ecosistema comunidad'],
|
||||
featureDescriptions: [
|
||||
'Crea mods en C# o en Rust nativo vía C-ABI/FFI.',
|
||||
'Parches Harmony, IDs de eventos y forwarding determinista.',
|
||||
'Fuente oficial en .wiki para usuarios y modders.',
|
||||
'Docs del framework core y de plugins standalone.',
|
||||
],
|
||||
comingSoon: 'Próximamente',
|
||||
comingSoonText: '`datacentermods.com` está en preparación. Mientras tanto, usa `Docs Hub → Standalone Mods`.',
|
||||
communityTitle: 'Comunidad y mantenedores',
|
||||
communityText: 'Este portal reúne docs de gregFramework y plugins de la comunidad para el ecosistema Data Center.',
|
||||
docsEndUserTitle: 'End-User',
|
||||
docsEndUserDescription: 'Install, update, FAQ, troubleshooting.',
|
||||
docsModDevsTitle: 'Mod-Devs',
|
||||
docsModDevsDescription: 'Debug workflows, setup, hooks and references.',
|
||||
docsContributorsTitle: 'Contributors',
|
||||
docsContributorsDescription: 'Conventions, CI checks, contribution workflow.',
|
||||
docsCapabilityTitle: 'Capability Matrix',
|
||||
docsCapabilityDescription: 'Complete feature map and implementation use cases.',
|
||||
ecosystemTitle: 'Ecosystem Coverage',
|
||||
ecosystemCoreTitle: 'gregFramework core',
|
||||
ecosystemCoreDescription: 'Hook system, FFI bridge, event contracts and runtime architecture.',
|
||||
ecosystemCoreCta: 'Open core docs →',
|
||||
ecosystemRustTitle: 'Standalone Rust',
|
||||
ecosystemRustDescription: 'Rust/FFI implementation guides for external and standalone runtimes.',
|
||||
ecosystemRustCta: 'Open Rust/FFI docs →',
|
||||
ecosystemMultiplayerTitle: 'Multiplayer & Plugins',
|
||||
ecosystemMultiplayerDescription: 'Multiplayer roadmap, plugin docs, and community module references.',
|
||||
ecosystemMultiplayerCta: 'Open multiplayer docs →',
|
||||
gregTitle: 'The Legend of Greg',
|
||||
gregText1:
|
||||
'Greg is the tireless server technician of this project. He looks like he has not slept for months, and he is usually quiet — but once a rack fails or a mod breaks, Greg is already there.',
|
||||
gregText2:
|
||||
'He quietly fulfills your wishes: more uptime, cleaner configs, better logs and less deployment drama. He does not ask much, he just ships.',
|
||||
gregQuote: '"Be smart. Be like Greg."',
|
||||
supportTitle: 'Support',
|
||||
supportText: 'Report bugs, request docs for new community plugins, and track workstreams.',
|
||||
supportCta: 'Open GitHub Issues',
|
||||
availableModsLabel: 'Available Mods',
|
||||
repositoryLabel: 'Repository',
|
||||
joinLabel: 'JOIN',
|
||||
};
|
||||
@@ -1,54 +0,0 @@
|
||||
import type { HomepageContent } from './types';
|
||||
import { homepageShellEn } from './sharedLinks';
|
||||
|
||||
export const fr: HomepageContent = {
|
||||
...homepageShellEn,
|
||||
heroLine1: 'HUB DE MODDING DATACENTER.',
|
||||
heroLine2: 'SOYEZ MALIN, SOYEZ GREG.',
|
||||
heroSub1: 'Simple. Flexible. Piloté par la communauté.',
|
||||
heroSub2: 'gregFramework, stacks Rust, multijoueur et plugins.',
|
||||
ctaStart: 'COMMENCER LE MODDING',
|
||||
ctaMods: 'MODS & PLUGINS STANDALONE DISPONIBLES',
|
||||
docsPaths: 'Parcours de documentation',
|
||||
featureTitles: ['Modding double piste', 'Pont runtime hooks', 'Docs basées sur le wiki', 'Écosystème communauté'],
|
||||
featureDescriptions: [
|
||||
'Créez des mods en C# ou en Rust natif via C-ABI/FFI.',
|
||||
'Patches Harmony, IDs d’événements et routage déterministe.',
|
||||
'Source de vérité issue de .wiki pour users et moddeurs.',
|
||||
'Docs du framework principal et des plugins standalone.',
|
||||
],
|
||||
comingSoon: 'Bientôt disponible',
|
||||
comingSoonText: '`datacentermods.com` est en préparation. En attendant, consultez `Docs Hub → Standalone Mods`.',
|
||||
communityTitle: 'Communauté & Mainteneurs',
|
||||
communityText: 'Ce portail regroupe la doc gregFramework et les plugins communautaires de l’écosystème Data Center.',
|
||||
docsEndUserTitle: 'End-User',
|
||||
docsEndUserDescription: 'Install, update, FAQ, troubleshooting.',
|
||||
docsModDevsTitle: 'Mod-Devs',
|
||||
docsModDevsDescription: 'Debug workflows, setup, hooks and references.',
|
||||
docsContributorsTitle: 'Contributors',
|
||||
docsContributorsDescription: 'Conventions, CI checks, contribution workflow.',
|
||||
docsCapabilityTitle: 'Capability Matrix',
|
||||
docsCapabilityDescription: 'Complete feature map and implementation use cases.',
|
||||
ecosystemTitle: 'Ecosystem Coverage',
|
||||
ecosystemCoreTitle: 'gregFramework core',
|
||||
ecosystemCoreDescription: 'Hook system, FFI bridge, event contracts and runtime architecture.',
|
||||
ecosystemCoreCta: 'Open core docs →',
|
||||
ecosystemRustTitle: 'Standalone Rust',
|
||||
ecosystemRustDescription: 'Rust/FFI implementation guides for external and standalone runtimes.',
|
||||
ecosystemRustCta: 'Open Rust/FFI docs →',
|
||||
ecosystemMultiplayerTitle: 'Multiplayer & Plugins',
|
||||
ecosystemMultiplayerDescription: 'Multiplayer roadmap, plugin docs, and community module references.',
|
||||
ecosystemMultiplayerCta: 'Open multiplayer docs →',
|
||||
gregTitle: 'The Legend of Greg',
|
||||
gregText1:
|
||||
'Greg is the tireless server technician of this project. He looks like he has not slept for months, and he is usually quiet — but once a rack fails or a mod breaks, Greg is already there.',
|
||||
gregText2:
|
||||
'He quietly fulfills your wishes: more uptime, cleaner configs, better logs and less deployment drama. He does not ask much, he just ships.',
|
||||
gregQuote: '"Be smart. Be like Greg."',
|
||||
supportTitle: 'Support',
|
||||
supportText: 'Report bugs, request docs for new community plugins, and track workstreams.',
|
||||
supportCta: 'Open GitHub Issues',
|
||||
availableModsLabel: 'Available Mods',
|
||||
repositoryLabel: 'Repository',
|
||||
joinLabel: 'JOIN',
|
||||
};
|
||||
@@ -1,18 +1,10 @@
|
||||
import { de } from './de';
|
||||
import { en } from './en';
|
||||
import { es } from './es';
|
||||
import { fr } from './fr';
|
||||
import { ja } from './ja';
|
||||
import { ru } from './ru';
|
||||
import type { HomepageContent, LocaleKey } from './types';
|
||||
|
||||
const homepageByLocale: Record<LocaleKey, HomepageContent> = {
|
||||
en,
|
||||
de,
|
||||
fr,
|
||||
es,
|
||||
ru,
|
||||
ja,
|
||||
};
|
||||
|
||||
export type { HomepageContent, LocaleKey } from './types';
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
import type { HomepageContent } from './types';
|
||||
import { homepageShellEn } from './sharedLinks';
|
||||
|
||||
export const ja: HomepageContent = {
|
||||
...homepageShellEn,
|
||||
heroLine1: 'DATACENTER MODDING HUB.',
|
||||
heroLine2: 'BE SMART. BE LIKE GREG.',
|
||||
heroSub1: 'シンプル。柔軟。コミュニティ主導。',
|
||||
heroSub2: 'gregFramework、Rustスタック、マルチプレイ、プラグインを網羅。',
|
||||
ctaStart: 'MODDING を始める',
|
||||
ctaMods: '利用可能な STANDALONE MODS & PLUGINS',
|
||||
docsPaths: 'ドキュメント導線',
|
||||
featureTitles: ['デュアルトラック Modding', 'ランタイム Hook Bridge', 'Wiki ベース Docs', 'コミュニティ エコシステム'],
|
||||
featureDescriptions: [
|
||||
'C# または Rust (C-ABI/FFI) で Mod を開発。',
|
||||
'Harmony パッチ、Event ID、決定的な Hook 転送。',
|
||||
'.wiki を source of truth としたユーザー/開発者向け導線。',
|
||||
'Framework 本体と Standalone プラグインの情報を統合。',
|
||||
],
|
||||
comingSoon: '近日公開',
|
||||
comingSoonText: '`datacentermods.com` は準備中です。公開まで `Docs Hub → Standalone Mods` をご利用ください。',
|
||||
communityTitle: 'コミュニティ & メンテナー',
|
||||
communityText: 'このポータルは Data Center エコシステム向けに gregFramework docs と community plugins をまとめています。',
|
||||
docsEndUserTitle: 'End-User',
|
||||
docsEndUserDescription: 'Install, update, FAQ, troubleshooting.',
|
||||
docsModDevsTitle: 'Mod-Devs',
|
||||
docsModDevsDescription: 'Debug workflows, setup, hooks and references.',
|
||||
docsContributorsTitle: 'Contributors',
|
||||
docsContributorsDescription: 'Conventions, CI checks, contribution workflow.',
|
||||
docsCapabilityTitle: 'Capability Matrix',
|
||||
docsCapabilityDescription: 'Complete feature map and implementation use cases.',
|
||||
ecosystemTitle: 'Ecosystem Coverage',
|
||||
ecosystemCoreTitle: 'gregFramework core',
|
||||
ecosystemCoreDescription: 'Hook system, FFI bridge, event contracts and runtime architecture.',
|
||||
ecosystemCoreCta: 'Open core docs →',
|
||||
ecosystemRustTitle: 'Standalone Rust',
|
||||
ecosystemRustDescription: 'Rust/FFI implementation guides for external and standalone runtimes.',
|
||||
ecosystemRustCta: 'Open Rust/FFI docs →',
|
||||
ecosystemMultiplayerTitle: 'Multiplayer & Plugins',
|
||||
ecosystemMultiplayerDescription: 'Multiplayer roadmap, plugin docs, and community module references.',
|
||||
ecosystemMultiplayerCta: 'Open multiplayer docs →',
|
||||
gregTitle: 'The Legend of Greg',
|
||||
gregText1:
|
||||
'Greg is the tireless server technician of this project. He looks like he has not slept for months, and he is usually quiet — but once a rack fails or a mod breaks, Greg is already there.',
|
||||
gregText2:
|
||||
'He quietly fulfills your wishes: more uptime, cleaner configs, better logs and less deployment drama. He does not ask much, he just ships.',
|
||||
gregQuote: '"Be smart. Be like Greg."',
|
||||
supportTitle: 'Support',
|
||||
supportText: 'Report bugs, request docs for new community plugins, and track workstreams.',
|
||||
supportCta: 'Open GitHub Issues',
|
||||
availableModsLabel: 'Available Mods',
|
||||
repositoryLabel: 'Repository',
|
||||
joinLabel: 'JOIN',
|
||||
};
|
||||
@@ -1,54 +0,0 @@
|
||||
import type { HomepageContent } from './types';
|
||||
import { homepageShellEn } from './sharedLinks';
|
||||
|
||||
export const ru: HomepageContent = {
|
||||
...homepageShellEn,
|
||||
heroLine1: 'ХАБ МОДДИНГА DATACENTER.',
|
||||
heroLine2: 'БУДЬ УМНЫМ. БУДЬ КАК ГРЕГ.',
|
||||
heroSub1: 'Просто. Гибко. Силой сообщества.',
|
||||
heroSub2: 'gregFramework, Rust-стек, мультиплеер и плагины.',
|
||||
ctaStart: 'НАЧАТЬ МОДДИНГ',
|
||||
ctaMods: 'ДОСТУПНЫЕ STANDALONE МОДЫ И ПЛАГИНЫ',
|
||||
docsPaths: 'Разделы документации',
|
||||
featureTitles: ['Два пути моддинга', 'Runtime Hook Bridge', 'Вики-документация', 'Экосистема сообщества'],
|
||||
featureDescriptions: [
|
||||
'Пишите моды на C# или нативно на Rust через C-ABI/FFI.',
|
||||
'Harmony-патчи, event IDs и детерминированный forwarding.',
|
||||
'Единый источник в .wiki для пользователей и моддеров.',
|
||||
'Документация ядра и standalone-плагинов сообщества.',
|
||||
],
|
||||
comingSoon: 'Скоро',
|
||||
comingSoonText: '`datacentermods.com` пока готовится. До запуска используйте `Docs Hub → Standalone Mods`.',
|
||||
communityTitle: 'Сообщество и мейнтейнеры',
|
||||
communityText: 'Портал объединяет документацию gregFramework и community-плагинов экосистемы Data Center.',
|
||||
docsEndUserTitle: 'End-User',
|
||||
docsEndUserDescription: 'Install, update, FAQ, troubleshooting.',
|
||||
docsModDevsTitle: 'Mod-Devs',
|
||||
docsModDevsDescription: 'Debug workflows, setup, hooks and references.',
|
||||
docsContributorsTitle: 'Contributors',
|
||||
docsContributorsDescription: 'Conventions, CI checks, contribution workflow.',
|
||||
docsCapabilityTitle: 'Capability Matrix',
|
||||
docsCapabilityDescription: 'Complete feature map and implementation use cases.',
|
||||
ecosystemTitle: 'Ecosystem Coverage',
|
||||
ecosystemCoreTitle: 'gregFramework core',
|
||||
ecosystemCoreDescription: 'Hook system, FFI bridge, event contracts and runtime architecture.',
|
||||
ecosystemCoreCta: 'Open core docs →',
|
||||
ecosystemRustTitle: 'Standalone Rust',
|
||||
ecosystemRustDescription: 'Rust/FFI implementation guides for external and standalone runtimes.',
|
||||
ecosystemRustCta: 'Open Rust/FFI docs →',
|
||||
ecosystemMultiplayerTitle: 'Multiplayer & Plugins',
|
||||
ecosystemMultiplayerDescription: 'Multiplayer roadmap, plugin docs, and community module references.',
|
||||
ecosystemMultiplayerCta: 'Open multiplayer docs →',
|
||||
gregTitle: 'The Legend of Greg',
|
||||
gregText1:
|
||||
'Greg is the tireless server technician of this project. He looks like he has not slept for months, and he is usually quiet — but once a rack fails or a mod breaks, Greg is already there.',
|
||||
gregText2:
|
||||
'He quietly fulfills your wishes: more uptime, cleaner configs, better logs and less deployment drama. He does not ask much, he just ships.',
|
||||
gregQuote: '"Be smart. Be like Greg."',
|
||||
supportTitle: 'Support',
|
||||
supportText: 'Report bugs, request docs for new community plugins, and track workstreams.',
|
||||
supportCta: 'Open GitHub Issues',
|
||||
availableModsLabel: 'Available Mods',
|
||||
repositoryLabel: 'Repository',
|
||||
joinLabel: 'JOIN',
|
||||
};
|
||||
@@ -1,4 +1,4 @@
|
||||
export type LocaleKey = 'en' | 'de' | 'fr' | 'es' | 'ru' | 'ja';
|
||||
export type LocaleKey = 'en' | 'de';
|
||||
|
||||
export type HomepageDocLink = {
|
||||
title: string;
|
||||
|
||||
@@ -34,49 +34,6 @@ const byLocale: Record<LocaleKey, ModsPageStrings> = {
|
||||
download: 'DLL laden',
|
||||
notReleased: 'Noch nicht veröffentlicht',
|
||||
},
|
||||
fr: {
|
||||
title: 'Catalogue mods & plugins',
|
||||
description:
|
||||
'Généré depuis le catalogue des modules. Chaque entrée renvoie vers le wiki, la page release et le téléchargement.',
|
||||
pluginsHeading: 'Plugins',
|
||||
modsHeading: 'Mods',
|
||||
wiki: 'Wiki',
|
||||
release: 'Release',
|
||||
download: 'Télécharger DLL',
|
||||
notReleased: 'Pas encore publié',
|
||||
},
|
||||
es: {
|
||||
title: 'Catálogo de mods y plugins',
|
||||
description:
|
||||
'Generado desde el catálogo de módulos. Cada entrada enlaza al wiki, la página de release y la descarga.',
|
||||
pluginsHeading: 'Plugins',
|
||||
modsHeading: 'Mods',
|
||||
wiki: 'Wiki',
|
||||
release: 'Release',
|
||||
download: 'Descargar DLL',
|
||||
notReleased: 'Aún no publicado',
|
||||
},
|
||||
ru: {
|
||||
title: 'Каталог модов и плагинов',
|
||||
description:
|
||||
'Собрано из каталога модулей. Каждая запись ведёт на wiki, страницу релиза и маршрут загрузки.',
|
||||
pluginsHeading: 'Плагины',
|
||||
modsHeading: 'Моды',
|
||||
wiki: 'Wiki',
|
||||
release: 'Релиз',
|
||||
download: 'Скачать DLL',
|
||||
notReleased: 'Ещё не выпущено',
|
||||
},
|
||||
ja: {
|
||||
title: 'Mods & プラグインカタログ',
|
||||
description: 'モジュールカタログから生成。各エントリは Wiki・リリースページ・ダウンロードへリンクします。',
|
||||
pluginsHeading: 'プラグイン',
|
||||
modsHeading: 'Mods',
|
||||
wiki: 'Wiki',
|
||||
release: 'リリース',
|
||||
download: 'DLL を取得',
|
||||
notReleased: '未リリース',
|
||||
},
|
||||
};
|
||||
|
||||
export function getModsPageStrings(locale: string): ModsPageStrings {
|
||||
|
||||
Reference in New Issue
Block a user