NebulaLocalResync
Adds a configurable hotkey for Nebula's built-in fast reconnect, providing one-key recovery from client desynchronization.
| Date uploaded | 3 weeks ago |
| Version | 0.2.0 |
| Download link | Objective_DriveYards-NebulaLocalResync-0.2.0.zip |
| Downloads | 18 |
| Dependency string | Objective_DriveYards-NebulaLocalResync-0.2.0 |
This mod requires the following mods to function
nebula-NebulaMultiplayerMod
With this mod you will be able to play with your friends in the same game! Now supports combat mode in game version 0.10.34
Preferred version: 0.9.22nebula-NebulaMultiplayerModApi
API for other mods to work with the Nebula Multiplayer Mod. (Does NOT require Nebula)
Preferred version: 2.1.0README
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.
CHANGELOG
Changelog
0.2.0
- Replaced the experimental local factory/Dark Fog reconciliation system with Nebula's built-in fast reconnect operation.
Ctrl+Shift+Rnow calls the sameGameStatesManager.DoFastReconnect()path used by Nebula's/reconnectcommand.- Removed all custom resync request/response packets and server-side synchronization logic.
- The mod is now client-only; no companion installation is required on the headless server.
- Preserved the existing
Client.ResyncHotkeyconfiguration key so upgrades retain the configured shortcut. - Rewrote the Thunderstore Details page and package description to match the new reconnect-only functionality.
- Retained build/package-only behavior; the build process does not install files into r2modman.
0.1.4
- Changed Thunderstore/r2modman packaging so the mod manager owns deployment into the active BepInEx profile.
- Removed automatic profile installation behavior from the build script.
0.1.3
- Added experimental host-authoritative Dark Fog ground-enemy reconciliation.
0.1.0
- Initial experimental local host-authoritative resync implementation.