Files
gregWiki/docs/topics/meta/game-folder-layout.md
Marvin 331847013d docs: update docusaurus configuration and documentation structure
- Revised the tagline in `docusaurus.config.js` for improved clarity on the documentation's focus.
- Removed German localization support from the configuration to streamline the user experience.
- Updated navigation items in the sidebar to better reflect the current structure, emphasizing player and developer resources.
- Enhanced the README and various documentation files to clarify the repository layout and improve accessibility for users.
- Adjusted links and descriptions throughout the documentation to ensure consistency and accuracy.

This commit aims to enhance the overall clarity and usability of the documentation.
2026-04-10 02:26:32 +02:00

4.1 KiB
Raw Blame History

title, sidebar_label, description
title sidebar_label description
Game folder layout (FMF / MelonLoader) Game folder layout Canonical paths for mod configs, FMF plugins, and MelonLoader mods under the Data Center game root.

Game folder layout (FMF / MelonLoader)

This page is the single reference for where mod-related files live next to the game executable ({GameRoot}). MelonLoader sets {GameRoot}/UserData via MelonEnvironment.UserDataDirectory, {GameRoot}/Mods for MelonMods, and {GameRoot}/Plugins for MelonPlugins (e.g. FMF.ModPathRedirector.dll).

Summary

Content Path Format / notes
Mod configuration & sidecars {GameRoot}/UserData/ModCfg/ JSON config files; additional sidecar files (e.g. custom_employees_hired.txt) live here so mod-related files stay in one place.
FMF framework plugins (FFM.Plugin.*) {GameRoot}/FMF/Plugins/ DLLs; MelonLoader only scans {GameRoot}/Mods by default — see below.
Plugins (MelonLoader, e.g. ModPathRedirector) {GameRoot}/Plugins/ MelonLoader Plugins folder — MelonPlugin DLLs only.
Mods (MelonLoader, e.g. FMF.Mod.*) {GameRoot}/Mods/ MelonLoader Mods folder — MelonMod DLLs.

UserData/ModCfg

  • All mod-related configuration and JSON sidecars live under UserData/ModCfg.
  • On first start, missing files are created; on existing installs, older files may be migrated from UserData/ (root) into ModCfg/ when still present.
  • Examples: multiplayer-sync.config.json, pluginsync.config.json.
  • Framework metadata (e.g. save-compat stamp) lives under UserData/ModCfg/FrikaFM/ (migrated from UserData/FrikaFM).

FMF/Plugins and MelonLoader

FFM plugin DLLs canonically live under {GameRoot}/FMF/Plugins. MelonLoader enumerates Mods/ by default. Practical options:

  1. Also place (or link) DLLs under Mods/ — common path for automatic loading.
  2. Use subfolders under Mods if your MelonLoader version loads mods from subdirectories (check your ML version).
  3. PluginSync downloads from the framework land under FMF/Plugins/PluginSync/....

Mods (FMF-based)

Standard MelonLoader mods (including FMF-based mods) install under {GameRoot}/Mods/ as usual.

Steam Workshop (game) vs MelonLoader

The game stores subscribed Workshop content under {GameRoot}/{ExeName}_Data/StreamingAssets/mods/workshop_<PublishedFileId>/WorkshopUploadContent (native ModLoader, not MelonLoader).

  • MelonLoader scans {GameRoot}/Mods (including subfolders, depending on settings), not arbitrary paths via Loader.cfg.
  • UserData: MelonLoader config lives under {GameRoot}/UserData/ (e.g. MelonLoader.cfg or, depending on version, UserData/MelonLoader/Loader.cfg — verify on install). For subfolder loading: disable_subfolder_load = false, optionally disable_subfolder_manifest = true.
  • Point Workshop DLLs into Melons scan: use a junction (or symlink) from a folder under Mods/ to the items WorkshopUploadContent path, e.g. (PowerShell, adjust paths):
$game = "C:\Path\To\Data Center"
$id = "12345678901234567"
$target = Join-Path $game "Data Center_Data\StreamingAssets\mods\workshop_$id\WorkshopUploadContent"
$link = Join-Path $game "Mods\workshop_$id"
cmd /c mklink /J "$link" "$target"

Without a junction, Melon mods must still live physically under Mods/ or be deployed there by your distribution.

WorkshopUploader templates (modded): Under content/, Mods/, Plugins/, and a ModFramework/ tree are created — ModFramework/FMF/Plugins maps to {GameRoot}/FMF/Plugins if you junction FMF to …/WorkshopUploadContent/ModFramework/FMF. Additional framework files (config, assets) can be bundled under ModFramework/.

See also

  • Meta & operations
  • Mod configuration contracts are described with runtime docs in Framework and the core README in gregFramework (paths under UserData/ModCfg/ follow the conventions above).