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

Details

Date Uploaded
14 hours ago
Downloads
17
Size
38KB
Dependency string
Objective_DriveYards-NebulaLocalResync-0.1.2

Nebula Local Resync

Nebula Local Resync is a targeted recovery utility for Dyson Sphere Program multiplayer sessions using Nebula Multiplayer Mod. It allows a connected client to request a fresh, host-authoritative snapshot of the factory area around the local mech and repair supported component state without forcing a full reconnect or reloading the entire planet.

The same mod must be installed on both the Nebula client and the Nebula host/server. Headless Nebula servers are supported because the server and client use the same BepInEx plugin; the plugin determines its multiplayer role at runtime.

Current status: Alpha. The mod is intentionally conservative. It repairs supported component state but does not create or delete structurally mismatched factory entities.

Why use it?

Long-running multiplayer sessions can occasionally leave a client with factory state that no longer matches the host. Symptoms may include local machine state appearing stale or inconsistent even though the host still has the authoritative simulation state.

Nebula Local Resync provides a bounded recovery operation centered on the player instead of immediately requiring a disconnect/reconnect cycle.

Usage

While connected to a Nebula host and standing on a loaded planet, press:

Ctrl + Shift + R

The client requests a resync around the local mech. The default audit/resync radius is 150 meters.

The host builds the authoritative response and sends it only to the requesting client. The response is validated and applied on the Unity game thread.

What is currently repaired

Version 0.1.2 can refresh supported state for matching nearby factory components, including:

  • Storage components
  • Assemblers
  • Miners
  • Labs

The operation also audits nearby entity topology and records discrepancies such as:

  • Entities present on the host but missing locally
  • Entities present locally but absent on the host
  • Entity/prototype mismatches
  • Nearby belts

Intentional limitations

Nebula Local Resync is designed to avoid destructive recovery operations while the player is actively standing on a planet.

In this version:

  • Missing or phantom buildings are reported but not created or deleted.
  • Structurally mismatched entities are reported but not replaced.
  • Belt entities are audited, but belt cargo-path contents are not rewritten.
  • The mod does not tear down and reload the active PlanetFactory beneath the player.
  • If structural desync remains after a local resync, Nebula's normal reconnect flow remains the appropriate fallback.

These restrictions are deliberate. The goal is to repair supported state without introducing a second desync through aggressive live-factory reconstruction.

Installation

r2modman / Thunderstore Mod Manager

Install the package normally and allow the mod manager to install its dependencies.

Install the same version of Nebula Local Resync on both the client and the host/server.

For a remote headless server managed separately, install/copy the same package DLL into that server's active BepInEx profile.

Manual installation

Install the required Nebula/BepInEx stack first, then place:

NebulaLocalResync.dll

under:

BepInEx/plugins/NebulaLocalResync/

on both the client and host/server.

Restart both instances after installing or updating the mod.

Configuration

A BepInEx configuration file is generated after the first launch:

BepInEx/config/com.local.nebulalocalresync.cfg

Configuration includes the client resync hotkey and radius as well as server-side safety limits such as maximum radius, maximum entity count, maximum payload size, and request cooldown.

Server-side limits are enforced by the host even when a client requests a larger operation.

Safety and networking model

  • The host remains authoritative.
  • Clients request repair data; they do not dictate authoritative factory state.
  • Resync requests are radius-bounded and server-limited.
  • Oversized requests are rejected instead of silently truncating the authoritative snapshot.
  • Factory state application is queued to the Unity game thread rather than performed directly from a network callback.
  • Structural differences are surfaced rather than automatically creating/deleting live factory entities.

Troubleshooting

If the hotkey does not produce a resync:

  1. Confirm the same version of Nebula Local Resync is installed on both client and server.
  2. Confirm both sides are running compatible versions of Dyson Sphere Program and Nebula.
  3. Check BepInEx/LogOutput.log on both client and server for entries containing Nebula Local Resync or Nebula Resync.
  4. Confirm the client is connected and standing on a loaded planet.

If the resync completes but reports missing, phantom, or mismatched entities, those structural discrepancies are not modified by version 0.1.2. Use Nebula's normal reconnect flow if the visible desync persists.

Requirements

  • Dyson Sphere Program
  • BepInEx
  • Nebula Multiplayer Mod

The Thunderstore package declares Nebula Multiplayer Mod as a dependency so its required dependency chain is installed by supported mod managers.

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