NebulaLocalResync
Host-authoritative local factory and Dark Fog ground-enemy resync for Nebula multiplayer.
CHANGELOG
Changelog
0.1.4
- Changed Thunderstore/r2modman packaging to place the plugin DLL directly at the package root so the mod manager owns deployment into the active BepInEx profile.
- Removed all automatic/manual profile installation behavior from the build script. Building now compiles and packages only.
- Added explicit package validation and output messaging so a successful build confirms the upload ZIP contains the compiled DLL and required public files.
- No resync protocol or gameplay behavior changes from 0.1.3.
0.1.3
- Adds host-authoritative Dark Fog ground-enemy reconciliation.
- Fixes the client failure mode where a Dark Fog enemy can remain visibly rendered but become untargetable after combat synchronization diverges.
- Host now includes a planet-wide active ground-enemy ID set plus nearby enemy identity/position data in the resync snapshot.
- Removes nearby client-only phantom Dark Fog enemies only when the host confirms the enemy ID is absent from the entire planet.
- Repairs Nebula's transient pending/invincible enemy flags when the host confirms the enemy is still alive nearby.
- Performs enemy removal through DSP's normal
RemoveEnemyFinalcleanup path while inside Nebula's incoming-combat scope. - Reports authoritative host enemies that are completely missing locally instead of attempting unsafe partial recreation.
- Adds
Server.MaximumGroundEnemiesPerPlanetas a safety bound. - Bumps the custom snapshot protocol to version 2; client and server must both run 0.1.3.
- Build script now validates the project-root 256x256
icon.pngand emits a complete, directly uploadable Thunderstore ZIP with all public package files.
0.1.2
- Fixes compilation against current DSP/Nebula assemblies that target .NET Standard 2.1 by explicitly resolving and referencing
netstandard.dll. - Adds available Unity/DSP .NET Standard facade assemblies to the PowerShell compiler reference set.
- Prints the selected
netstandard.dllpath before compiling so the active reference can be verified from the console output.
0.1.1
- Fixes a PowerShell parser error in
Build-And-Install.ps1caused by interpolating$Root:without braces. - Clarifies the remote-server workflow: build once locally, then copy the same DLL to the remote server.
0.1.0
- Adds a client-requested, host-authoritative local factory resync.
- Default activation is
Ctrl+Shift+Ron a connected client standing on a loaded planet. - Host scans a bounded radius around the request position and returns an authoritative entity manifest.
- Matching storage components are serialized with DSP's own
Export/Importmethods. - Matching assembler, miner, and lab components receive primitive/primitive-array state from the host.
- Host/client topology differences are detected and logged but are not created or deleted.
- Belts are included in the topology audit; belt cargo-path contents are deliberately not rewritten in this release.
- Packet processing queues all DSP reads/writes onto Unity's game thread.