@my-swu/simulator-client / lobbyServerClockOffsetMs
Function: lobbyServerClockOffsetMs()
lobbyServerClockOffsetMs(
snapshot,receivedAtMs?):number|undefined
Defined in: packages/ts-sdk/src/resources/lobby-snapshot.ts:57
Estimates serverClock - localClock (ms) from a deadline-bearing snapshot.
Add the offset to Date.now() before comparing with absolute server deadlines such as autoStartDeadlineAtMs or a matchmaking acceptDeadlineAtMs. Returns undefined when the snapshot carries no serverNowMs (no deadline, or an older server).
Example:
ts
import { lobbyServerClockOffsetMs } from '@my-swu/simulator-client'
import type { LobbySnapshot } from '@my-swu/simulator-client'
export function autoStartRemainingMs(lobbySnapshot: LobbySnapshot) {
const serverNowMs = Date.now() + (lobbyServerClockOffsetMs(lobbySnapshot) ?? 0)
return (lobbySnapshot.autoStartDeadlineAtMs ?? serverNowMs) - serverNowMs
}Parameters
snapshot
Example:
ts
import { lobbyServerClockOffsetMs } from '@my-swu/simulator-client'
import type { LobbySnapshot } from '@my-swu/simulator-client'
export function autoStartRemainingMs(lobbySnapshot: LobbySnapshot) {
const serverNowMs = Date.now() + (lobbyServerClockOffsetMs(lobbySnapshot) ?? 0)
return (lobbySnapshot.autoStartDeadlineAtMs ?? serverNowMs) - serverNowMs
}Snapshot that may carry serverNowMs.
receivedAtMs?
Example:
ts
import { lobbyServerClockOffsetMs } from '@my-swu/simulator-client'
import type { LobbySnapshot } from '@my-swu/simulator-client'
export function autoStartRemainingMs(lobbySnapshot: LobbySnapshot) {
const serverNowMs = Date.now() + (lobbyServerClockOffsetMs(lobbySnapshot) ?? 0)
return (lobbySnapshot.autoStartDeadlineAtMs ?? serverNowMs) - serverNowMs
}number = ...
Local clock when the snapshot arrived.
Returns
number | undefined
Example
ts
import { lobbyServerClockOffsetMs } from '@my-swu/simulator-client'
import type { LobbySnapshot } from '@my-swu/simulator-client'
export function autoStartRemainingMs(lobbySnapshot: LobbySnapshot) {
const serverNowMs = Date.now() + (lobbyServerClockOffsetMs(lobbySnapshot) ?? 0)
return (lobbySnapshot.autoStartDeadlineAtMs ?? serverNowMs) - serverNowMs
}