Page Index Toggle Pages: 1 Send TopicPrint
Normal Topic Question for Flav and others who know more than I (Read 3339 times)
Some Guy Here On The Boards
Ghostbaned
*****
Offline


Somewhere on Korthos Island

Posts: 528
Location: Thelanis
Joined: Nov 3rd, 2013
Gender: Male
Question for Flav and others who know more than I
Aug 17th, 2014 at 4:30pm
Print Post  
Been pondering over something, and, since I know that there are some on here who know a great deal more than I on how games operate, servers, databases, and the like, wondering if I will find one who will know the answer...

Whenever I hear about an account ban, I hear that a GM will 'log on' to the actual characters and manually delete/sell the inventory... This strikes me as odd. I know little of server / game / database architecture, but are not the characters, items, etc. all just data floating around somewhere on a server? Couldn't an admin account just 'delete' the data entirely, as simply as I delete a file off my disk drive? Or is the layout so different that such a thing is not possible? It would seem that if one could simply edit the data this way, it would have solved some of Turbines' problems... (thinking back on when they disabled buyback for all to prevent some from buying back the gm deleted items).

I await my better peers to enlighten me Cheesy
  
Back to top
 
IP Logged
 
Ckorik
Dragon Raider
***
Offline


N00b

Posts: 223
Joined: Jul 24th, 2012
Re: Question for Flav and others who know more than I
Reply #1 - Aug 17th, 2014 at 4:42pm
Print Post  
Yes it's entirely possible - however based on past experience with them trying it - however they have the database coded it's not safe for them to do it this way.

Think about why we all got a raiders box - because the idea they'd only give one to select people didn't work - because for some reason (that we honestly can't know from the outside) the database they use is FUBAR from an outside tool perspective.

Now *in general* the code they have in game has been tested and interacts with the database correctly - that is no one has ever tried to delete an item and ended up deleting someone elses item by accident - this has had it's share of issues also (such as deleting bags and greensteel items at times) - but it's *much* safer to go in and do it by hand, and I only say this because of actually seeing the results of past experiences when they have tried to do things from outside the game client itself.
  

Back to top
 
IP Logged
 
Some Guy Here On The Boards
Ghostbaned
*****
Offline


Somewhere on Korthos Island

Posts: 528
Location: Thelanis
Joined: Nov 3rd, 2013
Gender: Male
Re: Question for Flav and others who know more than I
Reply #2 - Aug 17th, 2014 at 4:54pm
Print Post  
Ah. So, in theory, databases/games should work like I imagined them to, and one could simply delete the appropriate files to make change... Turbines problem is years upon years of bad coding / practices that have obfuscated it to the point where they are unable... If I am understanding correctly.

Thanks ckorik.
  
Back to top
 
IP Logged
 
apep
Dragon Raider
***
Offline


I Love Drama!

Posts: 244
Joined: Apr 11th, 2011
Re: Question for Flav and others who know more than I
Reply #3 - Aug 17th, 2014 at 5:04pm
Print Post  
Even if they knew exactly how to do it, logging into an account and deleting items is something an unskilled worker could do.
  
Back to top
 
IP Logged
 
Some Guy Here On The Boards
Ghostbaned
*****
Offline


Somewhere on Korthos Island

Posts: 528
Location: Thelanis
Joined: Nov 3rd, 2013
Gender: Male
Re: Question for Flav and others who know more than I
Reply #4 - Aug 17th, 2014 at 5:07pm
Print Post  
apep wrote on Aug 17th, 2014 at 5:04pm:
logging into an account and deleting items is something an unskilled worker could do.


Hmm... perhaps I should apply to work for Turbine then... Rolled 1 on my wis and int tests and got my degree from DeVry University -__- So, I am an unskilled worker... and am jobless... *starts pulling up turbine website*
  
Back to top
 
IP Logged
 
Sasha
Abbot Raider
**
Offline



Posts: 818
Joined: Apr 13th, 2014
Re: Question for Flav and others who know more than I
Reply #5 - Aug 17th, 2014 at 5:12pm
Print Post  
My guess is that they have the resources to do database deleting and stuff like that but they don't wanna risk fucking up so they just log on banned people's account.

My other guess is that they have no one with a clue about SQL, this has been proven by one of their surveys asking people how old their guilds were and how many people were in it, lols.
  
Back to top
 
IP Logged
 
Ckorik
Dragon Raider
***
Offline


N00b

Posts: 223
Joined: Jul 24th, 2012
Re: Question for Flav and others who know more than I
Reply #6 - Aug 17th, 2014 at 5:15pm
Print Post  
Going to go out on a limb and say they aren't using SQL for their database backend - based on the client files, and the issue they've had with duping, it wouldn't surprise me if they weren't using MUMPS.

That's just a guess though.
  

Back to top
 
IP Logged
 
Flav
Vault Frog
*
Offline


One Frog to Rule them
All!

Posts: 9985
Location: Land of the Frogs
Joined: Aug 29th, 2010
Gender: Male
Re: Question for Flav and others who know more than I
Reply #7 - Aug 17th, 2014 at 5:28pm
Print Post  
Honestly...

It's 11:30 PM, and this requires an answer that's way to long for me to post at that time of the day.

Ckorik posted some relevant stuff... Though I'm almost certain that they use a SQL DB.

First the important things is that if you know where to look ( read : various logfiles on your local hard disk ) there's lots of information available on lots of stuff ( from what your account options are to a partial vision of the backbend network behind the servers ).

Now It's bedtime for me, If I have time tomorrow at work I'll write a long version of what I think is the infrastructure of DDO.
And why they have to do the things the way they do it. ( This one is obvious : if you don't have a clue at what data to modify and how to modify them without endangering any other data, you just don't do it... a Database restore is always a disaster recovery situation. )
  

Yes my avatar is an Hermine eating a Greenland Lemming for brunch.
Back to top
 
IP Logged
 
DropBear
Dropbear Awareness Society
*
Offline


Don't forget to look up....

Posts: 4377
Location: Landdownunder
Joined: Oct 11th, 2013
Re: Question for Flav and others who know more than I
Reply #8 - Aug 18th, 2014 at 3:05am
Print Post  
My 10 cents worth is that the tools available for the devs/GM's to manipulate the game data are either quite basic or simply have not kept paced with the game development.

As such, it is easier/safer to just work within the existing GUI - just not very efficient.  How long would it take to go through a single VIP account with 15-20 toons?

Obviously the GM accounts have more authority to do things (eg. Clear the buy back log etc.), but it is still a largely manual process.
  
Back to top
 
IP Logged
 
Skoodge
LORD OF BOOBS
*
Offline


Whatever

Posts: 3702
Location: Why? You want to visit me?
Joined: Jul 19th, 2014
Gender: Male
Re: Question for Flav and others who know more than I
Reply #9 - Aug 18th, 2014 at 3:48am
Print Post  
Turbine's devs and code explained simply.



  

Turbine policy - glitches and poor coding resulting in interference of your game play or enjoyment will be ignored.  Glitches or poor coding on the developers side that at all benefit your game play or enjoyment will result in your character being banned and/or items from your inventory deleted.  Please report all bugs via our bug report...when it works.
Back to top
 
IP Logged
 
Fubar
Korthos Resident
*
Offline


I Love Drama!

Posts: 7
Joined: Aug 5th, 2014
Re: Question for Flav and others who know more than I
Reply #10 - Aug 18th, 2014 at 9:17am
Print Post  
Ckorik wrote on Aug 17th, 2014 at 4:42pm:
database they use is FUBAR from an outside tool

I did what now?
  

I REALLY want to know how to reuse TR reset potions!
Back to top
 
IP Logged
 
Flav
Vault Frog
*
Offline


One Frog to Rule them
All!

Posts: 9985
Location: Land of the Frogs
Joined: Aug 29th, 2010
Gender: Male
Re: Question for Flav and others who know more than I
Reply #11 - Aug 18th, 2014 at 4:43pm
Print Post  
ok, since my Main PC fried tonight and the backup laptop ( a 8 year old VAIO T2 ) is unable to run DDO anylonger, I have emple time during my evening to answer the long way. ( I didn't have time at work... there's days like that where it sucks from the time you wake up to the time you go to bed... today is one such day for me )

Some Guy Here On The Boards wrote on Aug 17th, 2014 at 4:30pm:
Whenever I hear about an account ban, I hear that a GM will 'log on' to the actual characters and manually delete/sell the inventory... This strikes me as odd. I know little of server / game / database architecture, but are not the characters, items, etc. all just data floating around somewhere on a server? Couldn't an admin account just 'delete' the data entirely, as simply as I delete a file off my disk drive? Or is the layout so different that such a thing is not possible? It would seem that if one could simply edit the data this way, it would have solved some of Turbines' problems... (thinking back on when they disabled buyback for all to prevent some from buying back the gm deleted items).


1) Oddity of GM having to log in to clear things.

      Yes and know While they do it with Exxxxxxtreme Prejudice, they don't empty the inventory totally, being selective in your emptying cannot be done by scripts.

2) Char records and such are data floating on a server ?

     Definitely. From my knowledge of DDO architecture, you have the frontend side :
Code
Select All
74.201.106.53 Wayfinder [DE]
74.201.106.64 Ghallanda
74.201.106.56 Argonnessen
74.201.106.21 Thelanis
74.201.106.22 Sarlona
74.201.106.23 Khyber
74.201.106.59 Cannith
74.201.106.60 Orien
 



Then you have the backend side... Since my main PC died I can't give you the exact IPs until tomorrow when I'll be at work.
But they are in the 10.XX.YY.ZZ range ( so basically not routable ) and there's one for each server. You can find them by looking in the logfiles both in your user home dir and in the application data directory.
( there's also a nice logfile that details every option you bought for your account )

From my point of view that's two separate networks ( probably on separate interfaces ) and the backend network is also the network where the Database server is connected.

3) Data layout...

Well, that's a tricky one... Since we have no clue of the datamodel used for the database.
But it can be as simple as having everything tied to a character recorded in said character record...
to just pointers recorded in the character records that points to fixed records in other tables...

Example of the later :
Code
Select All
Character Inventory Table
Item 0x00001 Qty 500 Slot Loc 0
Item 0x000F5 Qty 20  Slot Loc 0
Item 0xD0000 Qty 1  Slot Loc 1
In another Table :
Item 0x00001 Spell Component Power 1 : 0x00010
Item 0x000F5 Potion  Power 1 0x00002
Item 0xD0000 Helm  Power 1 0x00001 Power 2 : 0x000D3

In another table :

Power
0x00001 Haggling +3
0x00002 Jump +20
0x00010 Lvl1 Class Restriction : 0x00001
0x000D3 Intelligence +1

In another table
Class Restriction :
0x00001 : Cleric Only
 



Now you see the issue... it can be difficult to track down what data to erase.

So depending on the datamodel deleting an item can be as easy as deleting a record from a table, but it can also be something complex that requires lots of work to keep the integrity of the databases and tp make sure that the item gets deleted the right way.
Personally if I can do the deleting in a database through an UI of some kind, even if it's a clunky one and not really user friendly I'll still use it over doing it straight in the DB. ( I've done both at work... and while going straight for the data in the DB is faster, using the clunky UI had that "It's safe for the data integrity" bit that made it less stressful. )

Ckorik wrote on Aug 17th, 2014 at 4:42pm:
Now *in general* the code they have in game has been tested and interacts with the database correctly - that is no one has ever tried to delete an item and ended up deleting someone elses item by accident -


in general
is the important term here. Whatever you do, after a while inconsistencies will eventually crop up in the databases.
Things that losts ties ( just data ghosts that takes up place but are not tied to anything meaningful ), or things that changed when they shouldn't have ( because somebody did something he shouldn't have done, like making changes straight in the DB without going through the UI )

So yes, in general, things will work... That's how the first dupes occured... They used glitches in how the gamelogic scripts was ordering the database to write the data. That's also how the bag disappeared... the transfer script fired two scripts : first one to delete the item from inventory table, then one tp insert the item in the bank table. ( or the reverse )
Except that only the first query was executed... and the second one was interrupted for whatever reason.
That's where all the discussion we had about Transaction would have had a huge impact, beside making it extremely hard for Duping to happen, using transaction would have solved that issue.

Ckorik wrote on Aug 17th, 2014 at 4:42pm:
I only say this because of actually seeing the results of past experiences when they have tried to do things from outside the game client itself.


I also agree, it's really safer for the game for Turbine to use the tools they have even with the limitations they have, than to dig straight in the database... Their displayed ability to work with databases makes me cringe, and wish they never ever encounter a data corruption like the ones I encountered at work... They would be unable to recover from it. And it would be a killer for the game impacted.

Ckorik wrote on Aug 17th, 2014 at 5:15pm:
Going to go out on a limb and say they aren't using SQL for their database backend - based on the client files, and the issue they've had with duping, it wouldn't surprise me if they weren't using MUMPS.


They are using SQL, there's not really other option possible that has the required throughput with multiple concurrent queries without generating deadlocks.
« Last Edit: Aug 18th, 2014 at 4:49pm by Flav »  

Yes my avatar is an Hermine eating a Greenland Lemming for brunch.
Back to top
 
IP Logged
 
noamineo
Completionist (i.t.p.)
******
Offline


All men fear time, but
time fears the pyramids

Posts: 9015
Location: Titan
Joined: Jul 2nd, 2014
Re: Question for Flav and others who know more than I
Reply #12 - Aug 18th, 2014 at 7:51pm
Print Post  
Another factor that has not been brought up here is security.

Assuming the deletions are being done by some worthless peon(which they probably are) its much safer to have someone slightly higher up the food chain reset the password, then tell the worthless peon what it is, and have him log in and make the changes.

Where as having someone make the changes in the database itself means getting a DBA involved. This is someone who knows enough to manually manipulate the data, and, more importantly, is trusted enough to be given direct access to the database.

Even the highest-level GMs probably do not have access to the database. Its the kind of thing where the fewer people you let fuck with it, the better.
  

I'll never understand the propensity of people to brag about being good at a video game. Its a toy you play with for fun. The only person who should be proud of you is your mother. If you're 3.
Back to top
 
IP Logged
 
Nuckinfutz
Titan Demolisher
****
Offline


The Pig's a tease.

Posts: 364
Location: Mom's Basement
Joined: Aug 9th, 2014
Gender: Male
Re: Question for Flav and others who know more than I
Reply #13 - Aug 18th, 2014 at 8:15pm
Print Post  
Hmmm- In NWN a DM could walk around as a player but invisible to the players and manipulate inventory while standing next to them. Who needs a DB with a GM tool like that?

Sorry... forgot this was turbine we were talking about
  

Felgor wrote on May 21st, 2013 at 3:45am:
DDO died a long time ago, we just all have trouble admitting it.

Back to top
 
IP Logged
 
Sasha
Abbot Raider
**
Offline



Posts: 818
Joined: Apr 13th, 2014
Re: Question for Flav and others who know more than I
Reply #14 - Aug 18th, 2014 at 8:34pm
Print Post  
They have exactly those tools available to them.

I know because I pay attention to the admin commands Cordo and others use when they stream and shit.
  
Back to top
 
IP Logged
 
DropBear
Dropbear Awareness Society
*
Offline


Don't forget to look up....

Posts: 4377
Location: Landdownunder
Joined: Oct 11th, 2013
Re: Question for Flav and others who know more than I
Reply #15 - Aug 18th, 2014 at 8:59pm
Print Post  
noamineo wrote on Aug 18th, 2014 at 7:51pm:
Another factor that has not been brought up here is security.

Assuming the deletions are being done by some worthless peon(which they probably are) its much safer to have someone slightly higher up the food chain reset the password, then tell the worthless peon what it is, and have him log in and make the changes.

Where as having someone make the changes in the database itself means getting a DBA involved. This is someone who knows enough to manually manipulate the data, and, more importantly, is trusted enough to be given direct access to the database.

Even the highest-level GMs probably do not have access to the database. Its the kind of thing where the fewer people you let fuck with it, the better.



I do know that they don't need passwords to access your account.  There was a thread about it (here most likely in the banned forum), where MajMal(?) said they have the tools to access an account without needing the password, so your password (a) stays intact (b) they never to need to know your password. 
I do wonder if they can go shopping on your account and use your points to buy 1000 bouquets of flowers though?   Wink

Someone reported being able to login while a GM was cleansing their account, but promptly got booted.
  
Back to top
 
IP Logged
 
Some Guy Here On The Boards
Ghostbaned
*****
Offline


Somewhere on Korthos Island

Posts: 528
Location: Thelanis
Joined: Nov 3rd, 2013
Gender: Male
Re: Question for Flav and others who know more than I
Reply #16 - Aug 18th, 2014 at 10:53pm
Print Post  
Thanks flav and others for the responses Cheesy
  
Back to top
 
IP Logged
 
Durk
The Deranged
*
Offline


I've got a secret!

Posts: 705
Location: The Harbor
Joined: May 15th, 2012
Gender: Male
Re: Question for Flav and others who know more than I
Reply #17 - Aug 18th, 2014 at 11:58pm
Print Post  
Noamineo touched on it a little bit but I suspect the biggest issue is security and permission. There is just no way that a GM (Customer Service) would get direct access to the database.

They would be using in house tools and in game commands to accomplish what they are doing. (you can see some of the commands in the dat files).

Anything else (as "frequently" stated) would have to be sent to tech support as a ticket where higher ups with far more access would handle things.

I am sure there are some GMs a little more knowledgable who will step out of the customer service guidelines/sops/flow charts and do a little more. This would be why some GMs will help with some issues and then the next day you are told by another that it is beyond the scope of what an in game GM will do.

« Last Edit: Aug 18th, 2014 at 11:59pm by Durk »  
Back to top
 
IP Logged
 
Ckorik
Dragon Raider
***
Offline


N00b

Posts: 223
Joined: Jul 24th, 2012
Re: Question for Flav and others who know more than I
Reply #18 - Aug 19th, 2014 at 2:05pm
Print Post  
Quote:
They are using SQL, there's not really other option possible that has the required throughput with multiple concurrent queries without generating deadlocks.


Not true - it *is* the most popular and most widely used - however working in healthcare I can assure you it isn't the *only* thing that works with *very* high throughput and no deadlocks.

For reference - MUMPS is a language and a database (without schema) http://en.wikipedia.org/wiki/MUMPS - used all over healthcare - it is very cryptic - and it builds it's data based on variables - which makes it very powerful - however it also would explain why they have such a damn hard time with loot tables, and weapon procs (handwraps) - and 'touching' older code at all - because building a complicated query in MUMPS makes advanced pearl look like 1st grade phonics - and the people available to deal with the language aren't exactly easy to find.

It also was started in Massachusetts, so it was kind of a lark on my part that they'd have used it - that and the fact that all the problems people have with MUMPS seem to be the same ones that Turbine keeps having (old code is untouchable due to lack of being able to interpret, lack of general outside tools to deal with the dataset, etc).

A current post for senior software development for Turbine lists Erlang and MongoDB as wanted skills...

I don't know much about MongoDB - other than *like* MUMPS - it's also a schema less DB system.

The long story short on the whole thing is - whatever they are using for the backend - it was what they used for Asheron's Call - DDO and LoTRO were both built off of the same 'base' as the Ahseron's Call 2 client - so I expect that the bowels of the infrastructure to be pretty damn ancient.
« Last Edit: Aug 19th, 2014 at 2:05pm by Ckorik »  

Back to top
 
IP Logged
 
Flav
Vault Frog
*
Offline


One Frog to Rule them
All!

Posts: 9985
Location: Land of the Frogs
Joined: Aug 29th, 2010
Gender: Male
Re: Question for Flav and others who know more than I
Reply #19 - Aug 19th, 2014 at 2:16pm
Print Post  
Since an unnamed Vaultie loosely tied with n animal from Downunder asked me a few pointed questions and made me start my work laptop at home, on a week when I'm not on call... ( he deserves a spanking for that )

here are his answers :

Locally hosted component :
Most of the game logic is in the client, it's obvious once you start looking in the dat files...
I haven't been able to decode it, because it's probably some kind of scripting/compiled language I don't know, but it's there.

Backend servers :

There used to be some log files located in $AppData\Local\Turbine\Dungeons and Dragons Online Launcher that contained things like that :

Code
Select All
World status servers:                                                                                11/10/2013 18:49:02
    Wayfinder @ http://gls.ddo.com/GLS.DataCenterServer/StatusServer.aspx?s=10.67.112.53             11/10/2013 18:49:02
    Ghallanda @ http://gls.ddo.com/GLS.DataCenterServer/StatusServer.aspx?s=10.67.112.64             11/10/2013 18:49:02
    Argonnessen @ http://gls.ddo.com/GLS.DataCenterServer/StatusServer.aspx?s=10.67.112.56           11/10/2013 18:49:02
    Thelanis @ http://gls.ddo.com/GLS.DataCenterServer/StatusServer.aspx?s=10.67.112.21              11/10/2013 18:49:02
    Sarlona @ http://gls.ddo.com/GLS.DataCenterServer/StatusServer.aspx?s=10.67.112.22               11/10/2013 18:49:02
    Khyber @ http://gls.ddo.com/GLS.DataCenterServer/StatusServer.aspx?s=10.67.112.23                11/10/2013 18:49:02
    Cannith @ http://gls.ddo.com/GLS.DataCenterServer/StatusServer.aspx?s=10.67.112.59               11/10/2013 18:49:02
    Orien @ http://gls.ddo.com/GLS.DataCenterServer/StatusServer.aspx?s=10.67.112.60                 11/10/2013 18:49:02
 



That's the Backend IPs. for what it's worth if you look closely at them the last number is the same one as the public IP last number while the rest is in a Private IP Range ( 10./8 is a reserved network for private usage )

Nowadays the logfiles there only carry things like that :

Code
Select All
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - User Name:  "Flav username" 
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Game Name:  "DDO" 
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token: "estore_Content_EveningstarAdventures"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "estore_Content_UnderdarkAdventures"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "estore_Content_DemonwebAdventures"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "estore_Content_EveningstarLandscape"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "estore_Content_UnderdarkLandscape"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "estore_Content_DemonwebLandscape"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_EpicDestinies"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "estore_Content_EveningstarChallenges"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_Druid"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_HeadStart2"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "DDO_MOTU_PreOrder_Collectors"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "DDOPAX2012"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_AccountBank_SlotsUpgrade_3"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_AccountBank_SlotsUpgrade_4"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Content_Droaam2"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Content_Swamp"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_AccountBank_SlotsUpgrade_2"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "FULL"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "TREATED_AS_SUBSCRIBER"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "DDOPreview"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "StormreachGuest"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "F2PDDOUp"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "PaidPoints"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Content_Dreaming"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_FavoredSoul"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Content_Inspired"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_CharSlot_2"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_CharSlot"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_CharSlot_4"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_CharSlot_7"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Content_Sentinels"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_CharSlot_6"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_CharSlot_9"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_AccountBank_SlotsUpgrade_1"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_CharSlot_3"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_CharSlot_8"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Content_DevilAssault"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Content_VaultOfNight"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Content_Carnival"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_CharSlot_5"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_Artificer"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_AccountBank_SharedPlatUpgrade_1"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_AccountBank_SharedPlatUpgrade_2"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "DDOViralPet"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "SCBeta"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_Bladeforged"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Content_Wheloon"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_PurpleDragonKnight"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Content_Stormhorns"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_Morninglord"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "XP2_Premium"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "XP2_Premium_Prepurchase"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "XP2_CharacterSlot_Prepurchase_Premium"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "eStore_Feature_Shadarkai"
2014.06.05 14:54:13[W] GameClientStarter::OnLoginAccountRequestDone - Product Token:  "XP2_CharacterSlot_Premium"
 



Yes that's a full listing of my account options... I'm VIP and I have a few perks ( like a bugged account when it comes to card XII ).
I'm sure a Mournlander should find an option that says so in there.

Dupes works because there is no consistency check ( there can't be in UDP packets anyway ), so when you pull the plug the game client will just keep sending the packets it needs to send until it receives an acknowledge... and by doing all the things done there's a few packets lost in transition... that allows for things to be duped.
As I wrote in my Long post, when you move a bag from your inventory to the bank, it used to delete the bag from the inventory and then create it in the bank.
What the client did was just to tell the server to fire the relevant SQL queries towards the backend database server.
So if the create packet was lost in translation, the item was lost.
Since they had to invert the order to fix the bag disappearance issue, now it's dupe for all.

Basically people complained that bags disappeared in transit from inventory to bank due to lag when it fact they were disappearing in transit due to a bad network connection that was dropping UDP packets. ( for whatever reason )

Communication between the client and server is mainly spatial representation ( x, y z, i and so one... the things we see in /loc ), but there's also all the database interaction as well. All the rest is handled locally, that's why DDO is so light on Net usage. Some Important scripts in the game logic will eventually check home to make sure they are allowed to do the things they have been asked to do, but most of them won't contact the server... they will just send the resulting changes in spatial representation...
The server just correlate them, dispatch them to the relevant clients ( all the other clients in the same instance ) and if there's things things that needs to be recorded in the database it fires the relevant SQL queries towards the database.

« Last Edit: Aug 19th, 2014 at 5:38pm by Flav »  

Yes my avatar is an Hermine eating a Greenland Lemming for brunch.
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint