<%doc> This is part of the YARRG website. YARRG is a tool and website for assisting players of Yohoho Puzzle Pirates. Copyright (C) 2009 Ian Jackson Copyright (C) 2009 Clare Boothby YARRG's client code etc. is covered by the ordinary GNU GPL (v3 or later). The YARRG website is covered by the GNU Affero GPL v3 or later, which basically means that every installation of the website will let you download the source. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . Yohoho and Puzzle Pirates are probably trademarks of Three Rings and are used without permission. This program is not endorsed or sponsored by Three Rings. This Mason component generates information about the uploader. <& docshead &> <%perl> my $url_base_base= 'http://yarrg.chiark.net/download/jpctb'; my $download_version= 'test'; my $url_base= "$url_base_base/$download_version";

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 YARRG JPCTB), 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 YARRG JPCTB upload client uploads both to YARRG and PCTB. It is intended to replace both the "yarrg" and "PPAOCR" screenscrapers.

Instructions

First you must install YARRG JPCTB, 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 JPCTB to provides a YARRG/PCTB Upload facility.

To upload data, run the Puzzle Pirates client with JPCTB (as detailed below). You should see both the Puzzle Pirates window and the JPCTB 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" in the JPCTB window.

The JPCTB 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 JPCTB integration) before asking for help. In particular, if the JPCTB 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 <% $url_base %>/jpctb.tar.gz and unpack it. You run it from the command line. Change (cd) to the top level jpctb directory which was created when you unpacked the tarball, and then run
./jpctb /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 <% $url_base %>/jpctb-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 JPCTB 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 YARRG JPCTB 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?

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

YARRG JPCTB 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 YARRG JPCTB 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.

JPCTB works by running an unmodified copy of the YPP client but with a separate JVM (Java Virtual Machine) configured to use the appropriate accessibility plugin. We do this (rather than configuring the computer's main JVM to use the JPCTB accessibility plugin) so that it is still possible to launch Puzzle Pirates without JPCTB (for example, in case the JPCTB client should cause any kind of problem).

Authorship, source code and other versions

Thanks to Burninator for writing the core of the JPCTB client. Ian Jackson and Owen Dunn adapted it to improve the installation setup (in particular, to more completely avoid modifying the YPP client's startup files, which Three Rings unsurprisingly objected to). Owen Dunn added support for uploading to YARRG, updated the build system, and wrote a Windows installer.

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

The download directory can contains other versions (eg unreleased test versions), which you can see here: <% $url_base_base %>/ .

The source code for the downloadable released binaries is in the Linux tarball. We maintain YARRG JPCTB in git, and you can get source code for recent and perhaps unreleased versions from git://git.yarrg.chiark.net/jpctb.git and/or git://git.chiark.greenend.org.uk/~ijackson/jpctb.git . <& footer &>