Skip to content

Fix Dyson Sphere visibility, tutorial/dashboard sync, replicator multiplier and ILS stutter - #774

Open
JoshyDo wants to merge 6 commits into
NebulaModTeam:masterfrom
JoshyDo:fix/tutorial-and-dashboard-sync
Open

JoshyDo wants to merge 6 commits into
NebulaModTeam:masterfrom
JoshyDo:fix/tutorial-and-dashboard-sync

Conversation

@JoshyDo

@JoshyDo JoshyDo commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

🌌 Player Change Notes (Steam-style)

  • See Your Dyson Spheres & Solar Sails! Fixed a bug where Dyson Spheres and Solar Sail swarms became completely invisible to client players after rejoining, warping, or switching star systems. Megastructures now load and render reliably for everyone.
  • Smoother Space Logistics (ILS): Fixed stuttering and jittery cargo vessels arriving at or leaving Interstellar Logistics Stations. Ships now travel and dock cleanly.
  • Custom Dashboard Stays Put: Pinned statistics, graphs, and custom dashboard layouts no longer reset when switching planets, warping, or reconnecting.
  • Tutorial & Advisor Sync: Advisor tips and tutorial progress now properly sync across all players without re-triggering or causing desyncs.
  • Replicator Crafting Multiplier: The 10x crafting multiplier setting is now saved per player and properly synchronizes in multiplayer.
  • Build & Blueprint Crash Fixes: Fixed random crashes (IndexOutOfRangeException) when placing buildings, routing belts, or pasting large blueprints.
  • Save Game Stability: Fixed save compatibility checks for revision 8/9 saves (preventing sand count and combat data resets on load).

🛠️ Technical Details

  • Dyson Sphere & Sails: Trigger RequestLoadStar for player's current star on reconnect, restore render masks and buffers after import, and track loaded spheres. Added thread-safety locking to status packets, suppressed element packet floods during blueprint pasting, and unloaded remote spheres on editor/starmap close to prevent memory leaks.
  • BuildTool & Path Gizmos: Prevented IndexOutOfRangeException in BuildTool.UpdateGizmos, BuildTool_Path.UpdateGizmos, and BuildTool.GetPrefabDesc by bounds-checking object IDs against entity/prebuild pools and adding HarmonyFinalizers to suppress exceptions and reset invalid tool state during multiplayer synchronization.
  • Custom Dashboard & Tutorial Sync: Synced advisor tips, tutorial progress, and custom dashboard layouts across reconnects, warps, and planet switching (statPlans.count guard, preserved dashboard data).
  • Replicator Multipliers & ILS Movement: Persist and synchronize 10x crafting multiplier per player. Added station bounds checks to prevent interstellar ship stuttering.
  • Save Compatibility & Stability: Corrected revision 8/9 stream deserialization checks (SandCount int vs long, upfront FightData initialization) to prevent player save resets on load. Isolated debug cheats under #if ENABLE_DEBUG_CHEATS.
  • NebulaAPI Compatibility: Maintained backward compatibility for IPlayerData to avoid MissingMethodException.

Linwendong83 added a commit to Linwendong83/nebula that referenced this pull request Sep 14, 2026
@JoshyDo JoshyDo changed the title Sync tutorial/advisor progress and persist player custom dashboard ac… Fix Dyson Sphere & solar sails visibility on reconnect, replicator multipliers, dashboard & tutorial sync Sep 16, 2026
@JoshyDo
JoshyDo force-pushed the fix/tutorial-and-dashboard-sync branch from 7b1a487 to 4736a87 Compare September 16, 2026 20:46
@JoshyDo JoshyDo changed the title Fix Dyson Sphere & solar sails visibility on reconnect, replicator multipliers, dashboard & tutorial sync Fix Dyson Sphere visibility, tutorial/dashboard sync, replicator multiplier and ILS stutter Sep 16, 2026
@JoshyDo
JoshyDo force-pushed the fix/tutorial-and-dashboard-sync branch from 4736a87 to 214a59f Compare September 16, 2026 21:19
…tiplier, and ILS stutter

- Dyson Sphere & Sails: Fix invisible solar sails and sphere components on client reconnect by triggering RequestLoadStar, restoring render masks/buffers, and adding thread safety to status packets.
- BuildTool: Prevent IndexOutOfRangeException in UpdateGizmos and GetPrefabDesc via bounds checking and finalizer error suppression.
- Dashboard & Tutorials: Persist and sync custom dashboard layouts and tutorial progress across reconnects and planet switches.
- Replicator: Synchronize and persist 10x crafting multiplier per player.
- Logistics: Add station bounds checks to prevent interstellar ship stuttering.
- Saves & Stability: Fix revision 8/9 deserialization checks (SandCount and FightData) to prevent save state resets.
@JoshyDo
JoshyDo force-pushed the fix/tutorial-and-dashboard-sync branch from 3cc5f86 to a0c5842 Compare September 17, 2026 19:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant