lightgun-poc / server / ServerOptions
Interface: ServerOptions
Defined in: server.ts:114
Options for startServer; every device/port is injectable for tests.
Properties
assets?
optionalassets?:AssetSource
Defined in: server.ts:125
Overrides publicDir — how the single executable serves embedded files.
buttonsExplicit?
optionalbuttonsExplicit?:boolean
Defined in: server.ts:135
Whether buttonsFile was named by the user (--buttons): an unreadable explicit file is a reported problem, an absent implicit one (the default next to the exe / in public/) silently falls back to the asset copy. Defaults to buttonsFile !== undefined for embedded/test callers.
buttonsFile?
optionalbuttonsFile?:string
Defined in: server.ts:128
env?
optionalenv?:Record<string,string|undefined>
Defined in: server.ts:154
input?
optionalinput?:InputMode
Defined in: server.ts:146
key?
optionalkey?:string|null
Defined in: server.ts:165
Session key network clients must present (WS ?key=, /rtc/offer body). Undefined = generate one per run; null = gate off (trusted LAN).
keyboard?
optionalkeyboard?:KeyboardLike
Defined in: server.ts:127
keyLoopbackExempt?
optionalkeyLoopbackExempt?:boolean
Defined in: server.ts:170
Whether loopback connections skip the key (default true — the adb/USB flow). MUST be false when a tunnel forwards the internet to loopback.
loadFfi?
optionalloadFfi?: () =>Promise<Ffi>
Defined in: server.ts:150
Injected koffi loader for the GNOME Wayland devices — tests pass a fake GLib.
Returns
Promise<Ffi>
loadNative?
optionalloadNative?: () =>Promise<LibNut>
Defined in: server.ts:148
Injected libnut loader for tests — replaces the real addon load.
Returns
Promise<LibNut>
log?
optionallog?: (line) =>void
Defined in: server.ts:144
Parameters
line
string
Returns
void
mode?
optionalmode?:ServerMode
Defined in: server.ts:115
monitor?
optionalmonitor?:MonitorChoice
Defined in: server.ts:141
Where aim lands: one monitor, all of them, or the primary (default).
monitorProbe?
optionalmonitorProbe?: () =>Promise<MonitorsReport>
Defined in: server.ts:143
Injected monitor detection for tests — replaces FFI/xrandr probing.
Returns
Promise<MonitorsReport>
mouse?
optionalmouse?:MouseLike
Defined in: server.ts:126
pageOrigins?
optionalpageOrigins?:string[]
Defined in: server.ts:158
Origins allowed to signal cross-origin. Default: the pageUrl origin.
pageUrl?
optionalpageUrl?:string
Defined in: server.ts:156
Page the setup QR points at; also seeds the CORS allowlist.
pauseCombo?
optionalpauseCombo?:string
Defined in: server.ts:137
PC key combo toggling tracking pause; "off" disables. Default shift+s.
pauseProbe?
optionalpauseProbe?:ComboProbe
Defined in: server.ts:139
Injected combo probe for tests — replaces the real key-state FFI.
platform?
optionalplatform?:string
Defined in: server.ts:153
port?
optionalport?:number
Defined in: server.ts:116
portFallback?
optionalportFallback?:boolean
Defined in: server.ts:122
Degrade to an OS-assigned free port when port is busy (EADDRINUSE). Default false: embedded callers and tests keep exact-port semantics; the CLI sets it when the user did NOT pin --port/PORT themselves.
publicDir?
optionalpublicDir?:string
Defined in: server.ts:123
rtc?
optionalrtc?:object
Defined in: server.ts:160
Injected WebRTC peer factory for tests — replaces real werift.
createPeer?
optionalcreatePeer?: () =>PeerLike
Returns
screen?
optionalscreen?:object
Defined in: server.ts:152
Screen assumed in virtual-input mode, where none can be measured.
h
h:
number
w
w:
number
statsIntervalMs?
optionalstatsIntervalMs?:number
Defined in: server.ts:145