Dyson Sphere Program
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
3 weeks ago
Downloads
218
Size
27KB

Nebula Local Resync 0.2.0

A lightweight client-side recovery utility for Dyson Sphere Program + Nebula multiplayer.

Nebula Local Resync maps Ctrl+Shift+R to Nebula's own built-in fast reconnect operation. It is intended for client desynchronization where local simulation state no longer agrees with the host—for example, stale or untargetable Dark Fog enemies—and Nebula's /reconnect command restores the session correctly.

Why the behavior changed in 0.2.0

Earlier 0.1.x releases attempted targeted host-authoritative repair of nearby factory and Dark Fog state. In real multiplayer testing, those repairs were not sufficient for the observed combat desynchronization, while Nebula's existing /reconnect command consistently recovered the client.

Version 0.2.0 therefore removes the custom resynchronization protocol and delegates recovery directly to Nebula's established fast-reconnect path. The hotkey calls the same GameStatesManager.DoFastReconnect() operation used by Nebula's /reconnect command.

Usage

While connected to a Nebula server as a client, press:

Ctrl + Shift + R

The client immediately starts Nebula's fast reconnect procedure. This is functionally equivalent to opening Nebula chat and entering:

/reconnect

The shortcut is configurable in:

BepInEx\config\com.local.nebulalocalresync.cfg

The existing configuration key is preserved for upgrades from 0.1.x:

[Client]
ResyncHotkey = R + LeftShift + LeftControl

Client only

Version 0.2.0 does not add custom network packets and does not require a companion copy on the headless server.

Install the mod on the client through Thunderstore/r2modman. The server only needs its normal Nebula installation.

Safety and scope

  • Uses Nebula's own fast reconnect implementation rather than modifying live factory or enemy pools.
  • Does not create, delete, or overwrite DSP factory entities directly.
  • Does not introduce a custom server protocol.
  • Does not run on the host; Nebula's reconnect command is client-only.
  • Includes a short input cooldown to prevent duplicate reconnect calls during focus/input transitions.

Building a Thunderstore package

The included build script compiles against the DSP, BepInEx, Nebula API, and Nebula assemblies in your active r2modman profile. It only builds and packages; it never installs or copies the DLL into the profile.

From PowerShell:

Set-ExecutionPolicy -Scope Process Bypass

cd "E:\Downloads\NebulaLocalResync"

.\Build-Package.ps1 `
  -ProfileDir "$env:APPDATA\r2modmanPlus-local\DysonSphereProgram\profiles\Nebula-Multiplayer"

If DSP cannot be detected automatically, supply the game installation explicitly:

.\Build-Package.ps1 `
  -ProfileDir "$env:APPDATA\r2modmanPlus-local\DysonSphereProgram\profiles\Nebula-Multiplayer" `
  -GameDir "G:\steam\steamapps\common\Dyson Sphere Program"

A successful run produces:

dist\NebulaLocalResync.dll
dist\NebulaLocalResync-0.2.0-Thunderstore.zip
dist\NebulaLocalResync-0.2.0-r2modman.zip

Upload NebulaLocalResync-0.2.0-Thunderstore.zip directly to Thunderstore. The archive is validated to contain all required public files at its root, including the compiled DLL and 256x256 icon.

Installation

Install and update through Thunderstore/r2modman. Do not manually copy a second DLL into the same profile.

Compatibility

Nebula and Dyson Sphere Program are actively updated. The package builder intentionally compiles against the assemblies from the selected local profile so an incompatible API change fails at build time rather than silently targeting stale binaries.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.