Writing add-ons for SETI@home/BOINC

This information is intended for people interested in writing "add-on" programs for SETI@home/BOINC.

1) Files

1.1) Directory structure

The directory structure of the BOINC client is described here. There are separate directories for each project, and separate directories for each running application (on a multiprocessor there may be more than one).

1.2) Input file format

SETI@home input files are now in a (mostly) XML format. Here's an example. We'll try to document this as time permits.

1.3) State file format

SETI@home state files are also in XML. Here's an example. We'll try to document this as time permits.

1.4) Output file format

FINISH

2) Network protocols

The pattern of network communication between the BOINC core client and servers is more complicated than with the original SETI@home. For one thing, there are now at least four separate servers involves, whereas there used to be only one. A brief description of BOINC's network communication is here.