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
- In the Admin Panel, locate the client you want to connect to.
- Click the client card to reveal the action buttons.
- 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.