FreeGhost

v1.2.0·Updated 2026-09-01

First-person free-flight ghost mode with vanilla-client position synchronization.

Screenshots 1 screenshots

About this mod Machine translation

FreeGhost

English | Chinese

Recommended companion mod / Recommended for use with: EnhancedPing

English

FreeGhost turns PEAK's Ghost into a first-person free-flight mode after you die, while remaining fully client-side.

Highlights

  • Fly freely after death: Explore the area in first person without collisions.
  • Natural controls: Move, look, ascend, descend, and sprint using your current PEAK bindings.
  • Switch anytime: Press R or the gamepad north face button to toggle between free flight and PEAK's normal spectate camera.
  • Visible to other players: Your Ghost position is synchronized using the game's existing networking.
  • No team-wide install required: Only the player using FreeGhost needs the mod.

Installation

Install Mod Manager or r2modman, or place FreeGhost.dll directly in PEAK's BepInEx/plugins directory. FreeGhost requires BepInEx 5.

Controls

| Action | Input |

|---|---|

| Move | PEAK's movement input |

| Look | PEAK's look input |

| Ascend | Jump |

| Descend | Crouch |

| Move faster | Sprint |

| Toggle free flight | R / gamepad north face button by default |

Movement follows the camera's horizontal direction. Looking up or down does not change the movement plane; use Jump and Crouch to control altitude. Your in-game keyboard, mouse, and controller bindings continue to work.

By default, each Ghost session starts with PEAK's normal spectate camera. Set General.Default Mode to Free to start in free-flight mode instead. In either case, press the toggle shortcut to switch modes without changing the current spectate target; entering free flight resumes from the current camera position.

Free flight is limited to a configurable radius around the position where you entered the mode. The default radius is 1 km. Movement and mode switching pause while a menu is open, the game is paused, or player input is otherwise blocked.

Configuration

The config file is generated at BepInEx/config/com.github.lllei.FreeGhost.cfg.

| Key | Default | Allowed range |

|---|---:|---:|

| General.Enabled | true | boolean |

| General.Default Mode | Normal | Free or Normal |

| Movement.Base Speed | 8.0 | 0.1 to 1000 m/s |

| Movement.Sprint Multiplier | 2.5 | 1 to 20 |

| Movement.Max Distance | 1000 | 10 to 10000 m |

| Movement.Mode Toggle Keyboard Path | /r | Unity Input System button path |

| Movement.Mode Toggle Gamepad Path | /buttonNorth | Unity Input System button path |

| Networking.Sync To Vanilla Clients | true | boolean |

Invalid numeric values are clamped or replaced with safe defaults at runtime. Both toggle bindings accept Unity Input System button paths. /buttonNorth is Xbox Y, PlayStation Triangle, or Nintendo X.

Compatibility notes

Only the player using FreeGhost needs to install it. Other players can see the moving Ghost without installing the mod, and FreeGhost does not add custom network messages.

Building

Copy PeakGameDir.props.example to the gitignored PeakGameDir.props and set the PEAK directory, or set PEAK_GAME_DIR.

dotnet test tests\FreeGhost.Core.Tests\FreeGhost.Core.Tests.csproj -c Release

dotnet build FreeGhost.sln -c Release

dotnet msbuild src\FreeGhost\FreeGhost.csproj -t:Deploy -p:Configuration=Debug

dotnet msbuild src\FreeGhost\FreeGhost.csproj -t:PackageThunderstore -p:Configuration=Release

Normal builds never write to the game directory. Deploy is explicit. Packaging writes artifacts/lllei-FreeGhost-.zip.

For a release, update Version in FreeGhost.csproj and version_number in manifest.json. Packaging stops if the manifest and compiled DLL versions do not agree.

Chinese

FreeGhost turns PEAK's Ghost into first-person free flight mode when you die, and only requires a local installation.

Feature Highlights

  • Free flight after death: Explore the surrounding area in first person without collision.
  • Inherited game operations: movement, perspective, lift and acceleration all use PEAK's current keybindings.
  • Switch at any time: Press R or the north side button of the controller to switch between free flight a …

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPack_PEAK

File & checksum

Filename
FreeGhost-1.2.0.zip
File size
18.4 KiB