Download
(176 Kb)
Download
Updated: 04/17/24 02:32 PM
Pictures
File Info
Compatibility:
Gold Road (10.0.0)
Scions of Ithelia (9.3.0)
Updated:04/17/24 02:32 PM
Created:11/24/15 12:42 AM
Monthly downloads:78,131
Total downloads:4,111,247
Favorites:1,513
MD5:
9.3.0
Tamriel Trade Centre  Popular! (More than 5000 hits)
Version: 4.18.182.65294
by: cyxui [More]
The addon for http://tamrieltradecentre.com/

TTC needs localization help! Current plans is to translate for all official languages (German, French and Japanese). If you are willing to help with the translation please go to google sheet (https://goo.gl/q6xBPq) and fill in the German/French/Japanese Translation Columns as much as you could. Do remember to make a copy in case of conflicts or trolls.. cough cough...


By downloading this addon you agree to the Terms of Service and Privacy Policy


Dependencies:
LibCustomMenu
LibAddonMenu-2.0

3rd party optional plugins (if you need the additional functionality):
KelaPadUI for Gamepad mode
AdvancedFilters for TTC
TamrielTradeCentreCompanion

For Mac users and people whos afraid of exe file. Webclient (beta) is available online. Go to http://tamrieltradecentre.com/ and select your region. Click on Addon -> Webclient and follow the instructions


LuaSerializer is now on GitHub https://github.com/alt22247/LuaSerializer

Global trade search tool needs YOUR help.

By running our addon and client. Your guild listings as well as any item you seen by using guild store search function will be automatically upload to the site for other people to search and browse. The collected data will also be used to generate price info for everyone~

If you want to contribute more to the community or if you wish to help boosting up your guild's sale by uploading an entire guild's listings, you are more than welcome to do so!

Here are some screen shoots of the site, addon and client












Install Instruction:

1. Download and unzip the files under ESO addon folder (default is Documents\Elder Scrolls Online\live\AddOns) Or you can install it with Minion
2. When you are playing ESO, run the client executable (client.exe) under Client folder
3. Enjoy the game


In game API
1. To get TTC's price info simply do TamrielTradeCentrePrice:GetPriceInfo(itemLink)
This will return a TamrielTradeCentre_PriceInfo Object
Code:
{
       Avg,
       Max,
       Min,
       EntryCount, --# of listings
       AmountCount, --total # of items
       SuggestedPrice --suggested price low. Suggested high = SuggestedPrice * 1.25
}
2. To get TTC's internal item information (various internal Ids)
TamrielTradeCentre_ItemInfo:New(itemLink)

Q:How does this addon work?
The addon collects all the item listings that you seen in the guild store and uploads them to the site. The site then uses all the data collected by all players to generate price info for everyone.
You can also use the website to search for the location of an item using way better filter than the default Guild store GUI. But it is not guarantee the item is still there since low price items tends to get sold fast. You will have to use your own judgment based on the last seen column to predict whether its still available.

Q:How is the suggested price calculated?
1. Remove outliers
2. AVG(price of the lowest 30% items) * 0.8

Q:Whats the difference between average/suggested price vs sales average?
Average/suggested price are calculated using listing data while sales average is calculated using actual sales data. Both listing and sales data are collected from all TTC users across all guilds.

Q: How fresh is the pricing data?
Very fresh! Naw im kidding, its based on Data from yesterday

Q: How big is TTC
It uses around 6mb of RAM for pricing info and around 20mb at most for entries you have seen.



Detailed Instruction
FAQ
4.18 Release Log:
1. Added back the price to chat language options
2. Added a steam button in Client's start options
3. Opening a second instance of the client will now bring the running instance to front instead of panic

4.17 Release Log:
1. Fixed an UI error for Spanish client

4.16 Release Log:
1. Adopts to the new guild history API that was introduced in U41
2. Added a slash command /ttc and a button binding to clear data
3. When launch ESO after TTC option is enabled. TTC will now launch ESO and shutdown the current instance if another TTC instance is already running instead of panicking
4. Fixed various NPC names in other locales
5. Localization update
Known issues:
1. Font change that came with U41 broke the unicode encoding. TTC's additional language setting will cause the game to freeze. As a result all language related settings are removed from the settings page until this is fixed.
2. Guild history API is very buggy right now. Sales history data might get impacted because of this.

4.15 Release Log:
1. Temperately disable guild history scanning while I am working on the new API

4.14 Release Log:
1. Fixed an issue causing repeated upload. (Please delete your saved variable file before starting the game if issue persists)
2. Added missing language for client.exe (Spanish + Japanese)

4.13 Release Log:
1. Added sale avg and stats to price info
2. Added Japanese support
3. Removed sold item notification (obsolete 'feature')

4.12 Release Log:
1. Added sale history collection. Data will be used to generate sale average pricing in the future. Size of the data is capped at 1 day or around 10mb whichever is smaller. No calculation or processing is done by the addon. There should be zero performance impact (unless 10mb of RAM is an issue)
2. Optimized guild store history pulling and reading logic

4.11 Release Log:
1. Necrom update
2. Added sorting options for search online
3. NPC name fix for multiple languages

4.10 Release:
1. Fixed wide range of localization issues
2. Added Japanese strings in preparation for JP support

4.9 Release:
1. Added new traders
2. Mass localization update

Website update:
1. Added Spanish localization
2. Chinese item name update
3. Mass localization update

4.8 Release:
1. Added Spanish support

4.7 Release:
1. New traders for High Isle

Client 4.6 Release:
1. Client side change for loading price table based on server region (server side not ready yet)

Client 4.5 Release:
1. Added view price history online button
2. Added Missing NPC names for Russian client

Client 4.4 Release:
1. Deadland update
2. Updated target .net framework to 4.7.2 to prepare for TLS 1.0 deprecation

Client 4.3 Release:
1. Added companion traits
2. Added Blackwood NPC for German, French and Russian client

Client 4.2 Release:
1. Added Blackwood traders

Client 4.1 Release:
Version bump only

Client 4.0 Release:
1. Removed login requirement for personal listings upload
2. Merged personal and auto scanned listings into one instead of treating them differently

Client 3.38 Release:
1. Localization update
2. Dependency version update

Client 3.37 Release:
1. Added Markarth trader
2. Added right click menu to items in CraftBag
3. Added a keybind option to toggle tooltip
4. Fixed NPC name for jaflinna

Client 3.36 Release:
1. Search online button will now apply the language of your ESO client instead of sending you to the English site all the time
2. Reverted the parameter type for the function to retrieve TTC's price info
3. Localization update

Client 3.35 Release:
1. Stonethorn Update
2. Added Search Online button for items

Client 3.34 Release:
1. Updated Russian NPC names

Client 3.33 Release:
1. Greymoor update
2. Added a 5s delay before reading the saved variable file to allow ESO client to finish writting
3. Makes hidding the client after launch a configurable option. Auto hidding caused more confusion than good

Client 3.32 Release:
1. Harrowstorm version bump
2. Fixed an issue causing Lua file parsing to fail on machines with decimal separator not being a dot
3. Hides the client Window after successfully launching ESO client if auto start option is set to Start ESO after Client


Client 3.31 Release:
1. Fixed an issue causing price info to be missing for Deep Winter Charity Writs and New Life Charity Writs (Might take couple days to take effect)
2. Fixed a rare case which might cause master writ upload to fail
3. Only adds the 5px padding to the tooltip if price information is available

Client 3.30 Release:
1. Dragonhold update
2. TTC will no longer bundle libraries just like most other addons. Users will need to manually download the required libraries thru ESOUI or minion. (Required libraries can be found in game by expanding TTC's entry in addon list)

Client 3.29 release:
1. Uses software rendering only mode. Way too many factors could make hardware rendering go wrong.

Client 3.28 release:
1. Fixed multiple UI errors due to new guild store history API

ScaleBreaker kiosk detection will be added in the next release

Client 3.27 release:
1. Fixed an issue causing guild trader location to be null
2. Added additional check to detect config file corruption and attempt to reset it automatically

Client 3.26 Release Notes:

1. Reworked login system to use user's default browser (external) instead of an outdated Internet Explorer(embedded) to comply with the latest security standard (https://tools.ietf.org/html/draft-ietf-oauth-native-apps-03)
2. Added logout button

P.S. please make sure your firewall is not blocking loopback IP (localhost) and TTC has sufficient right to bind to it.
Client 3.25 Release Notes:
1. Added Awesome Guild Store hook to display price tooltip when AGS is active
2. No longer adds divider if no price info is available

Client 3.24 Release Notes:
1. Fixed an issue causing scan progress to be reset by AGS's auto search feature
2. Added a safeguard to client's setting file. If the file became corrupted it will be auto removed so that the next run will be able to get thru without error.
3. Added Elsweyr's trader locations
4. Fixed an issue causing last updated string to show up in native client's locale instead of target locale when using price to chat with a different locale than the native one.


Client 3.23 Release Notes:
1. Fixed two compatibility issues with Awesome Guild Store (more to come later)
a) Price not showing in store page when AGS is enabled
b) UI error when trying to purchage item when AGS is enabled
2. Updated the logic for personal listings to be consistant with community scanned ones. Last seen for personal listings will only get updated when user opens the guild store and click on the listings tab or when user lists new item/remove existing item from the store. (Used to be based on user's last login. However ZOS's API seems to skip some entries and thus causing the cached version to be unreliable. Causes more confusion than good to use the login time due to this)
3. Fixed an issue causing price to chat to show up multiple times when the language of the current client's locale is selected
4. Uses sub menu for price to chat when there is more than one language selected
5. Removed the one time guild store scan due to point 2

P.S. due to some backend structure change the saved settings will be reset. Your price data will stay safely since its downloaded from the server.


Client 3.22 Release Notes:
1. Wrathstone API update
2. Store full scan code completely revamped. New scan logic will retry on failure (too many searches). In case of the game force close the store UI TTC will attempt to resume the scan the next time store is opened.
3. Added the ability to do price to chat in different languages regardless of client's locale

Known issue: The new ESO Guild Store UI has a bug which it will not update the UI listings when the search is initiated with API calls. Thus you are going to see the search result panel stay the same thru out the whole scan process.

P.S. New items will be added in batch. Thanks for your patience.

Client 3.21 Release Notes:
1. Fixed a problem causing items to be reupload each time
2. Added traders in Murkmire for none English clients

Client 3.20 Release Notes:
1. Murkmire update

Client 3.19 Release Notes:
1. Fixed a crash caused by empty guild name (manually posted on the site)
2. Updates the message for login button's location

Known Issue: The client will remove manual created posts on the site. This will be fixed on the server side in the future.

Client 3.18 Release Notes:
1. Fixed a NullReference error caused by new login flow
2. Updates msg relates to personal listing to avoid confusion

Client 3.17 Release Notes:
1. Added multi account support. Players with multiple ESO account on the same machine will be able to use the client without issues now.
2. Moved client settings into addon settings
3. Fixed an issue causing client not initializing until UI loads
4. Replaced old Lua serializer with new strong typed one (Lua serializer will be available on GitHub soon)

Client 3.16 Release Notes:
Version bump.

Client 3.15 Release Notes:
1. Attempt to fix an app crash problem which some windows 10 users are experiencing
2. Localization updates

Client 3.14 Release Notes:
1. Summerset update
2. Only keeps auto scanned record for 6 hours instead of 24 hours to increase data freshness

Client 3.13 Release Notes:
1. Completely separates the storage space for NA and EU server. This should prevent EU listings get posted to NA site or wise versa.

Client 3.12 Release Notes:
1. Fixed a crash caused by Masterwrit info
2. Fixed a bug causing alchemy writ's required potion attribute not showing up.

Client 3.11 Release Notes:
1. Dragon Bones & Update 17 version bump
2. Upgraded LibAddonMenu to r25
3. Makes the error msg which alerts user about current guild does not own a kiosk a popup instead of a chat msg since the chat window is hidden when guild store is open
4. Auto hides the client's window when using the "start with windows" option
5. other small fixes

Client 3.10 Release Notes:
1. Uses file lock instead of Mutex since Avast hates Mutex after fall creator's update. TTC should be able to live happily with Avast again (Tested on Win 10 fall creator and Win 7 latest with Avast Free)
2. Small change to prepare for upcoming web client.

Client 3.9 Release Notes:
1. Added messages informing users when TTC is blocked by anti-virus instead of crashing right away
2. TTC will no longer add tooltip messages to item panel if there is no pricing information available

Client 3.8 Release Notes:
1. Enables CWC traders scanning for French, German and Russian clients

Client 3.7 Release Notes:
1. Clockwork city update (Note: French, German and Russian clients will not be able to scan clockwork city's trader until the localized NPC names are filled in the google sheet)

Client 3.6 Release Notes:
1. Store item will no longer get uploaded to the server if players attempts to buy it (even if player did not hit confirm on the prompt). This should further reduce the cases where the item is gone by the time one walks to the location.

Client 3.5 Release Notes:
1. Russian and Chinese localization
2. Fixed a problem causing master writ to have always show as no price info on German and French client
3. Enables upload for German/French/Russian/Chinese clients
4. New trader location algorithm should work on all localized ESO client now

Client 3.4 Release Notes:
1. Horn of the reach update
2. New algorithm to determine trader location. Should resolve all potential "this guild does not own a kiosk" errors caused by ZOS typo/inconsistent description. In the worse case scenario where the TTC is unable to detect the trader when player opened guild store interface from the bank NPC, the new algorithm will allow the player to scan by going to the actual trader NPC.
3. Solved all problem with localized clients, uploading is expected to be available for German/French players after the new addon strings are translated

Client 3.3 Release Notes:
Fixed an issue that was blocking Bal Foyen and Vivec city outlaws refuge traders' scan

Client 3.2 Release Notes:
1. Fixed an issue causing TTC to incorrectly parse potion's attribute when its a tri stat potion

Client 3.1 Release Notes:
1. Fixed an error during startup caused by SavedVarUpgrade.lua

Client 3.0 Release Notes:
1. German and French client beta. Enables in game price related operations while uploading is
disabled.
2. Fixed an issue causing in game displaying price updated 1 day ago while client is saying its up to date
3. Fixed an issue causing Deshaan Tal'deic trader to be not scannable
4. various other fixes

Client 2.35 Release Notes:
1. Added Vvardenfell trader locations

Client 2.34 Release Notes:
1. Morrowind updates
2. Centralized strings for localization

Client 2.33 Release Notes:
1. Updated NA's coordinator's iD
2. Fixed the issue causing launch ESO after client option not working with steam short cut.

Client 2.32 Release Notes:
1. Added option to auto start the client in silent mode with Windows or Launch ESO after the client (Which you can just replace the ESO's short cut with TTC client's short cut and it will run both)
2. Bug fixes and server related changes

Client 2.31 Release Notes:
1. Fixed an issue which causes some items to be removed and reposted every time Client starts
2. Fixed master writ's voucher reward amount calculation. Pricing for master writ might be unavailable for one day due to this change.
3. Uses TextBox instead of TextBlock for client's message display for copy paste support
Website Update:
1. Fixed master writ's voucher reward amount calculation. Wrong amount should diminish overtime.
2. Added Blacksmith/Clothing/Woodworking master writ's set, style, and trait information
3. Fixed an issue that sets Level to Level - 50 when you try to post trade manually

Client 2.30 Release Notes:
1. Fixed an issue which causes post trade to fail consistantly
2. Fixed a rare crash issue caused by corrupted config file resulted from unexpected Windows shutdown
3. Fixed an issue which causes TTC to report the current guild doesnt own a kiosk in Orsinium
4. Auto fix broken IDs caused by the massive name change that comes with Homestead update
5. Fixed an issue which causes client settings not get saved
New:
Support master writ price aggregation based on master writ detail instead of for all writs
Website Update:
1. Added amount filter in advanced search
2. Added master writ reward voucher filter in advanced search
3. Added master writ detail display
4. Database optimization
5. Added bunch new discovered furnitures into Database
6. Fixed many broken icons

2.29 change note:
1. Fixes a problem where the client wont start and says it is not in the original location. The problem is due to client not being able to detect server region (NA/EU).
A fallback mechanism is in place and should have a better error message when it fails
2. Fixes the problem of TTC not being able to detect potion/poison's effect due to description change


2.28 release note:
New:
1. Home stead API change
2. Automatically detects Server region instead of having users to set it themselves to prevent uploading items to the wrong server region
3. Automatically updates price table once 12 hours for people that keep the client running overnight
Bug fixes:
1. Fixes the issue which is causing client/server list out of sync and leave out dated trade listings not get cleaned up
2. Fixes the issue of client not automatically updates the guild's kiosk after it is changed
3. Adds a message to warn users about outdated price table
Archived Files (6)
File Name
Version
Size
Uploader
Date
4.17.841.18392
175kB
cyxui
03/20/24 07:03 PM
4.16.267.28139
175kB
cyxui
03/12/24 02:57 PM
4.15.315.11932
173kB
cyxui
03/11/24 12:07 PM
4.14.932.19243
173kB
cyxui
08/16/23 01:19 PM
4.13.547.29182
166kB
cyxui
08/03/23 01:52 PM
4.12.842.21934
166kB
cyxui
08/01/23 01:39 PM


Post A Reply Comment Options
Unread 04/04/18, 07:30 PM  
cyxui
AddOn Author - Click to view AddOns

Forum posts: 62
File comments: 787
Uploads: 1
Re: TTC 3.13 Client Error

Originally Posted by Shadowshire
After I quit playing TESO last night, and checked the TTC client before closing it, I discovered it was displaying an error dialog. The following is from the TTC Error Log dated 04/02/2018:
Code:
Monday, April 02, 2018
---------------------------------------------------------------------
System.Net.WebException: The remote name could not be resolved: 'us.tamrieltradecentre.com'
   at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
   at System.Net.WebClient.DownloadString(Uri address)
   at System.Net.WebClient.DownloadString(String address)
   at ESOTradeDesktop.Web.HTTPService.Get(Uri uri, NameValueCollection data)
   at ESOTradeDesktop.Web.HTTPService.Get(Uri uri)
   at ESOTradeDesktop.MainWindowViewModel.UpdatePriceTable()
The following is from the TTC Error Log dated 04/03/2018:
Code:
Tuesday, April 03, 2018
---------------------------------------------------------------------
System.Configuration.ConfigurationErrorsException: The configuration file has been changed by another program. (C:\Users\SYSOP\AppData\Local\ESOTradeDesktop\Client.exe_Url_e0lqoseu4rbuh5z21urigo5mhy2eehvn\3.13.6643.35852\user.config)
   at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult)
   at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject)
   at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
   at System.Configuration.ClientSettingsStore.GetConfigSection(Configuration config, String sectionName, Boolean declare)
   at System.Configuration.ClientSettingsStore.WriteSettings(String sectionName, Boolean isRoaming, IDictionary newSettings)
   at System.Configuration.LocalFileSettingsProvider.SetPropertyValues(SettingsContext context, SettingsPropertyValueCollection values)
   at System.Configuration.SettingsBase.SaveCore()
   at System.Configuration.SettingsBase.Save()
   at System.Configuration.ApplicationSettingsBase.Save()
   at ESOTradeDesktop.MainWindowViewModel.ParseAndUpload()
   at ESOTradeDesktop.MainWindowViewModel.SavedVarFile_Changed(Object sender, FileSystemEventArgs e)
   at System.IO.FileSystemWatcher.OnChanged(FileSystemEventArgs e)
   at System.IO.FileSystemWatcher.NotifyFileSystemEventArgs(Int32 action, String name)
   at System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* overlappedPointer)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
The following is the text displayed in an error dialog at the time that I checked the TTC client prior to closing it:
Code:
2018-04-03

Content of Error Dialog Field: 

System.Configuration.ConfigurationErrorsException: The configuration file has been changed by another program. (C:\Users\SYSOP\AppData\Local\ESOTradeDesktop\Client.exe_Url_e0lqoseu4rbuh5z21urigo5mhy2eehvn\3.13.6643.35852\user.config)
   at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult)
   at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject)
   at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
   at System.Configuration.ClientSettingsStore.GetConfigSection(Configuration config, String sectionName, Boolean declare)
   at System.Configuration.ClientSettingsStore.WriteSettings(String sectionName, Boolean isRoaming, IDictionary newSettings)
   at System.Configuration.LocalFileSettingsProvider.SetPropertyValues(SettingsContext context, SettingsPropertyValueCollection values)
   at System.Configuration.SettingsBase.SaveCore()
   at System.Configuration.SettingsBase.Save()
   at System.Configuration.ApplicationSettingsBase.Save()
   at ESOTradeDesktop.MainWindowViewModel.ParseAndUpload()
   at ESOTradeDesktop.MainWindowViewModel.SavedVarFile_Changed(Object sender, FileSystemEventArgs e)
   at System.IO.FileSystemWatcher.OnChanged(FileSystemEventArgs e)
   at System.IO.FileSystemWatcher.NotifyFileSystemEventArgs(Int32 action, String name)
   at System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* overlappedPointer)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
I have no idea which "other program" changed the TTC client configuration, as stated at the start of the above error message. I do know that when I attempted to delete the contents of the Sandboxie sandbox in which I run the TTC client, some unidentified "program" had one or more of the files in its sandbox open. I instructed Sandboxie to "terminate all programs" running in any and all sandboxes. After that, I could delete all of the sandbox contents. However, I copied the two error logs (above) to another location before I did that.

It is conceivable that a malicious program used the TTC client connection to the TTC server to intrude into my computer system. I did not find any evidence of a file, or an attempt to install malware. However, the most recent type of threat is called "fileless malware", because it runs solely in the computer system memory and never attempts to install itself on the target system. Regardless, Sandboxie would quite likely re-direct any attempt by such malware to access the file system to an empty folder in the sandbox. The malware, would, however, have access to any files which the TTC client creates in the sandbox, and to any files to which the TTC client has access in the file system on the SSD where they are stored.

Take care.
The connection failed probably is due to your sandbox settings or your DNS failed at one point. That one is totally fine.

As for the file changed probably has to do with how sandbox handles file IO and cache. which doesn't look like a big problem to me either.
Report comment to moderator  
Reply With Quote
Unread 04/04/18, 11:30 AM  
Marazota
AddOn Author - Click to view AddOns

Forum posts: 260
File comments: 1521
Uploads: 2
hey guys when new itens like worm cult motif pages will be available to search at site?
Report comment to moderator  
Reply With Quote
Unread 04/04/18, 06:00 AM  
Shadowshire

Forum posts: 1
File comments: 402
Uploads: 0
Arrow TTC 3.13 Client Error

After I quit playing TESO last night, and checked the TTC client before closing it, I discovered it was displaying an error dialog. The following is from the TTC Error Log dated 04/02/2018:
Code:
Monday, April 02, 2018
---------------------------------------------------------------------
System.Net.WebException: The remote name could not be resolved: 'us.tamrieltradecentre.com'
   at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
   at System.Net.WebClient.DownloadString(Uri address)
   at System.Net.WebClient.DownloadString(String address)
   at ESOTradeDesktop.Web.HTTPService.Get(Uri uri, NameValueCollection data)
   at ESOTradeDesktop.Web.HTTPService.Get(Uri uri)
   at ESOTradeDesktop.MainWindowViewModel.UpdatePriceTable()
The following is from the TTC Error Log dated 04/03/2018:
Code:
Tuesday, April 03, 2018
---------------------------------------------------------------------
System.Configuration.ConfigurationErrorsException: The configuration file has been changed by another program. (C:\Users\SYSOP\AppData\Local\ESOTradeDesktop\Client.exe_Url_e0lqoseu4rbuh5z21urigo5mhy2eehvn\3.13.6643.35852\user.config)
   at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult)
   at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject)
   at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
   at System.Configuration.ClientSettingsStore.GetConfigSection(Configuration config, String sectionName, Boolean declare)
   at System.Configuration.ClientSettingsStore.WriteSettings(String sectionName, Boolean isRoaming, IDictionary newSettings)
   at System.Configuration.LocalFileSettingsProvider.SetPropertyValues(SettingsContext context, SettingsPropertyValueCollection values)
   at System.Configuration.SettingsBase.SaveCore()
   at System.Configuration.SettingsBase.Save()
   at System.Configuration.ApplicationSettingsBase.Save()
   at ESOTradeDesktop.MainWindowViewModel.ParseAndUpload()
   at ESOTradeDesktop.MainWindowViewModel.SavedVarFile_Changed(Object sender, FileSystemEventArgs e)
   at System.IO.FileSystemWatcher.OnChanged(FileSystemEventArgs e)
   at System.IO.FileSystemWatcher.NotifyFileSystemEventArgs(Int32 action, String name)
   at System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* overlappedPointer)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
The following is the text displayed in an error dialog at the time that I checked the TTC client prior to closing it:
Code:
2018-04-03

Content of Error Dialog Field: 

System.Configuration.ConfigurationErrorsException: The configuration file has been changed by another program. (C:\Users\SYSOP\AppData\Local\ESOTradeDesktop\Client.exe_Url_e0lqoseu4rbuh5z21urigo5mhy2eehvn\3.13.6643.35852\user.config)
   at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult)
   at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject)
   at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
   at System.Configuration.ClientSettingsStore.GetConfigSection(Configuration config, String sectionName, Boolean declare)
   at System.Configuration.ClientSettingsStore.WriteSettings(String sectionName, Boolean isRoaming, IDictionary newSettings)
   at System.Configuration.LocalFileSettingsProvider.SetPropertyValues(SettingsContext context, SettingsPropertyValueCollection values)
   at System.Configuration.SettingsBase.SaveCore()
   at System.Configuration.SettingsBase.Save()
   at System.Configuration.ApplicationSettingsBase.Save()
   at ESOTradeDesktop.MainWindowViewModel.ParseAndUpload()
   at ESOTradeDesktop.MainWindowViewModel.SavedVarFile_Changed(Object sender, FileSystemEventArgs e)
   at System.IO.FileSystemWatcher.OnChanged(FileSystemEventArgs e)
   at System.IO.FileSystemWatcher.NotifyFileSystemEventArgs(Int32 action, String name)
   at System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* overlappedPointer)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
I have no idea which "other program" changed the TTC client configuration, as stated at the start of the above error message. I do know that when I attempted to delete the contents of the Sandboxie sandbox in which I run the TTC client, some unidentified "program" had one or more of the files in its sandbox open. I instructed Sandboxie to "terminate all programs" running in any and all sandboxes. After that, I could delete all of the sandbox contents. However, I copied the two error logs (above) to another location before I did that.

It is conceivable that a malicious program used the TTC client connection to the TTC server to intrude into my computer system. I did not find any evidence of a file, or an attempt to install malware. However, the most recent type of threat is called "fileless malware", because it runs solely in the computer system memory and never attempts to install itself on the target system. Regardless, Sandboxie would quite likely re-direct any attempt by such malware to access the file system to an empty folder in the sandbox. The malware, would, however, have access to any files which the TTC client creates in the sandbox, and to any files to which the TTC client has access in the file system on the SSD where they are stored.

Take care.
Report comment to moderator  
Reply With Quote
Unread 04/02/18, 10:38 PM  
Alexs_Melody

Forum posts: 0
File comments: 14
Uploads: 0
2 cyxui
All is ok with new(03.04.2018) AV virusbase.
Probably this is a false alert with old bases.
Report comment to moderator  
Reply With Quote
Unread 04/02/18, 04:53 PM  
cyxui
AddOn Author - Click to view AddOns

Forum posts: 62
File comments: 787
Uploads: 1
Re: Virus..

Originally Posted by Tonyleila
Hey, sadly my anti virus (Kaspersky) always removes the exe of this programm so I can't use it. Can you fix this? Now it even blocks me from redownloading the AddOn!

Virustotal also shows 2 other programms that don't like your addon. https://www.virustotal.com/de/file/f...is/1522689225/

When I try to submit a false positive report Kaspersky asks me to scan the file first. And the scan result was clean for Apr 02 2018 22:31:11 UTC database. Maybe try to update your Kaspersky and give it another shot?

Kaspersky is probably seeing TTC has the following functions
1. Option to start with windows
2. Monitors a file's change (TamrielTradeCentre.lua saved variable file)
3. Download and Uploads data to the server

Antivirus companies hold the ultimate decision on whether they think its a virus or not and there is no way I can change that. The only thing I could do is to submit a false positive report and wait for months before they clear that, and then get flagged for the next version again.

Or

completely strip out feature 1, 2 and 3 which makes TTC unusable at all.

For people who are not comfortable with exe you can try out webclient (go to tamrieltradecentre.com and select addon drop down). Web client can do everything desktop client is able to do except 1 and 2 mentioned above. Its purely JavaScript that runs in your browser so there is like 0 chance of getting infected.
Last edited by cyxui : 04/02/18 at 05:05 PM.
Report comment to moderator  
Reply With Quote
Unread 04/02/18, 02:11 PM  
SoboL

Forum posts: 0
File comments: 6
Uploads: 0
Same problem
Report comment to moderator  
Reply With Quote
Unread 04/02/18, 11:43 AM  
Alexs_Melody

Forum posts: 0
File comments: 14
Uploads: 0
Re: Virus..

Originally Posted by Tonyleila
Hey, sadly my anti virus (Kaspersky) always removes the exe of this programm so I can't use it. Can you fix this? Now it even blocks me from redownloading the AddOn!

Virustotal also shows 2 other programms that don't like your addon. https://www.virustotal.com/de/file/f...is/1522689225/
+1
Report comment to moderator  
Reply With Quote
Unread 04/02/18, 11:19 AM  
Tonyleila
 
Tonyleila's Avatar
AddOn Author - Click to view AddOns

Forum posts: 288
File comments: 763
Uploads: 7
Virus..

Hey, sadly my anti virus (Kaspersky) always removes the exe of this programm so I can't use it. Can you fix this? Now it even blocks me from redownloading the AddOn!

Virustotal also shows 2 other programms that don't like your addon. https://www.virustotal.com/de/file/f...is/1522689225/
Report comment to moderator  
Reply With Quote
Unread 03/27/18, 08:29 PM  
cyxui
AddOn Author - Click to view AddOns

Forum posts: 62
File comments: 787
Uploads: 1
Re: error message since last game patch

Originally Posted by Kyra
Hello
Since yesterday patch of ESO, i get the following error message from TTC add-on :
user:/AddOns/TamrielTradeCentre/PriceTable.lua:3: unfinished string near '<eof>'

And the price suggestion no longer works.

Hopefully uou can fix it soon !

Thanks
Kyra
try delete \Documents\Elder Scrolls Online\live\AddOns\TamrielTradeCentre\PriceTable.lua
Report comment to moderator  
Reply With Quote
Unread 03/26/18, 11:14 PM  
Kyra

Forum posts: 0
File comments: 11
Uploads: 0
error message since last game patch

Hello
Since yesterday patch of ESO, i get the following error message from TTC add-on :
user:/AddOns/TamrielTradeCentre/PriceTable.lua:3: unfinished string near '<eof>'

And the price suggestion no longer works.

Hopefully uou can fix it soon !

Thanks
Kyra
Report comment to moderator  
Reply With Quote
Unread 03/26/18, 06:40 PM  
necropola
 
necropola's Avatar

Forum posts: 0
File comments: 41
Uploads: 0
Re: Re: Re: Re: Oauth implementation issue

Originally Posted by cyxui
Originally Posted by necropola
Originally Posted by cyxui
Originally Posted by necropola
I just deleted SavedVariables because I logged into another ESO account (and I already know that this breaks the settings).

I'm now trying to recreate the settings from scratch and supply the same TTC account informatiion I used before, but the client not only asks for the account name (Login with Google) but also for a password which is VERY SUSPICIOUS.

I already have an authenticated chrome (default browser) session and I would expect the client to request an OAUTH/openid token (--> Asp.Net.ApplicationCookie) from that session and NOT to create a separate login session using some IE/HTML control and then ask for my google password. I cannot even see where this control connects too, whether the connection is encrypted, ...

They way "Login with Google" is currently implemented in the TTC client does not seem right and I would suggest to remove the feature until it's fixed. It just teaches bad/insecure habits, i. e. type in your (google) credentials into some random pop up window.

https://tools.ietf.org/html/draft-ie...native-apps-03
TTC's client uses embedded IE when you do login. And all of your login with FB/Google/MS stuffs are all handled by IE. TTC client will grab the tamrieltradecentre.com cookie from your IE cookie container and start from there. I don't even think Google even allow programmed access to OAuth with user name and password.
Hmm ... assuming that you have no browser running at the moment and never have authenticated to the TTC web site and/or to google (or rather cleared all cookies), does the client or rather the embedded IE ask for your google password or not?

This is how it looks after deleting all INetCookies: https://imgur.com/a/EZVem

Your (Native) App (or rather the embedded IE) should NEVER ask for the password. You should use/open the system/default browser instead. Please read the IETF Draft I have linked (section 8.1) or the corresponding 8.12 section from the updated version: https://tools.ietf.org/html/rfc8252#section-8.12

Code:
8.12.  Embedded User-Agents
[...]
Encouraging users to enter credentials in an embedded user-agent
without the usual address bar and visible certificate validation
features that browsers have makes it impossible for the user to know
if they are signing in to the legitimate site; even when they are, it
trains them that it's OK to enter credentials without validating the
site first.
ietf is just a recommendation on what would be ideal. But until we got OS support for such thing it is not that easy to achieve. Mobile OS already supports this so all the recommendations for mobile app are to use the SDK.

But for desktop app. Meh, you will have to hope this becomes a standard one day and MS would add that to windows.

I will just quote some recommendations:

FB:

"To use Facebook Login in a desktop app, you'll need to be able to embed a web browser (sometimes called a webview) within the app to perform the login process."

https://developers.facebook.com/docs...d-a-login-flow

Twitter:
Mobile and desktop apps should open a new browser window or direct to the URL via an embedded web view.

https://dev.twitter.com/web/sign-in/implementing


All the games that supports OAuth that I know does it this way.
MS, FB apps does it this way.

Default browser has NO standard event to notify desktop app about redirection nor does it have standard way to read cookies from.
Adding a system hook or Url hook would require Admin privilege which grants way more privilege than what that embedded browser can do. And it makes Anti-virus even more zealous about the client.
Regardless of how many others are doing it this way (doesn't make it any better), I think you get my point or rather the point of the RFC. It's really, really bad!

The RFC (and various google best practice documents) also suggest how to do it properly, i. e. open a system browser tab and use an URL handler listening on localhost for the redirect URL to receive the response. --> https://github.com/googlesamples/oauth-apps-for-windows

You can either stay in bad company (FB lol) and continue to teach bad practice or set a good example.
Last edited by necropola : 03/27/18 at 07:21 AM.
Report comment to moderator  
Reply With Quote
Unread 03/26/18, 04:55 PM  
cyxui
AddOn Author - Click to view AddOns

Forum posts: 62
File comments: 787
Uploads: 1
Re: Re: Re: Oauth implementation issue

Originally Posted by necropola
Originally Posted by cyxui
Originally Posted by necropola
I just deleted SavedVariables because I logged into another ESO account (and I already know that this breaks the settings).

I'm now trying to recreate the settings from scratch and supply the same TTC account informatiion I used before, but the client not only asks for the account name (Login with Google) but also for a password which is VERY SUSPICIOUS.

I already have an authenticated chrome (default browser) session and I would expect the client to request an OAUTH/openid token (--> Asp.Net.ApplicationCookie) from that session and NOT to create a separate login session using some IE/HTML control and then ask for my google password. I cannot even see where this control connects too, whether the connection is encrypted, ...

They way "Login with Google" is currently implemented in the TTC client does not seem right and I would suggest to remove the feature until it's fixed. It just teaches bad/insecure habits, i. e. type in your (google) credentials into some random pop up window.

https://tools.ietf.org/html/draft-ie...native-apps-03
TTC's client uses embedded IE when you do login. And all of your login with FB/Google/MS stuffs are all handled by IE. TTC client will grab the tamrieltradecentre.com cookie from your IE cookie container and start from there. I don't even think Google even allow programmed access to OAuth with user name and password.
Hmm ... assuming that you have no browser running at the moment and never have authenticated to the TTC web site and/or to google (or rather cleared all cookies), does the client or rather the embedded IE ask for your google password or not?

This is how it looks after deleting all INetCookies: https://imgur.com/a/EZVem

Your (Native) App (or rather the embedded IE) should NEVER ask for the password. You should use/open the system/default browser instead. Please read the IETF Draft I have linked (section 8.1) or the corresponding 8.12 section from the updated version: https://tools.ietf.org/html/rfc8252#section-8.12

Code:
8.12.  Embedded User-Agents
[...]
Encouraging users to enter credentials in an embedded user-agent
without the usual address bar and visible certificate validation
features that browsers have makes it impossible for the user to know
if they are signing in to the legitimate site; even when they are, it
trains them that it's OK to enter credentials without validating the
site first.
ietf is just a recommendation on what would be ideal. But until we got OS support for such thing it is not that easy to achieve. Mobile OS already supports this so all the recommendations for mobile app are to use the SDK.

But for desktop app. Meh, you will have to hope this becomes a standard one day and MS would add that to windows.

I will just quote some recommendations:

FB:

"To use Facebook Login in a desktop app, you'll need to be able to embed a web browser (sometimes called a webview) within the app to perform the login process."

https://developers.facebook.com/docs...d-a-login-flow

Twitter:
Mobile and desktop apps should open a new browser window or direct to the URL via an embedded web view.

https://dev.twitter.com/web/sign-in/implementing


All the games that supports OAuth that I know does it this way.
MS, FB apps does it this way.

Default browser has NO standard event to notify desktop app about redirection nor does it have standard way to read cookies from.
Adding a system hook or Url hook would require Admin privilege which grants way more privilege than what that embedded browser can do. And it makes Anti-virus even more zealous about the client.
Report comment to moderator  
Reply With Quote
Unread 03/26/18, 03:29 AM  
necropola
 
necropola's Avatar

Forum posts: 0
File comments: 41
Uploads: 0
Re: Re: Oauth implementation issue

Originally Posted by cyxui
Originally Posted by necropola
I just deleted SavedVariables because I logged into another ESO account (and I already know that this breaks the settings).

I'm now trying to recreate the settings from scratch and supply the same TTC account informatiion I used before, but the client not only asks for the account name (Login with Google) but also for a password which is VERY SUSPICIOUS.

I already have an authenticated chrome (default browser) session and I would expect the client to request an OAUTH/openid token (--> Asp.Net.ApplicationCookie) from that session and NOT to create a separate login session using some IE/HTML control and then ask for my google password. I cannot even see where this control connects too, whether the connection is encrypted, ...

They way "Login with Google" is currently implemented in the TTC client does not seem right and I would suggest to remove the feature until it's fixed. It just teaches bad/insecure habits, i. e. type in your (google) credentials into some random pop up window.

https://tools.ietf.org/html/draft-ie...native-apps-03
TTC's client uses embedded IE when you do login. And all of your login with FB/Google/MS stuffs are all handled by IE. TTC client will grab the tamrieltradecentre.com cookie from your IE cookie container and start from there. I don't even think Google even allow programmed access to OAuth with user name and password.
Hmm ... assuming that you have no browser running at the moment and never have authenticated to the TTC web site and/or to google (or rather cleared all cookies), does the client or rather the embedded IE ask for your google password or not?

This is how it looks after deleting all INetCookies: https://imgur.com/a/EZVem

Your (Native) App (or rather the embedded IE) should NEVER ask for the password. You should use/open the system/default browser instead. Please read the IETF Draft I have linked (section 8.1) or the corresponding 8.12 section from the updated version: https://tools.ietf.org/html/rfc8252#section-8.12

Code:
8.12.  Embedded User-Agents
[...]
Encouraging users to enter credentials in an embedded user-agent
without the usual address bar and visible certificate validation
features that browsers have makes it impossible for the user to know
if they are signing in to the legitimate site; even when they are, it
trains them that it's OK to enter credentials without validating the
site first.
Last edited by necropola : 03/26/18 at 06:48 AM.
Report comment to moderator  
Reply With Quote
Unread 03/25/18, 09:57 PM  
cyxui
AddOn Author - Click to view AddOns

Forum posts: 62
File comments: 787
Uploads: 1
Re: Oauth implementation issue

Originally Posted by necropola
I just deleted SavedVariables because I logged into another ESO account (and I already know that this breaks the settings).

I'm now trying to recreate the settings from scratch and supply the same TTC account informatiion I used before, but the client not only asks for the account name (Login with Google) but also for a password which is VERY SUSPICIOUS.

I already have an authenticated chrome (default browser) session and I would expect the client to request an OAUTH/openid token (--> Asp.Net.ApplicationCookie) from that session and NOT to create a separate login session using some IE/HTML control and then ask for my google password. I cannot even see where this control connects too, whether the connection is encrypted, ...

They way "Login with Google" is currently implemented in the TTC client does not seem right and I would suggest to remove the feature until it's fixed. It just teaches bad/insecure habits, i. e. type in your (google) credentials into some random pop up window.

https://tools.ietf.org/html/draft-ie...native-apps-03
TTC's client uses embedded IE when you do login. And all of your login with FB/Google/MS stuffs are all handled by IE. TTC client will grab the tamrieltradecentre.com cookie from your IE cookie container and start from there. I don't even think Google even allow programmed access to OAuth with user name and password.
Report comment to moderator  
Reply With Quote
Unread 03/24/18, 10:41 AM  
necropola
 
necropola's Avatar

Forum posts: 0
File comments: 41
Uploads: 0
Oauth implementation issue

I just deleted SavedVariables because I logged into another ESO account (and I already know that this breaks the settings).

I'm now trying to recreate the settings from scratch and supply the same TTC account informatiion I used before, but the client not only asks for the account name (Login with Google) but also for a password which is VERY SUSPICIOUS.

I already have an authenticated chrome (default browser) session and I would expect the client to request an OAUTH/openid token (--> Asp.Net.ApplicationCookie) from that session and NOT to create a separate login session using some IE/HTML control and then ask for my google password. I cannot even see where this control connects too, whether the connection is encrypted, ...

They way "Login with Google" is currently implemented in the TTC client does not seem right and I would suggest to remove the feature until it's fixed. It just teaches bad/insecure habits, i. e. type in your (google) credentials into some random pop up window.

https://tools.ietf.org/html/draft-ie...native-apps-03
Last edited by necropola : 03/25/18 at 07:16 PM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.