Plotty for GW2 README

The following document is included with all current distributions of Plotty. This document should also be considered the latest document for all earlier versions. Changes to the licence agreement also apply to earlier versions of Plotty.

Plotty is an unofficial tool for tracking player movement in Guild Wars 2

For legal notices and copyright information for all materials that are not 
property of Plotty, please see the legal.txt

At the moment there is little to no privacy for Plotty data. If someone 
knows your save tag and you have real time saving of data to the public 
server enabled then your position will be reported in real time. Anyone 
will therefore know exactly where you are in-game. This will be improved 
in future with better privacy restrictions. However right now if you are 
WvW/PvPing, you should turn off the Record To Server option and use the 
History browser's Send To Server option to do post-gameplay data updates 
to the community mapping server.

   2017.5 does a rebuild of the history table to add and update columns. 
   If you have a BIG history table, it may take a while for the update to 
   complete. Plotty may appear to hang at the Loading Screen because of 
   this, but it is still processing in the background. Be patient. It 
   should finish within a few minutes depending on your Plotty.db size.

	[RM1]	Licence
	[RM2]	Requirements
	[RM3]	Installation
	[RM4]	Uninstallation
	[RM5]	Upgrades
	[RM6]	Starting up
	[RM7]	Usage Instructions
	[RM8]	Current Issues
	[RM9]	Version History
	[RM10]  Credits
	[RM11]  More Information

[RM1] Licence
Plotty is a free tool for Mapping. You are granted an unlimited use 
licence to use Plotty for the purpose it was intended for (personal 
mapping of Guild Wars 2 data, and communal sharing of that data), on the 
condition that you do not rip off the software; decompiling or 
reverse-engineering the software, claiming it as your own, charging for 
its usage in any way, attempting to commit any acts which would be deemed 
illegal in your home territory or internationally.
Basically; Don't do anything morally/legally bad, and you can use Plotty 
how you like for personal use. Plotty is intended for players of the Guild 
Wars 2 game only. Some extremely limited support is available, (as and 
where time allows), but Plotty is offered with no guarantee or warranty it 
will ever work as intended. 
This licence may from time to time be updated. The newest licence will 
always ship with Plotty and applies to all versions new and old. Updated 
licences for older versions may be obtained from the Plotty website.
By using Plotty you agree by these conditions, and agree there is 
absolutely no financial liability on the author to any damages occurred 
through use or misuse of the tool. 
Some components in Plotty have their own licence agreements. 
If you enjoy the legal stuff, you should check those out too.
.NET Framework v4.0, Visual C++ 2010 SP1, SQLite, LeafletJS, Log4Net and 
Plotty itself depends on API services exposed by the Guild Wars 2 game by 
ArenaNet. Plotty does not claim any ownership over ArenaNet copyrights. 
ArenaNet may choose at any time to discontinue the GW2 API or the Mumble 
Link API. It's in their right to do so. If they do discontinue the GW2 or 
Mumble Link API, part or all of Plotty may become unable to function 
properly as a GPS for GW2. There is nothing the author of Plotty could do 
in this scenario, and if that should ever happen, you should discontinue 
use of Plotty.

[RM2] Requirements
Operating System: Windows 7, 8, 8.1, 10 (currently)
    Architecture: x86 (32bit)*
             RAM: 16 MB (MegaBytes)
      Disk space: 70 MB+**
        Software: Microsoft .NET 4.0***
				  Visual C++ 2010 SP1***
            Game: Guild Wars 2

*	The application is built for 32bit support but will operate in both 
    32bit and 64bit architectures.

**	Space requirement increases based on how much data you want to store.
	You need at least 70MB disk space for Plotty alone.

***	Most supported versions of Windows should already have these 
	components installed. Please check on-line if you receive any issues 
	with launching Plotty due to missing components.

Plotty has only been built and tested on Windows. If you attempt to run 
Plotty in another OS using Emulation and encounter problems, you're on 
your own. No support will be offered.
Future versions of Plotty will be available for other OS's. Be patient!

[RM3] Installation
Extract the Zip file to a location on your PC.

If you use Windows Explorer to extract the zip file (not a tool like 
WinZip, WinRar, 7zip etc), Windows may mark Plotty as a 'downloaded' 
program and block access to it. 
If you are told that Plotty is an untrusted or downloaded application when 
you try to start Plotty; right click the GW2Plotty.exe file, select 
'Properties' and press the 'Unblock' button at the bottom of the 
Properties window, then press the OK button. You should now be able to 
start Plotty without issue.

[RM4] Uninstallation
Exit Plotty entirely (ensure the system tray icon is gone), and delete the 
Plotty directory.

[RM5] Upgrades
Always keep a backup of your Plotty.db file when attempting an upgrade in 
case anything goes wrong with the upgrade process. Once you are happy that 
the new Plotty is running as expected you can delete any temporary backup 
you have created.

1)	Backup Plotty.db found in your Plotty directory.
	(perhaps copy Plotty.db to your desktop / personal directory).

2)	Extract your new version of Plotty over the old version.
	(If prompted to replace the Plotty.db answer NO)

3)	Start Plotty. If the new version of Plotty features database changes, 
	these updates will be applied during Plotty startup. Plotty will tell 
	you of any problems during any database upgrade.

4)	If there are no errors you can delete your backup Plotty.db file.
	- If you do experience errors, keep your backup safe and request help 

[RM6] Starting up
Run GW2Plotty.exe from the extracted zip directory.

Plotty is a system tray application - so you will find it by your 
taskbar clock in Windows.

On first use Plotty will ask you to enter your Username (eg Plotty.1234) 
or an API Key from the 'Applications' page on the account 
page. Plotty only needs the basic 'account' permission, and this key is 
used to validate your username, character name and homeworld server.
The Installation will also ask you for what 'Save Tag' to save data under.
The 'Save Tag' is the grouping used on the public mapping server. If you 
want to share data with friends, make sure you use exactly the same tag 
as your friends / guild mates.
You can change these details at any time from the Settings menu.

Plotty will only listen for world data if told to do so (from the 
"Monitor Position" option). Plotty can only get world position information 
if Guild Wars 2 is running and you are logged in as a character. No world 
position information is available from the character selection screen.

In order to make sure you do not have two identical copies of the 
application running, when Plotty starts a lock file called 'running.tmp' 
is created. This blocks additional copies of the same instance starting to 
prevent database conflicts. You can run two copies of Plotty from two 
different directories (Extract Plotty to two different folders and run 
each one). However; this is NOT what Plotty was designed for. Running two 
instances may cause issues. Do so at your own risk!

[RM7] Usage

"Monitor Position" makes Plotty listen for world position from the 
Guild Wars 2 game. Data will be captured to Plotty's internal database. 

"Record to Server" sends your position data in real-time to the mapping 
server. Instead of sending in real-time you can send in bulk from the 
History window later.

"History" opens the history window to let you browse your locally-stored 
Plotty data. This data will live on your PC for up to 3 days (can be 
configured from the Settings window). After 3 days, the data is deleted.
From the History window you can "Export" the tracking data to a local map, 
send to the mapping server or export as a CSV file.

"Settings" lets you change application settings.

"Check for Update" checks to see if a new version of Plotty is out.

"Exit" quits Plotty.

"Save Tag" (under Server Settings) - The Save Tag is the grouping tag for 
data on the server. Either leave it as your username (default value) or 
change it to your guild name or some other shared name with your team.
This name is not unique - if two separate groups share the same tag data 
will become mixed up. 

Group examples:
	- Veterans Of Lions Arch 
	- rddt Monday Raid
	- FSP Nightly
	- Aurora Glade TEA

Filtering of users in the tag data will come in a later version of Plotty.

[RM8] Current Known Issues
 - For Map generation you need at least 2 points of data (as Plotty 
   generates line coordinates not points). If you really want to plot just 
   a single point of data you will need to wait for a future update :)

[RM9] Version History

   NOTE: 2017.5 does a rebuild of the history table to add and update 
   columns. If you have a big history table, it may take a while for the 
   update to complete. Plotty may appear to hang at the Loading Screen
   because of this, but it is processing in the background.

 - Fixed a bug with the Mists. in the past 1-2 months, Mists maps are now 
   returning WorldID's that are bigger than int32 data types. It was 
   causing Plotty to silently error whilst pulling the data from the 
   MumbleLinkAPI and default to the last valid map called. So you'd be in 
   the Mists but Plotty would record you as being in Tyria.
   Also added better error handling around the MumbleLinkAPI code so that 
   it won't cause such an error in future.
 - Added logic to try and handle unclean-shutdowns of the application
   caused by users shutting down/logging off without closing Plotty.
 - Replaced the lock file mechanism for a more modern mutex lock.
   This means no more messing around with lock files! :)
 - Fixed a bug with the MumbleLinkAPI Memory map remaining in memory after 
   GuildWars2 closes. This was causing Plotty to continue recording the 
   player position until Plotty was closed, creating useless noise in the 
 - Enabled capture of the Server IP field. Plotty had been pulling this
   for a while but not recording it to the DB.
 - Added the new Server IP field as a GET data parameter sent to mapping 
 - Replaced the .NET WebBrowser control with Mozilla Gecko v33.0.9.0
   This makes the mapping feature work a lot better in the application, 
   but increases Application size by almost 70MB. :(
 - Updated LeafletJS and the Web page generation logic to make the web 
   pages neater.
 - Added Save Tag display to the Plotty System Tray menu. This makes it 
   easier to distinguish between multiple open instances of Plotty.
 - Fixed a bug where if you open the AboutBox twice, Plotty crashed.

 - Added a new feature to allow a player to flag a location in the world
   as a favourite location. This favourites list can be used as a filter 
   in Plotty's History Browser.
 - Added an extra Export menu under 'Data' in the History Browser.
 - Added JSON export data type (you can customise the JSON format using 
   the templates in the Plotty directory).

 - Centralised GW2 API calls to a single class, making it easier to 
   work with the API.
 - Added a data Import option to the History browser.
 - Improved the Automatic Database Update process, as it was a bit buggy.

 - Added some extra information to the readme.txt.
 - Fixed a bug in the Settings window that erased your player name for 
   your API key when saving.
 - Enabled the settings.ini file for bootstrapping the database. This 
   allows other map server owners to redistribute Plotty with their own 
   server settings pre-defined. Ability to customise server queries will 
   follow in a later update.

 - Added 'Loading...' to the splash window. It was confusing people what 
   the window was for. :)
 - Updated the application to default to the new server.

 - Revamped the Enter Username window and the tutorial window into a 
   single welcome window to simplify initial startup.
 - Fixed a bug in the collection of account username in the local db.
 - Added a more detailed 'Welcome to Plotty' informational window for 
   first time use to explain basic features.
 - Added an opt-in anonymous statistics feature (from a developer's 
   perspective this is really helpful to get an idea of what kinds of 
   computer Plotty runs on).
 - Added player account name capture to the database (for those users who 
   have more than one account and use Plotty).
 - Fixed a bug with CSV file generation. Put in some ground work for 
   additional export types (not yet complete).

 - Fixed a bug with real-time server mapping (actually a bug with the 
   server, but a client fix works just as well).
 - Added database upgrade support. Any future database changes will be 
   implemented automatically on first-time start up after a client update.
 - Fixed a bug with the Mumble interface when extracting Character and 
   Commander states from memory. It seems that the dedicated chunk of 
   memory for json information isn't flushed when rewritten by GW2/Mumble, 
   so the memory chunk can contain old data. If the new data is smaller 
   than the older data you can end up with invalid json.
 - Threaded the Send To Server and Map Generation processes to improve 
 - Added a warning window when trying to run two copies of Plotty from the 
   same directory.

 - Improved the Welcome message for first time use.
 - Added a notify pop-up to let users know where Plotty is hiding (can be 
   toggled in Settings).
 - Improved the History window search controls.
 - Added a context menu to the History search grid.
 - Added map layer support to Web Browser mode maps (the basic WebBrowser 
   control in .NET uses IE7 as the rendering engine which doesn't handle 
   stuff so well and thus doesn't support the layer control).
 - Added CDN tile support to the Web Browser mode maps (results in faster 
   map tile loading).

 - First launch of Plotty!

[RM10] Credits
Some material in Plotty comes from third parties. Here's what you need to 

Map Tiles,		Guild Wars 2 / ArenaNet

Fugue Icons		Yusuke Kamiyamane

Led Icons		Led24

Silk Icons		Mark James

[RM11] More Information

You can find more information on-line from:


Twitter:	@TheProperDave

Want to show your appreciation for Plotty?
Buy me a coffee via PayPal by sending 3/$3/3kr to [email protected]