Uploading to YARRG

The YARRG system has two main parts: this website which maintains a searchable database of commodity prices, and an upload client (known as JARRG), which screenscrapes the commodity data from the Puzzle Pirates game client and uploads it to the database.

You will need to upload data yourself if there is no data for your ocean or island, or the data that is there is too old. You should also upload when preparing a trade run, as market conditions change and you want a plan based on recent data.

The JARRG upload client uploads both to YARRG and PCTB. It is intended to replace both the "yarrg" and "PPAOCR" screenscrapers.


First you must install JARRG, following the instructions for your operating system, below. This will not modify your Puzzle Pirates installation. Instead, it provides you with a new way to run Puzzle Pirates which integrates it with JARRG to provides a YARRG/PCTB Upload facility.

To upload data, run the Puzzle Pirates client with JARRG (as detailed below). You should see both the Puzzle Pirates window and the JARRG window appear. Log in normally, and visit a commodity trading screen (at a market, shoppe or vessel hold). Select "All Commodities" in the YPP client. Then press "Upload Market Data" in the JARRG window.

It is OK to switch away from the commodity list in Puzzle Pirates as soon as the Jarrg progress bar appears. The uploader has taken a copy of the data, so you can do something else while the upload takes place.

The JARRG integration is done via fully supported Java Accessibility interfaces, and should not disturb the normal running of Puzzle Pirates. However, please make sure that if your YPP client misbehaves at all, you try starting it in the vanilla way (without JARRG integration) before asking for help. In particular, if the JARRG startup does not work, but the ordinary Puzzle Pirates startup does, report the problem to us, not to Three Rings.

Installing and running on Linux

Download http://yarrg.chiark.net/download/jarrg/jarrg-linux.tar.gz and unpack it. You run jarrg from the command line. Change (cd) to the top level jarrg directory which was created when you unpacked the tarball, and then run
./jarrg /path/to/yohoho/yohoho
where /path/to/yohoho/yohoho is the location of the ordinary Puzzle Pirates startup script, which is normally yohoho/yohoho in your home directory.

Installing on Windows

Download http://yarrg.chiark.net/download/jarrg/jarrg-setup.exe and double-click on it. It will either:
  1. Just work, in which case you'll have a new icon on your desktop which runs Puzzle Pirates with JARRG integrated.
  2. Fail, and tell you what to do next. Usually this means installing a Java Runtime Environment (or JVM) and then uninstalling and re- installing Puzzle Pirates. (Don't worry about reinstalling; you won't lose any of your pirates or pieces of eight!)

Installing on Macs

We believe that it should be straightforward for a MacOS expert to get JARRG working properly on MacOS but we have not been able to test this ourselves. The Linux installation method is probably the best starting point.

How does it work? Is it a violation of the Terms of Service?

JARRG (and the old OCR clients) comply with Three Rings' official Third Party Software Policy.

Essentially, JARRG is a specialised "screen reader" which instead of reading information out loud, uploads it to the YARRG and PCTB databases.

JARRG uses the Java Accessibility API, which is a part of the Java platform. It's a facility in Java, available for all Java programs, intended to help make applications available to users with disabilities: for example, it permits hooking in screen readers. The use of the Java Accessibility API was helpfully suggested by a Ringer in the forums (to another developer of a third-party tool, wanting help getting information out of Duty Reports).

Installing JARRG does not modify any game files, and does not hook into the game itself. It makes no permanent or global changes to your overall computer, operating system or Java configuration. And it does not access (indeed, we don't think it could access) any of the core game functionality which would make cheating possible.

JARRG runs the unmodified Puzzle Pirates game, but with a separate copy of your system's JVM (Java Virtual Machine); that copy of the JVM is configured to use the JARRG accessibility plugin. We do this (rather than configuring the computer's main JVM to use the accessibility plugin) to avoid interfering with other uses of Java on your computer - in particular, so that it is always possible to launch Puzzle Pirates without JARRG (for example, in case the plugin should cause any kind of problem).

Authorship, source code and other versions

Thanks to Burninator for writing the core of the JARRG client. Ian Jackson and Owen Dunn adapted it to fix bugs and to improve the installation setup (in particular, to avoid modifying any of the YPP client's startup files). Owen Dunn added support for uploading to YARRG, updated the build system, and wrote a Windows installer.

JARRG is Copyright 2006-2009 Burninator, Copyright 2009-2010 Owen Dunn and Copyright 2009-2011 Ian Jackson. It is Free Software with NO WARRANTY, released under the MIT-style two-clause licence.

The code for the downloadable binaries is in in http://yarrg.chiark.net/download/jarrg/jarrg-source.tar.gz. The download directory also sometimes contains other versions (eg unreleased test versions), which you can see here: http://yarrg.chiark.net/download/jarrg/

We maintain JARRG in git, and you can get source code for recent and perhaps unreleased versions from one of:

git://git.yarrg.chiark.net/jarrg-ian.git (gitweb)
git://git.yarrg.chiark.net/jarrg-owen.git (gitweb)

YARRG is Yet Another Revenue Research Gatherer, a project of the crew Special Circumstances on the Cerulean Ocean and of the Sinister Greenend Organisation.

YARRG is Free Software. You may share and modify the code and the website, according to the terms of the GNU General Public Licence and the GNU Affero General Public Licence respectively (v3 or later). Note that there is NO WARRANTY. Please see the YARRG Development webpage for details of how to obtain the client and server code and full details of the licences.

YARRG is Copyright 2009 Ian Jackson, Clare Boothby, Steve Early, Naath Cousins. Yohoho and Puzzle Pirates are trademarks of Three Rings and are used without permission. YARRG is not endorsed or sponsored by Three Rings.