List of commands
This file specifies all the commands available between a BTG client
and the BTG server.
Each command has a name, a method name (used in XMLRPC transport), a
command ID, a direction, and a set of parameters.
Parameters can be of a specific type. This specification first lists
the internal type used, and then the XMLRPC type used.
In the case of Lists, there is first an int (Integer) specifying the
size of the list, then the elements are passed with their specific
type.
Implementation MUST be capable to handle commands with additional
fields at the end.
Implementation MUST ignore fields it doesn't know about.
Method name |
Command ID |
Direction |
general.initconnection |
1 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
- username (string (String), required)
- password hash (string (String), required)
Method name |
Command ID |
Direction |
general.setup |
10 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
- build id (string (String), required)
- flag: seed limit (integer (Integer), required)
- flag: seed timeout (long (Integer), required)
- flag: use DHT (bool (Boolean), required)
- flag: use Encryption (bool (Boolean), required)
Method name |
Command ID |
Direction |
general.setuprsp |
11 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- Session (long (Integer), required)
Method name |
Command ID |
Direction |
general.kill |
12 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
Method name |
Command ID |
Direction |
general.uptime |
16 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
Method name |
Command ID |
Direction |
general.uptimersp |
17 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- uptime (unsigned long (Integer), required)
Method name |
Command ID |
Direction |
general.list |
18 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
Method name |
Command ID |
Direction |
general.listrsp |
19 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- list of context ids (int list (List of Integers), required)
- list of file names (string list (List of Strings), required)
Method name |
Command ID |
Direction |
context.createwithdata |
40 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
- torrent filename (string (String), required)
- torrent file data(number of bytes) (byte (Integer), required)
- torrent file data(data) (multiple bytes (base64 string for XMLRPC), required)
- flag: start torrent (bool (Boolean), required)
Method name |
Command ID |
Direction |
context.last |
41 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
Method name |
Command ID |
Direction |
context.lastrsp |
42 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
- command ID (integer (Integer), required)
Method name |
Command ID |
Direction |
context.start |
43 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
- context ID (integer (Integer), required)
- flag: for all contexts (bool (Boolean), required)
Method name |
Command ID |
Direction |
context.stop |
44 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
- context ID (integer (Integer), required)
- flag: for all contexts (bool (Boolean), required)
Method name |
Command ID |
Direction |
context.abort |
45 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
- context ID (integer (Integer), required)
- flag: for all contexts (bool (Boolean), required)
- flag: erase data (bool (Boolean), required)
Method name |
Command ID |
Direction |
context.status |
46 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
- context ID (integer (Integer), required)
- flag: for all contexts (bool (Boolean), required)
Method name |
Command ID |
Direction |
context.statusrsp |
47 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- context ID (integer (Integer), required)
- flag: for all contexts (bool (Boolean), required)
- status (integer (Integer), required)
- status (string (String), required)
- status (integer (Integer), required)
- status (unsigned long (Integer), required)
- status (unsigned long (Integer), required)
- status (unsigned long (Integer), required)
- status (unsigned long (Integer), required)
- status (unsigned long (Integer), required)
- status (integer (Integer), required)
- status (unsigned long (Integer), required)
- status (integer (Integer), required)
- status (integer (Integer), required)
- status (integer (Integer), required)
- status (unsigned long (Integer), required)
- status (integer (Integer), required)
- status (integer (Integer), required)
- status (integer (Integer), required)
- status (integer (Integer), required)
- status (bool (Boolean), required)
- status (unsigned long (Integer), required)
- status (string (String), required)
- status (string (String), required)
Method name |
Command ID |
Direction |
context.statusallrsp |
48 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- context ID (integer (Integer), required)
- flag: for all contexts (bool (Boolean), required)
- size of the list of status (integer (Integer), required)
- list of status (integer (Integer), required)
- list of status (string (String), required)
- list of status (integer (Integer), required)
- list of status (unsigned long (Integer), required)
- list of status (unsigned long (Integer), required)
- list of status (unsigned long (Integer), required)
- list of status (unsigned long (Integer), required)
- list of status (unsigned long (Integer), required)
- list of status (integer (Integer), required)
- list of status (unsigned long (Integer), required)
- list of status (integer (Integer), required)
- list of status (integer (Integer), required)
- list of status (integer (Integer), required)
- list of status (unsigned long (Integer), required)
- list of status (integer (Integer), required)
- list of status (integer (Integer), required)
- list of status (integer (Integer), required)
- list of status (integer (Integer), required)
- list of status (bool (Boolean), required)
- list of status (unsigned long (Integer), required)
- list of status (string (String), required)
- list of status (string (String), required)
Method name |
Command ID |
Direction |
context.fileinfo |
51 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
- context ID (integer (Integer), required)
- flag: for all contexts (bool (Boolean), required)
Method name |
Command ID |
Direction |
context.fileinforsp |
52 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- context ID (integer (Integer), required)
- flag: for all contexts (bool (Boolean), required)
- size of the contained list of file information objects (integer (Integer), required)
- list of file information objects (string (String), required)
- list of file information objects (integer (Integer), required)
- list of file information objects (integer (Integer), required)
- list of file information objects (unsigned long (Integer), required)
- list of file information objects (integer (Integer), required)
- list of file information objects (integer (Integer), required)
- list of file information objects(number of bytes) (byte (Integer), required)
- list of file information objects(data) (multiple bytes (base64 string for XMLRPC), required)
Method name |
Command ID |
Direction |
context.clean |
54 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
- context ID (integer (Integer), required)
- flag: for all contexts (bool (Boolean), required)
Method name |
Command ID |
Direction |
context.cleanrsp |
55 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- list of context IDs (int list (List of Integers), required)
- filename (string list (List of Strings), required)
Method name |
Command ID |
Direction |
context.limit |
56 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
- context ID (integer (Integer), required)
- flag: for all contexts (bool (Boolean), required)
- upload speed in bytes/sec (integer (Integer), required)
- download speed in bytes/sec (integer (Integer), required)
- percents to seed before torrent is stopped (integer (Integer), required)
- seconds to seed before torrent is stopped (long (Integer), required)
Method name |
Command ID |
Direction |
context.limitstatus |
57 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
- context ID (integer (Integer), required)
- flag: for all contexts (bool (Boolean), required)
Method name |
Command ID |
Direction |
context.limitstatusrsp |
58 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- context ID (integer (Integer), required)
- flag: for all contexts (bool (Boolean), required)
- upload speed in bytes/sec (integer (Integer), required)
- download speed in bytes/sec (integer (Integer), required)
- percents to seed before torrent is stopped (integer (Integer), required)
- seconds to seed before torrent is stopped (long (Integer), required)
Method name |
Command ID |
Direction |
context.peers |
59 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
- context ID (integer (Integer), required)
- flag: for all contexts (bool (Boolean), required)
- extended response requested (bool (Boolean), required)
- offset of the extended peers in the complete peer list (unsigned integer (Integer), optional)
- count of extended peers (unsigned integer (Integer), optional)
Method name |
Command ID |
Direction |
context.peersrsp |
60 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- context ID (integer (Integer), required)
- flag: for all contexts (bool (Boolean), required)
- size of the list of peers (unsigned integer (Integer), required)
- list of peers (byte (Integer), required)
- list of peers (byte (Integer), required)
- list of peers (byte (Integer), required)
- list of peers (byte (Integer), required)
- list of peers (bool (Boolean), required)
- list of peers (string (String), required)
- extended peer list flag (bool (Boolean), required)
- offset in the full peer list (unsigned integer (Integer), optional)
- size of the extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned long (Integer), optional)
- extended list of peers (unsigned long (Integer), optional)
- extended list of peers (integer (Integer), optional)
- extended list of peers(number of bytes) (byte (Integer), optional)
- extended list of peers(data) (multiple bytes (base64 string for XMLRPC), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers(number of bytes) (byte (Integer), optional)
- extended list of peers(data) (multiple bytes (base64 string for XMLRPC), optional)
- extended list of peers (long (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers(number of bytes) (byte (Integer), optional)
- extended list of peers(data) (multiple bytes (base64 string for XMLRPC), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
- extended list of peers (unsigned integer (Integer), optional)
Method name |
Command ID |
Direction |
general.error |
100 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- flag, indicates if a command is present (bool (Boolean), required)
- command ID (integer (Integer), optional)
- flag, indicates if a message is present (bool (Boolean), required)
- error message (string (String), optional)
Method name |
|
Command ID Direction |
general.ack |
101 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- ack command (integer (Integer), required)
Method name |
Command ID |
Direction |
session.attach |
120 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
- build id (string (String), required)
- session ID (long (Integer), required)
Method name |
Command ID |
Direction |
session.detach |
121 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
Method name |
Command ID |
Direction |
session.quit |
125 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
Method name |
Command ID |
Direction |
session.error |
122 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- flag: indicates that a command ID is present. (bool (Boolean), required)
- command ID (integer (Integer), optional)
Method name |
Command ID |
Direction |
session.list |
126 |
To Server (method call) |
Parameters:
- command ID (byte (Integer), required)
Method name |
Command ID |
Direction |
session.listrsp |
127 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- list of sessions. (long list (List of Integers), required)
- list of session names. (string list (List of Strings), required)
Method name |
Command ID |
Direction |
session.romode |
131 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
Method name |
Command ID |
Direction |
session.rwmode |
132 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
Method name |
Command ID |
Direction |
context.createfromurl |
67 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- torrent filename (string (String), required)
- torrent url (string (String), required)
- flag: start torrent (bool (Boolean), required)
Method name |
Command ID |
Direction |
context.createfromurlrsp |
68 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- url id (unsigned integer (Integer), required)
Method name |
Command ID |
Direction |
general.opstatus |
81 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- id (unsigned integer (Integer), required)
- type (unsigned integer (Integer), required)
Method name |
Command ID |
Direction |
general.opstatusrsp |
82 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- id (unsigned integer (Integer), required)
- type (unsigned integer (Integer), required)
- status (unsigned integer (Integer), required)
- data set indicator (bool (Boolean), required)
- data (string (String), optional)
Method name |
Command ID |
Direction |
general.opabort |
80 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- url id (unsigned integer (Integer), required)
- type (unsigned integer (Integer), required)
Method name |
Command ID |
Direction |
context.createfromfile |
69 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- torrent filename (string (String), required)
- number of parts (unsigned integer (Integer), required)
- flag: start torrent (bool (Boolean), required)
Method name |
Command ID |
Direction |
context.createfromfilersp |
70 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- file id (unsigned integer (Integer), required)
Method name |
Command ID |
Direction |
context.createfromfilepart |
71 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- id (unsigned integer (Integer), required)
- part (unsigned integer (Integer), required)
- data(number of bytes) (byte (Integer), required)
- data(data) (multiple bytes (base64 string for XMLRPC), required)
Method name |
Command ID |
Direction |
session.version |
133 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
Method name |
Command ID |
Direction |
session.versionrsp |
134 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- mayor version (byte (Integer), required)
- minor version (byte (Integer), required)
- revision (byte (Integer), required)
- option byte (byte (Integer), required)
- option byte (byte (Integer), required)
- option byte (byte (Integer), required)
- option byte (byte (Integer), required)
Method name |
Command ID |
Direction |
session.setting |
135 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- Setting ID (byte (Integer), required)
Method name |
Command ID |
Direction |
session.settingrsp |
136 |
From Server (method response) |
Parameters:
- command ID (byte (Integer), required)
- Setting ID (byte (Integer), required)
- Setting value (string (String), required)