OpenTyrian Controller

OpenTyrian Controller icon

open-tyrian-c is the smartphone touch controller for the RCWeb open-tyrian viewer. Scan the viewer's QR code or visit /open-tyrian-c/?r=<room> using the same room as the display.

Connection and ownership

  • The first connected phone owns OpenTyrian's single-player controls. A later controller reports that the display is in use until the current owner leaves or times out.
  • The controller stores a random RCWeb identity in the browser. Refreshing reconnects with that identity and reclaims the active controls.
  • Viewer readiness, network status, and the room ID are shown above the controls.
  • Back to apps returns to the controller catalog when that route is available.

Controls

  • Touch anywhere on the large flight surface. Direction comes from the touch position and distance from the centre controls speed; release to stop.
  • OpenTyrian fires the main weapon and sidekicks automatically, so the controller does not duplicate those controls.
  • Use the dedicated Up and Down buttons to move exactly one menu item per tap, then press Select to confirm.
  • Tap Menu to open or close game menus.
  • Reset game asks the paired display to reload.

How controls reach the viewer

Menu input is sent as named actions. Dedicated Up and Down presses become fixed-duration taps on the viewer so one press cannot race through several options. The flight surface sends throttled, normalized X/Y values, which the viewer converts locally into proportional movement pulses for the keyboard-driven OpenTyrian build. Every message includes the current RCWeb client ID and a controller identity stored in local storage. The viewer rejects input from waiting phones and replies privately with ownership and readiness state.

The controller announces its presence every two seconds. When the page is hidden, blurred, refreshed, or closed, it releases all local actions and asks the viewer to release every held key. The display also clears inputs if the controller disappears or times out.

DocumentationServer TelemetryServer StatsServer HTTP LogServer WebSocket Log