# space-wizards/space-station-14 architecture

> Architecture diagram of the GitHub repository space-wizards/space-station-14, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/space-wizards/space-station-14
- Repository: https://github.com/space-wizards/space-station-14

## Overview

Space Station 14 is a multiplayer SS13 remake whose client and server load this repository’s game-content pack on Robust Toolbox. The principal workflow shown here is manipulating stored items: a player uses the client storage UI, which emits predictive storage events; shared storage logic validates and updates contents, while the client reflects state and animations. Material storage adds a parallel insert/eject workflow, and the tree also exposes major gameplay areas such as atmosphere, cargo, chemistry, access, and administration. Source excerpts are partial, so links between unsampled gameplay subsystems are omitted.

Main entry points: [`Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs`](https://github.com/space-wizards/space-station-14/blob/master/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs) (Storage Logic), [`Content.Client/UserInterface/Systems/Storage/StorageUIController.cs`](https://github.com/space-wizards/space-station-14/blob/master/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs) (Storage UI), [`Content.Client/Program.cs`](https://github.com/space-wizards/space-station-14/blob/master/Content.Client/Program.cs) (Game Client), [`Content.Client/Storage/Systems/StorageSystem.cs`](https://github.com/space-wizards/space-station-14/blob/master/Content.Client/Storage/Systems/StorageSystem.cs) (Storage Client)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Player Client"]
  node_clientapp["Game Client<br/>[Program.cs]"]
  node_storageui["Storage UI"]
  node_storageclient["Storage Client<br/>[StorageSystem.cs]"]
  node_materialui["Material UI"]
end

subgraph group_shared["Shared Simulation"]
  node_storagecore["Storage Logic"]
  node_storagecomponent["Storage State"]
  node_entitystorage["Entity Storage"]
  node_materialcore["Material Logic"]
  node_entityinventory["Storage Component"]
end

subgraph group_server["Server Gameplay"]
  node_materialserver["Material Operations"]
  node_voicecontrol["Voice Storage"]
  node_storagecommand["Storage Commands<br/>[StorageCommand.cs]"]
  node_cryostorage["Cryostorage"]
end

subgraph group_features["Gameplay Features"]
  node_access["Access &amp; ID<br/>[Access]"]
  node_administration["Administration<br/>[Administration]"]
  node_atmosphere["Atmosphere<br/>[Atmos]"]
  node_cargo["Cargo<br/>[Cargo]"]
  node_chemistry["Chemistry<br/>[Chemistry]"]
  node_construction["Construction<br/>[Construction]"]
end

node_player(("Player"))

node_player -->|"plays through"| node_clientapp
node_clientapp -->|"opens UI"| node_storageui
node_storageui -->|"emits storage events"| node_storagecore
node_storagecore -->|"updates contents"| node_storagecomponent
node_storageclient -->|"updates UI"| node_storageui
node_storageui -->|"requests storage actions"| node_storageclient
node_materialui -->|"sends eject message"| node_materialserver
node_materialserver -->|"uses shared material logic"| node_materialcore
node_voicecontrol -->|"inserts items"| node_storagecore
node_storagecommand -->|"inserts and queries"| node_storagecore
node_storagecore -->|"manages stored entities"| node_entityinventory

click node_clientapp "https://github.com/space-wizards/space-station-14/blob/master/Content.Client/Program.cs"
click node_storageui "https://github.com/space-wizards/space-station-14/blob/master/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs"
click node_storageclient "https://github.com/space-wizards/space-station-14/blob/master/Content.Client/Storage/Systems/StorageSystem.cs"
click node_materialui "https://github.com/space-wizards/space-station-14/blob/master/Content.Client/Materials/UI/MaterialStorageUIController.cs"
click node_storagecore "https://github.com/space-wizards/space-station-14/blob/master/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs"
click node_storagecomponent "https://github.com/space-wizards/space-station-14/blob/master/Content.Shared/Storage/StorageComponent.cs"
click node_entitystorage "https://github.com/space-wizards/space-station-14/blob/master/Content.Shared/Storage/Components/EntityStorageComponent.cs"
click node_materialcore "https://github.com/space-wizards/space-station-14/blob/master/Content.Shared/Materials/SharedMaterialStorageSystem.cs"
click node_materialserver "https://github.com/space-wizards/space-station-14/blob/master/Content.Server/Materials/MaterialStorageSystem.cs"
click node_voicecontrol "https://github.com/space-wizards/space-station-14/blob/master/Content.Server/VoiceTrigger/StorageVoiceControlSystem.cs"
click node_storagecommand "https://github.com/space-wizards/space-station-14/blob/master/Content.Server/Storage/StorageCommand.cs"
click node_cryostorage "https://github.com/space-wizards/space-station-14/blob/master/Content.Server/Bed/Cryostorage/CryostorageSystem.cs"
click node_access "https://github.com/space-wizards/space-station-14/tree/master/Content.Client/Access"
click node_administration "https://github.com/space-wizards/space-station-14/tree/master/Content.Client/Administration"
click node_atmosphere "https://github.com/space-wizards/space-station-14/tree/master/Content.Client/Atmos"
click node_cargo "https://github.com/space-wizards/space-station-14/tree/master/Content.Client/Cargo"
click node_chemistry "https://github.com/space-wizards/space-station-14/tree/master/Content.Client/Chemistry"
click node_construction "https://github.com/space-wizards/space-station-14/tree/master/Content.Client/Construction"
click node_entityinventory "https://github.com/space-wizards/space-station-14/blob/master/Content.Shared/Storage/Components/EntityStorageComponent.cs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_clientapp,node_storageui,node_storageclient,node_materialui toneBlue
class node_storagecore,node_storagecomponent,node_entitystorage,node_materialcore,node_entityinventory toneAmber
class node_materialserver,node_voicecontrol,node_storagecommand,node_cryostorage toneMint
class node_access,node_administration,node_atmosphere,node_cargo,node_chemistry,node_construction toneRose
class node_player toneIndigo
```

## Components

### Player Client

- [Game Client](https://github.com/space-wizards/space-station-14/blob/master/Content.Client/Program.cs): `Content.Client/Program.cs`
- [Storage UI](https://github.com/space-wizards/space-station-14/blob/master/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs): `Content.Client/UserInterface/Systems/Storage/StorageUIController.cs`
- [Storage Client](https://github.com/space-wizards/space-station-14/blob/master/Content.Client/Storage/Systems/StorageSystem.cs): `Content.Client/Storage/Systems/StorageSystem.cs`
- [Material UI](https://github.com/space-wizards/space-station-14/blob/master/Content.Client/Materials/UI/MaterialStorageUIController.cs): `Content.Client/Materials/UI/MaterialStorageUIController.cs`

### Shared Simulation

- [Storage Logic](https://github.com/space-wizards/space-station-14/blob/master/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs): `Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs`
- [Storage State](https://github.com/space-wizards/space-station-14/blob/master/Content.Shared/Storage/StorageComponent.cs): `Content.Shared/Storage/StorageComponent.cs`
- [Entity Storage](https://github.com/space-wizards/space-station-14/blob/master/Content.Shared/Storage/Components/EntityStorageComponent.cs): `Content.Shared/Storage/Components/EntityStorageComponent.cs`
- [Material Logic](https://github.com/space-wizards/space-station-14/blob/master/Content.Shared/Materials/SharedMaterialStorageSystem.cs): `Content.Shared/Materials/SharedMaterialStorageSystem.cs`
- [Storage Component](https://github.com/space-wizards/space-station-14/blob/master/Content.Shared/Storage/Components/EntityStorageComponent.cs): `Content.Shared/Storage/Components/EntityStorageComponent.cs`

### Server Gameplay

- [Material Operations](https://github.com/space-wizards/space-station-14/blob/master/Content.Server/Materials/MaterialStorageSystem.cs): `Content.Server/Materials/MaterialStorageSystem.cs`
- [Voice Storage](https://github.com/space-wizards/space-station-14/blob/master/Content.Server/VoiceTrigger/StorageVoiceControlSystem.cs): `Content.Server/VoiceTrigger/StorageVoiceControlSystem.cs`
- [Storage Commands](https://github.com/space-wizards/space-station-14/blob/master/Content.Server/Storage/StorageCommand.cs): `Content.Server/Storage/StorageCommand.cs`
- [Cryostorage](https://github.com/space-wizards/space-station-14/blob/master/Content.Server/Bed/Cryostorage/CryostorageSystem.cs): `Content.Server/Bed/Cryostorage/CryostorageSystem.cs`

### Gameplay Features

- [Access & ID](https://github.com/space-wizards/space-station-14/tree/master/Content.Client/Access): `Content.Client/Access`
- [Administration](https://github.com/space-wizards/space-station-14/tree/master/Content.Client/Administration): `Content.Client/Administration`
- [Atmosphere](https://github.com/space-wizards/space-station-14/tree/master/Content.Client/Atmos): `Content.Client/Atmos`
- [Cargo](https://github.com/space-wizards/space-station-14/tree/master/Content.Client/Cargo): `Content.Client/Cargo`
- [Chemistry](https://github.com/space-wizards/space-station-14/tree/master/Content.Client/Chemistry): `Content.Client/Chemistry`
- [Construction](https://github.com/space-wizards/space-station-14/tree/master/Content.Client/Construction): `Content.Client/Construction`

### Other components

- **Player**

## Connections

- Player → Game Client: plays through
- Game Client → Storage UI: opens UI
- Storage UI → Storage Logic: emits storage events
- Storage Logic → Storage State: updates contents
- Storage Client → Storage UI: updates UI
- Storage UI → Storage Client: requests storage actions
- Material UI → Material Operations: sends eject message
- Material Operations → Material Logic: uses shared material logic
- Voice Storage → Storage Logic: inserts items
- Storage Commands → Storage Logic: inserts and queries
- Storage Logic → Storage Component: manages stored entities
