Every table in the dedicated server's own dune Postgres schema -- columns, types, primary keys, and foreign-key relationships. Schema only: no player data, no account values, nothing here beyond structure. This is part of the server software Funcom distributes to every self-hosting operator, not anything specific to this deployment.
Search across every table and column name. Click a table to expand its full column list, primary key, and foreign-key relationships in both directions.
These six groupings are real, computed connected components -- not a hand-picked grouping. actors and encrypted_player_state were excluded from the grouping pass specifically because those two hub tables connect to nearly everything and would otherwise collapse every subsystem into one indistinguishable diagram; they still appear inside each diagram below wherever a table in that cluster actually references one of them.
erDiagram
factions ||--o{ guilds : "guild_faction"
guilds ||--o{ guild_invites : "guild_id"
actors ||--o{ guild_invites : "player_id"
actors ||--o{ guild_invites : "sender_player_id"
guilds ||--o{ guild_members : "guild_id"
actors ||--o{ guild_members : "player_id"
landsraad_decrees ||--o{ landsraad_decree_rotation : "decree_id"
factions ||--o{ landsraad_task_faction_contributions : "faction_id"
landsraad_tasks ||--o{ landsraad_task_faction_contributions : "task_id"
factions ||--o{ landsraad_task_guild_contributions : "faction_id"
guilds ||--o{ landsraad_task_guild_contributions : "guild_id"
landsraad_tasks ||--o{ landsraad_task_guild_contributions : "task_id"
factions ||--o{ landsraad_task_player_contributions : "faction_id"
actors ||--o{ landsraad_task_player_contributions : "player_id"
landsraad_tasks ||--o{ landsraad_task_player_contributions : "task_id"
factions ||--o{ landsraad_task_progress : "faction_id"
guilds ||--o{ landsraad_task_progress_guild : "guild_id"
actors ||--o{ landsraad_task_progress_player : "player_id"
landsraad_task_progress ||--o{ landsraad_task_progress_player : "progress_id"
landsraad_task_progress ||--o{ landsraad_task_progress_guild : "progress_id"
landsraad_tasks ||--o{ landsraad_task_progress : "task_id"
factions ||--o{ landsraad_task_reveal_state : "faction_id"
landsraad_tasks ||--o{ landsraad_task_reveal_state : "task_id"
landsraad_tasks ||--o{ landsraad_task_rewards : "task_id"
landsraad_decree_term ||--o{ landsraad_tasks : "term_id"
factions ||--o{ landsraad_tasks : "winning_faction_id"
landsraad_decrees ||--o{ landsraad_decree_term : "active_decree_id"
landsraad_decrees ||--o{ landsraad_decree_term : "elected_decree_id"
factions ||--o{ landsraad_decree_term : "reigning_faction_id"
factions ||--o{ landsraad_decree_term : "winning_faction_id"
landsraad_decrees ||--o{ landsraad_decree_votes : "decree_id"
guilds ||--o{ landsraad_decree_votes : "guild_id"
actors ||--o{ landsraad_decree_votes : "player_id"
actors ||--o{ player_faction : "actor_id"
factions ||--o{ player_faction : "faction_id"
actors ||--o{ player_faction_reputation : "actor_id"
factions ||--o{ player_faction_reputation : "faction_id"
erDiagram
inventories ||--o{ actor_inventories : "inventory_id"
encrypted_player_state ||--o{ backup_vehicles : "character_id"
vehicles ||--o{ backup_vehicles : "vehicle_id"
building_blueprints ||--o{ building_blueprint_instances : "building_blueprint_id"
building_blueprints ||--o{ building_blueprint_pentashields : "building_blueprint_id"
building_blueprints ||--o{ building_blueprint_placeables : "building_blueprint_id"
actors ||--o{ building_blueprints : "player_id"
dune_exchanges ||--o{ dune_exchange_accesspoints : "exchange_id"
dune_exchange_orders ||--o{ dune_exchange_fulfilled_orders : "order_id"
dune_exchange_orders ||--o{ dune_exchange_fulfilled_orders : "source_order_id"
dune_exchange_accesspoints ||--o{ dune_exchange_orders : "access_point_id"
dune_exchanges ||--o{ dune_exchange_orders : "exchange_id"
items ||--o{ dune_exchange_orders : "item_id"
actors ||--o{ dune_exchange_orders : "owner_id"
dune_exchange_orders ||--o{ dune_exchange_sell_orders : "order_id"
inventories ||--o{ dune_exchanges : "inventory_id"
actors ||--o{ inventories : "actor_id"
dune_exchanges ||--o{ inventories : "exchange_id"
items ||--o{ inventories : "item_id"
vehicle_modules ||--o{ inventories : "vehicle_module_id"
items ||--o{ building_blueprints : "item_id"
inventories ||--o{ items : "inventory_id"
encrypted_player_state ||--o{ recovered_vehicles : "character_id"
vehicles ||--o{ recovered_vehicles : "vehicle_id"
items ||--o{ sinkcharts : "item_id"
inventories ||--o{ vehicle_module_inventories : "inventory_id"
vehicles ||--o{ vehicle_modules : "vehicle_id"
actors ||--o{ vehicles : "id"
erDiagram
actors ||--o{ actor_spawner_actors : "actor_id"
actor_spawners ||--o{ actor_spawner_actors : "spawner_id"
actors ||--o{ base_backup_linked_actors : "actor_id"
base_backups ||--o{ base_backup_linked_actors : "id"
actors ||--o{ base_backups : "player_id"
dungeon_completion ||--o{ dungeon_completion_players : "completion_id"
actors ||--o{ dungeon_completion_players : "player_id"
actors ||--o{ parties : "party_leader_id"
parties ||--o{ party_members : "party_id"
actors ||--o{ party_members : "player_id"
actors ||--o{ permission_actor : "actor_id"
permission_actor ||--o{ permission_actor_rank : "permission_actor_id"
actors ||--o{ permission_actor_rank : "player_id"
specialization_keystones_map ||--o{ purchased_specialization_keystones : "keystone_id"
actors ||--o{ purchased_specialization_keystones : "player_id"
actors ||--o{ tutorial_per_player : "player_id"
tutorials ||--o{ tutorial_per_player : "tutorial_id"
erDiagram
spicefield_types ||--o{ spicefield_server_availability : "spicefield_type_id"
world_partition ||--o{ actors : "partition_id"
farm_state ||--o{ spicefield_server_availability : "server_id"
farm_state ||--o{ world_partition : "server_id"
world_partition ||--o{ world_partition_reset_seed : "partition_id"
erDiagram
actors ||--o{ actor_fgl_entities : "actor_id"
fgl_entities ||--o{ actor_fgl_entities : "entity_id"
actors ||--o{ building_instances : "building_id"
fgl_entities ||--o{ building_instances : "owner_entity_id"
actors ||--o{ placeables : "id"
fgl_entities ||--o{ placeables : "owner_entity_id"
erDiagram
map_names ||--o{ markers : "map_name_id"
markers ||--o{ player_markers : "marker_hash_id, dimension_index, map_name_id"
actors ||--o{ player_markers : "player_id"
28 tables reference actors or encrypted_player_state directly with no further sub-structure of their own -- search the reference above for any of them.
69 tables have no foreign keys at all, including resourcefield_state, shiftingsands_data, game_events, and the partitioned event_log_p* tables.
Every one of the 169 tables and 138 foreign keys in one canvas, laid out automatically -- including the standalone tables the subsystem diagrams above leave out, so nothing is missing from this view. Drag to pan, scroll to zoom, click a node to see its columns and highlight its direct relationships.
Click any node to see its columns and relationships here.
Extracted directly from a live self-hosted instance via information_schema, pg_constraint, and pg_stat_user_tables -- row counts are live estimates, not exact figures, and will drift from whatever instance you're comparing against. This reflects the schema Funcom's dedicated server software ships to every self-hosting operator through dune-awakening-selfhost-docker, not anything unique to this community's deployment.