serverOwned()
function serverOwned\<T\>(options: SyncedObservableOptions\<T\>): ServerOwnedObservable\<T\>;Defined in: src/lib/observable/serverOwned.ts:92
Create a server-owned observable.
On server: Returns a writable observable that syncs to clients. On client: Returns a read-only observable that receives updates from server. On web: Returns a stub (web uses the React integration layer).
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
options | SyncedObservableOptions<T> | Configuration options |
Returns
Server-owned observable
Example
// Global state (same value for all players)
const gameState = serverOwned({
id: "game:state",
initialValue: { phase: "lobby", timer: 0 },
broadcast: true, // All players receive updates
});
// Per-player state (each player has their own value)
// On server - create one per player:
const playerNeeds = serverOwned({
id: "player:needs",
initialValue: { hunger: 100, thirst: 100 },
perPlayer: true, // Per-player mode
});
playerNeeds.subscribePlayer(playerId);
playerNeeds.set({ hunger: 80, thirst: 90 }); // Syncs to that player
// On client - create once, receives updates automatically:
const playerNeeds = serverOwned({
id: "player:needs",
initialValue: { hunger: 100, thirst: 100 },
perPlayer: true,
});
playerNeeds.subscribe((needs) => {
console.log("My needs:", needs);
});