HandyCafe Docs
it-admin

Remote Desktop

Remote Desktop allows administrators to view and control client PCs in real time directly from the HandyCafe Server interface. It is designed for troubleshooting, monitoring, and assisting customers in your internet cafe or gaming center without physically walking to the machine.

Starting a Remote Desktop Session

  1. In the Admin Panel, locate the client you want to connect to.
  2. Click the client card to reveal the action buttons.
  3. Click the Remote Desktop button.

The remote desktop viewer opens in a dedicated window, displaying the client's screen with interactive controls.

Streaming Technology

H.264 Codec

Client screens are encoded using the H.264 video codec, which provides high visual quality at low bandwidth. Key frames use JPEG encoding as a fallback to ensure rapid initial display and recovery from packet loss.

UDP Frame Transmission

Encoded frames are transmitted over UDP for minimal latency. Each frame is split into chunks using a structured protocol with a 30-byte header containing:

Header Field Purpose
Magic bytes Protocol identification
Version Protocol version for compatibility
Frame type Key frame vs. delta frame indicator
Session ID Identifies the remote desktop session
Sequence number Orders frames for reassembly
Timestamp Frame capture time
Chunk index Position of this chunk within the frame
Chunk count Total number of chunks in the frame

This chunking approach allows large frames to traverse the network reliably while keeping individual UDP packets within safe MTU limits.

Interactive Controls

Mouse and Keyboard Relay

Once connected, mouse movements, clicks, and keyboard input from the server operator are relayed to the client PC. The client executes these inputs as if they were performed locally, enabling full interactive control.

Clipboard Synchronization

The clipboard is synchronized between the server and the client during an active remote desktop session. Text copied on the server side can be pasted on the client and vice versa.

Bitrate and Quality

The streaming bitrate is configurable between 350 kbps and 25,000 kbps. An auto-adjustment mechanism monitors network conditions and scales the bitrate dynamically to maintain a smooth viewing experience:

  • On fast, stable networks, bitrate increases for sharper image quality.
  • On congested or slow networks, bitrate decreases to prevent frame drops and lag.

Administrators can also manually select stream presets that balance quality, FPS, and bitrate for different use cases (e.g., monitoring vs. active control).

Configurable Settings

The remote desktop viewer exposes several settings:

  • Quality -- Image quality level for encoded frames.
  • FPS -- Target frames per second for the stream.
  • Bitrate -- Manual bitrate override or auto mode.
  • Cursor visibility -- Whether to display the remote cursor overlay.
  • Stream presets -- Predefined configurations for common scenarios.

Session Recording

Remote desktop sessions can be recorded to MP4 files for later review. Recording uses an FFmpeg subprocess that encodes the incoming frame stream into a standard video file. Recordings are saved to the config_dir/recordings/ directory with timestamped filenames.

Packet Loss Tracking

The viewer displays a drop rate percentage indicating how many frames or chunks were lost during transmission. High drop rates suggest network congestion and may warrant reducing the bitrate or investigating network issues.