Merchant Archive
Thread: Proposed Solution Merchant Item Cap Issue
Page 1 of 1
Chek
Mon Aug 09, 2004 10:59 am
#1
First of all, I'm not suggesting there shouldn't be some sort of cap based on your merchant management level with additional bonuses to those who elect to master merchant. All masters deserve perks.
I'm an applications developer who works with high transaction back end databases. I am not a network administrator, so if I'm out of line withmy networking related suggested, please correct me.
Most high end databases can support millions of records in a single table. So, if the problem with the number of items on a vendor is simply a database issue then the following would certainly help:
1. Buy more hardware with higher end and/or dual processors and run parallel/mirror databases with high cap/high performance RAID.
2. If necessary, purchase (or lease) aserver to dedicate to the vendor databases.
3. Partition your vendor database table(s) by server/planet/owner to make your queries more efficient.
4. Don't instantiate the vendors in each location until a call from the client is made (Don't load the vendor items until someone browses the vendor).
5. Make the client do the work, not the server.
- Minimize theclient/server calls to the database, limiting them toinitiate, terminate, sell and purchase.
- When the vendor is browsed, dump a static dataset to the clients cache. The cache would be queriedby the client and the 'work' would be done by the user's pc.
- If the user refreshes (requests an updated dataset), clear the vendor data cache and dump the new static data.
6. Modify the existing vendor and item objects to improve their properties and methods to reduce the transaction processing. Less transactions = less latency.
- If it's not already in place, create a dll file for the client to use to interface with the server's vendor database. (Speedier transactions, easier, faster and more efficientprogramming, fixes isolatedto minimize impacts when implemented)
- Enhance existing objects (properties and methods) to make them more robust and re-useable. For instance:
- If an item has a property of max units, then allow the max units to begreater than 100k (as with resources) so that the stack can be any size up to 1 million units.
- Add new methods, like multi-item purchase and multi-item sales, to reduce transaction processing. Let users select 5 items to buy at one time and process it as one transaction instead of 5 transactions. Same with sales, let me sell 15 items at the same price by multi-select.
- During the purchase and sales events, process all the required parameters ("are you sure", "it's in a container - are you still sure", "item no longer available", "it's on a different planet", etc) at the client prior to the processing the transaction to the server.
- Clear the vendor cache after exiting the vendor and flush the graphics.
Sorry for getting long winded and being so technical, but these aren't difficult fixes (time consuming perhaps) butif done correctly it would greatly enhance gameplay and reduce lag.
Message Edited by Chek on 08-09-2004 01:53 PM
Page 1 of 1