HL Protocol
From Hotline Wiki
Jump to navigationJump to search
Core Documentation
Technical Specifications
Binary & Data
External Networking
Assets
Hotline Network Protocol – Version 1.9
[edit]Property of Hotsprings Inc. Publicly licensed under the GPL
Introduction
[edit]Hotline client is an application providing user interface for end-user services (chat, messaging, file services and other). Hotline server provides services and facilitates communication between all clients.
Port Assignments
[edit]Additional port numbers are determined by using the base port number:
| Port | Usage |
|---|---|
| Base port | Regular transactions |
| Base port + 1 | Upload/download |
| Base port + 2 | HTTP tunneling for regular transactions |
| Base port + 3 | HTTP tunneling for uploads/downloads |
Note: Numeric data is always in network byte order (big-endian).
Technical Documentation Index
[edit]Core Protocol
[edit]- Transactions – The master list of all 411 Transaction IDs and their constants.
- TransactionFields – Detailed list of Field IDs (100–337) and data types.
- AccessPriviledges – The 64-bit access privilege bitmap breakdown.
- TransactionSequence – Logic for Login and Invite-to-Chat sequences.
Data Structures
[edit]- BinaryStructure – Details on the Flattened File Object (FILP) and Resume data (RFLT).
- NewsStructure – Binary headers for news categories, articles, and posters.
External Interfaces
[edit]- TrackerInterface – How servers register with and clients query the Tracker (HTRK).
- HTTPTunneling – Encapsulation logic for GET/POST proxy traversal.
- GlobalServerTransactions – Management and querying of the Global Server database.
Session Initialization
[edit]After establishing TCP connection, both client and server start the TRTP handshake.
Client Request
[edit]| Description | Size | Data | Note |
|---|---|---|---|
| Protocol ID | 4 | 'TRTP' | 0x54525450 |
| Sub-protocol ID | 4 | User defined | |
| Version | 2 | 1 | Currently 1 |
| Sub-version | 2 | User defined |
Server Reply
[edit]| Description | Size | Data | Note |
|---|---|---|---|
| Protocol ID | 4 | 'TRTP' | 0x54525450 |
| Error code | 4 | 0 = no error |