-
-
Notifications
You must be signed in to change notification settings - Fork 122
About Nebula
When a player joins a multiplayer save for the first time, they can choose which planet to start on.
Click on any star to bring up the solar system preview. From there click on any planet to bring up its details.
By clicking a planet again while having its detail panel open you will set it as your birth planet.
A chat window allows players to communicate or type in commands.
Default hotkey is Alt + ~
to toggle, Esc
to close. See chat wiki page for commands and settings.
When an error occurs, it will show the currently running mods.
User can click Copy button to copy and close the error message.
- Sync research progress
Tech is shared between all players. Manual research by MechaLab
still requires all items, only the Hash contributed is added up and synced.
- Sync milestone
Recorded by the first player who unlocks the milestone.
- Sync soil
(optional)
This option can only be changed before the multiplayer game starts.
When enabled, all players will share a public pool of soil. Build actions will add/take soil from the public pool.
When a player joins/leaves, he will bring/take his share of soil.
- Sync UPS
(optional)
By enabling this option, the client will try to make the game run at the same speed of Host to prevent desync.
When using alongside the BulletTime mod, the UPS can go up to 240, and down to 0 (paused).
- Save
Because the Client doesn't have all of the data, it can't save the game. Only the Host is able to save.
- Metadata
Right now only Host can spend Metadata.
- Milkyway
Milkyway is not available in multiplayer game.
Nebula uses Client-server architecture, syncs some of the game states.
The data of players is stored in [saveName].server
in the same folder of game save.
Client's key location is %userprofile%\Documents\Dyson Sphere Program\player.key
Because game save can be quite huge (>1GB), client will only request a small part of local data from the host. Global data will be synced by an event trigger.
PlanetFactory
- Load when client arrives on a new planet.
- Unload when client leaves the star system.
DysonSphere
- Load when client arrives on a new star system, or changes the viewed star in
DysonEditor
. - Unload when client leaves the star system.
PlanetData
- Load when client arrives on a new star system.
Here is a short list of what is currently implemented:
- Server / Client communication
- Custom Multiplayer menu in-game
- Custom Config settings in-game
- Player Movement syncing
- Player VFX syncing (jetpack, torch, ...)
- Player SFX syncing (footsteps sound, torch sound, ...)
- Player mecha appearance syncing
- Game Time syncing
- Universe settings syncing
- Client planet loading from server
- Planet vegetation mining syncing
- Planet resources syncing
- Build preview syncing
- Entity creation syncing
- Entity desctruction syncing
- Entity upgrade syncing
- Dyson spheres syncing
- Researches syncing
- Factories statistics syncing
- Containers inventory syncing
- Building Interaction syncing
- Belts syncing
- Dropped items syncing
- Interstellar Station syncing
- Vessels position syncing
- Foundation syncing (terrain deformation)
- Server state persistence
- Power network syncing