WHAT IS WOW DATA SYNC ?

WoW Data Sync (WDS) is a small application program that allows you to synchronize some of your WoW local datas with a shared database. See below for a list of supported addons.

Latest WDS version is 2.4.0





HOW DOES IT WORK ?

- WDS simply connects to a shared database, retrieves all values from the base, merges them with your local values.
- Then it stats wow.exe (or any other .exe file you want).
- At the end of your gaming session, it uploads all your new datas to the shared base.
- WDS makes a backup of your SavedVariables.lua file before any download, to SavedVariables.lua.wds




INSTALLATION NOTES

- Download the latest WDS binary archive here
- Unrar everything in a folder (in your World Of Warcraft directory for example)
- Launch it and clic the 'Global Config' button, and configure it using your guild (or any other server, see "Configure Server" section) :
  Set Upload URL to : http://your_base_server_url/upload_data.php
  Set Download URL to : http://your_base_server_url/get_data.php
  Set Game Path to : Path to the root directory of WoW (example : E:\Games\World of Warcraft\).
  Set Binary to launch to : The binary file you want to start with optional parameters (example : WoW.exe -opengl, or Maximizer.exe).
  Set Login Name to : Your login name, used to find your SavedVariables.lua file (example : kiki).
  Set Game language to : Check the correct button, corresponding of the localization you use (Only English and french supported yet).
- Now, you can manually add plugins. Clic the 'Add Plugin' button, and browse your harddrive to the folder where you installed WDS, and select the .dll file that match the ingame AddOn you want to sync. Repeat the operation for all AddOns you want to sync.
- Some plugins have specific configuration options. When you select a plugin in the listbox, the 'Plugin Config' will be active if the plugin can be configured.




SUPPORTED PLUGINS









Plugin NameVersionWDS Client (.dll)WDS Server (.php)DescriptionDocumentation
Enchantrix1.5downloaddownloadPlugin for Enchantrix addon by NorgannaNo doc
Gatherer2.4downloaddownloadPlugin for Gatherer addon by NorgannaDoc
ItemsMatrix1.8downloaddownloadPlugin for ItemsMatrix addon by DerkyleNo doc
KosList1.7downloaddownloadPlugin for kosList addon by AsherDoc
LootLink1.9downloaddownloadPlugin for LootLink addon by Telo - Can upload old format, but download compact data only usable for LL >= 1.2.3No doc
Profiler1.6downloaddownloadPlugin for wow Profiler (http://wowprofiler.sourceforge.net)No doc
SellValue1.9downloaddownloadPlugin for the SellValue addon by CapnBryDoc
Gem1.1downloaddownloadPlugin for the GuildEventManager2 addon by KikiNo doc
ItemSync1.0downloaddownloadPlugin for the ItemSync addon by DerkyleNo doc




RELEASES

- September, 3rd 2007 : WDS 2.4.0
    Updated WDS lua parser to support new saved file format.
- September, 29th 2006 : WDS 2.3.5 & Gatherer 2.4
    Fixed Saved File being sometimes wiped after an upload, depending on the plugin used (gatherer mainly).
- September, 25th 2006 : WDS 2.3.3
    Fixed an issue with HTTP requests.
- July, 25th 2006 : ItemSync 1.0
    Added a new plugin : ItemSync.
- May, 29th 2006 : WDS 2.3.2 & Profiler 1.6
    Now saving variables after an Upload. Fixed Language detection code. There is now configuration option to Profiler plugin.
- February, 28th 2006 : WDS 2.3.0 & Gem 1.1
    Added new Gem plugin (GuildEventManager).
- September, 15th 2005 : WDS 2.2.0 & All plugins update
    Now uses each plugin SavedVariables.lua file. Changed protocol to 1.7.0.
- July, 20th 2005 : Enchantrix 1.4 & ItemsMatrix 1.7 & KosList 1.6 & LootLink 1.8 & SellValue 1.8
    Changed special parse character for many plugins.
- July, 15th 2005 : WDS 2.1.3 & Gatherer 2.2
    Changed protocol to 1.6.0. Updated gatherer plugin for new format, and changed FR zone matching. WARNING, you must update your database format (see .sql file). Before upgrading, download your full gather data, run the ingame 'ZoneMatch' tool from gatherer to convert to new gather compact format, then update wds and re-upload all your datas in the new format using gatherer >= 2.2 plugin
- June, 21th 2005 : WDS 2.1.2
    Fixed a bug in parser, if a variable name starts with a _.
- June, 15th 2005 : Gatherer 2.1
    Fixed some gatherer localization mistakes.
- June, 14th 2005 : WDS 2.1.1
    Fixed a GUI bug introduced in 2.1.0.
- June, 14th 2005 : WDS 2.1.0
    Added Upload/Download password.
- June, 8th 2005 : WDS 2.0.9 & Gatherer 2.0
    Changed protocol version for wds. Added 1.5.0 version support (new translation table for frFR) for gatherer.
- June, 2nd 2005 : WDS 2.0.8 & ItemsMatrix 1.6 & Gatherer 1.9 & LootLink 1.7 & SellValue 1.7
    Fixed bug in lua parser, if sv.lua file is empty. Fixed gatherer Ore localization issues. Optimized download for ItemsMatrix, LootLink and SellValues.
- May, 16th 2005 : WDS 2.0.7 & ItemsMatrix 1.5
    Upload/Download buttons are greyed when game is running. ItemsMatrix plugin now supports new IM compact format (IM >= 5.5).
- May, 13th 2005 : SellValues 1.6 & KosList 1.5
    Changed upload separator in sellvalues plugin. Fixed a bug in koslist addon that wiped all your local data when downloading, if never uploaded.
- May, 11th 2005 : WDS 2.0.6 & Gather 1.8
    Added support for German language in both WDS and gatherer addon. Added support for Gatherer >= 2.0. Fixed a bug in gatherer addon which prevent people from uploading new data. Fixed a bug in gatherer addon where sometimes ONE item is not downloaded.
- May, 10th 2005 : WDS 2.0.5 & Gather 1.7 & SellValues 1.5 & ItemMatrix 1.4 & LootLink 1.6 & Enchantrix 1.3 & Profiler 1.4
    Added an optional password in WDS to connect to the database. Added a small game language detection (not 100% accurate) to prevent some database messup. Added a 'force local wipe' option to gatherer and sellvalues addons (using a special key in database, see doc). Optimized enchantrix, gatherer, sellvalues and lootlink upload. Fixed a bug in ItemsMatrix optimized upload. Fixed a parse error in lib_profiler.php
- May, 9th 2005 : WDS 2.0.4 & all plugins
    Added a new option to kosList : Possibility to download only guilds. Added auto explorer open when there is a version update. Added a version check between plugins and wds. Added a major/minor version check for Gatherer (to force partial or total wipe on local data, when a corruption detected, or zones indexes change). Added removal of temp files on server side.
- May, 6th 2005 : Gather 1.5 & LootLink 1.4 & Enchantrix 1.1
    Slightly optimized php part of gather and lootlink. Added enchantrix plugin
- May, 4th 2005 : WDS 2.0.3 & SellValues 1.3 & Gather 1.4 & LootLink 1.3
    Fixed a problem with some apache servers. Fixed empty values issue for sellvalues, gather and lootlink.
- May, 3rd 2005 : kosList 1.3 & gatherer 1.3
    Added a new option to Gatherer plugin: Zones filter. Changed kosList behaviour : now it will completly rewrites your list based on what is on the server. And when you locally remove people from the list, it will reflect it on the server, so you don't redownload it again. Added a new option to kosList : Filter Guilds when downloading from other people
- May, 2nd 2005 : WDS Version 2.0.2
    Added version check for plugins. Fixed a bug in lua parser (float numbers). Added KosList addon. Cleanup on server side (WARNING : not conf.php anymore, but wdsconf.php !!)
- April, 28th 2005 : WDS Version 2.0.1
    New modular version. Support for LootLink added. Some bug fixes. GUI totally rewritten
- April, 28th 2005 : WDS Server Version 2.0.1
    New modular version. Support for LootLink added
- April, 14th 2005 : WDS Server Version 1.3.5
    First public release. Supports Gatherer and SellValues addons (soon KosList)
- April, 14th 2005 : WDS Version 1.3.5
    Added support for KosList (but disabled since not finished on server side). Added gatherer sub-option, to download only ores or herbs
- April, 11th 2005 : WDS Version 1.3.4
    Fixed a bug where data are no longer downloaded
- April, 5th 2005 : WDS Version 1.3.3
    Added auto CheckForUpdate function at startup. Now clears absx,absy values when merging for Gatherer. You can now use parameters to start WoW or any other binary




OTHER INFORMATIONS

- You want to use WDS for your guild or personnal use ? We will release it very soon, so please be patient. This is only a demo shared base, we are cleaning the php/sql part of the project :)
- Have a suggestion, comment, question, bug repport, or any other translation ? Contact me at zekiller[at]skytech[dot]org




INSTALL AND CONFIGURE SERVER

- Download the server (php scripts) package here
- Copy all the files to a web server configured with php and mysql (don't ask us how to configure a php/sql web server)
- Rename wdsconf.php.sample to wdsconf.php
- Edit wdsconf.php and fill the first 4 lines with your database host/name/user/password
- Run the wds_tables.sql script to create database tables
- Change access to the "upload" folder (for temporary files to be uploaded). It needs write access. (example : chmod 777 upload)
- You can now setup the WDS client, and try to send data
- ATTENTION :We strongly suggest that you immediatly disable the WDS server after a patch (specially for non-english users), so prevent your users to send wrong datas to the database (mostly if zone indexes change in-game). We will release a new version after a patch that is certified to work correctly. Plus, you should often backup your database, you know, just in case :)




SOURCE CODE

You do not trust a .exe file, that's fine. Grab the latest source code release, and recompile it yourself. You will need the SkyUtils library from my main home page. You will also need a cygwin environment with flex/byson installed. When everything is installed, use provided VisualStudio6 project file and compile.
- September, 3rd 2007 : WDS SOURCE Version 2.4.0
- September, 29th 2006 : WDS SOURCE Version 2.3.5




FAQ

Q : Everything is installed correctly, I can download, but upload always fail whatever plugin I use.
  A : Be sure to have the "upload" folder set to write access for everybody (chmod 777 upload)

Q : I just installed the new version (both client and server), but I still have an error like "Your version of WowDataSync is too old to use the selected database"
  A : When upgrading, your previous WDS configuration is kept. Starting from version 2.0.1, the upload URL has changed on server side, so check if you have the correct one on the WDS client (clic on 'Global Config' button)

Q : What happens when some people of my guild (using the same shared database) use French and English wow client ?
  A : The soft has been designed to support that very well. English clients should check the English radio button in WDS, while French ones the French radio. All datas are converted on-the-fly to english when uploading/downloading, and stored in english in the database.

Q : Is there a global shared database ?
  A : Sorry no, and I don't suggest that. There is no way to prefer bad people to upload wrong data, and mess up all the database. You should give URLs of your database ONLY to people you trust.

Q : There is a game patch, what should I do ?
  A : Each time there is a content patch, I REALLY suggest you change the WDS protocol version (in wdsconf.php, increase "current_version"), or disable temporarily the access to URLs. Sometimes when there is a new patch, zone names change (well mostly for French/German users), and some in-game data are messed up (Gatherer for example) since they use the ZoneId which are alphabetically ordered. So increase version number, and wait for me to compile a new version of WDS (or it's plugin) that take care of any changes.

Q : The AddOn (insert name of addon) is not supported, I really want it !!
  A : I can write pretty quickly plugins for new AddOns, if someone provide me with some infos :
        - Format of the datas in SavedVariables.lua (maybe an example of possible values)
        - Meaning of those datas
        - What is the criteria for saying that 2 values are identical (for the Merge part of wds, when downloading)
        - Whether or not, if datas can be translated from/to diffent languages (and how). Or if we must save them in differents bases (gatherer plugin converts data, sellvalue plugin stores them in different bases)
        - And any info that can help me :)
  Even better, anyone who knows C-coding (or c++), can help me write plugins. There is an easy API to access data, and parse lua format variables in wds.