Crossfire Protocol Reference

mrennie edited this page Nov 2, 2012 · 31 revisions

Migration Guides

Handshake

Once a connection has been established with a remote host, Crossfire will wait until it receives a UTF-8 string which matches CrossfireHandshake\r\n\r\n

If Crossfire was started as a server it will reply with an acknowledgement that matches CrossfireHandshake\r\n\r\n.

The handshake can also be modified to include the names of tools that should be enabled when the server starts. More information about tool support and how to enabled / disable them can be found on the Tools API page.

Packets

Crossfire packets are JSON-formatted objects that come in three different forms:

  1. Request packets
  2. Response packets
  3. Event packets

Values

Values typically appear in the responses of commands like backtrace, frame, lookup and scopes as serialized JavaScript values.

All values that appear in packets are JSON-formatted objects. Specific information about each of the value-objects that Crossfire supports can be found on the Values page

Commands

The complete list of commands that Crossfire supports can be found on the Commands page. All of the command definitions describe the packet form(s), the request arguments, the response values and examples.

Events

The complete list of events that Crossfire supports can be found on the Events page. All of the event definitions describe the packet form(s), the event details and values and examples.

Tools

Crossfire provides a mechanism where the functionality of the protocol can be extended by clients through the use of tools. Tools can be contributed as described in the Tools API.

Crossfire, by default, provides some of its core functionality through the use of tools. The default set of tools built into Crossfire includes: