Why does resetting ranks freeze the game?

  • There are hundreds of mmorpgs new, old, 2d or 3d that reset player rankings all the time and do not freeze the entire game to do so. Why does this game (and I'm assuming other Aeria games) freeze when the ranks are reset. "Because it works that way" is not a valid explanation, not only because that tells you absolutely nothing, but also because if that's the case just change how it works.


    It shouldn't cause so much stress on the servers that people cannot perform any action in fact it should barely even have an effect on them, it's literally just inserting blank data where there was once filled data, how could that cause it to freeze? If you were putting complicated data in I could maybe see that, but you must have this system automated, and as I said it's just removing information or resetting it to it's default value. Would this forum freeze every time you deleted a thread? I doubt it, so why should the game be any different?


    It shouldn't be the case of no one complained so we haven't done anything about it, if there's an issue and you can fix it, you should. If more people actually knew about this game something like this might turn potential customers away. I'm not quitting the game over this or anything, I'm just saying it's silly for the whole game to freeze, and something should be done so that this doesn't happen.

  • Sorry for the late response - it would be superb if we knew precisely what caused the lag during rankings reset and could fix it, but unfortunately that's not the case; Aeria is the game's western publisher and the developers who created Twin Saga are a separate company.


    Neither the CMs nor GMs (and probably other behind-the-scenes people too) have been involved in making the game's engine/source code so the issue is up to the developers to fix, and for us to roll it out.


    It affects us just as much as it affects you, so we want it to be fixed ASAP too :D

  • Sorry If I sounded harsh in the way I worded what I wrote, but someone else was saying that it's not fixed because "that's how it works" and because no one asked for it to be fixed. I know that wasn't from a staff member, so I apologize if it sounds like I'm taking it out on staff when that wasn't an official response from Aeria. Of course I do want this fixed but I may have gone a little overboard in this thread lol.

  • I am guessing what's likely going on is that the job that resets ranking/quests/etc daily locks the database to writing prevent data inconsistencies until the process is done and what was all smooth back when the database had 50 users during initial testing has long since become an unreasonable idea.


    Since each session of users is always attempting to write states into the db (gaining exp, item, using anything, writing to chat, changing location by daring to walk etc) your session gets hung on waiting to be able to write (thus chat dies and server no longer send you anything because your session is still waiting on the db connection, can't do 2 things at once can we?)


    If this is indeed written this way, and it's easy to imagine it is, then writing the reset script to not lock might seem like the easy fix but is probably enabling weird edge cases such as possibly glitching quests if you turn one in at exactly 6am etc, not to mention the issue of ranking 'cutoff time' where new credits can't be inserted as prizes are being sent (imagine the horror of a person getting send first prize only to then have 2nd place pass them in the milisecond the program iterates to the 2nd place... seeing that person again thus first place getting first and second place in the same week and second place getting nothing!)


    The easiest solution to that sort of thing will just have to revolve rewriting the whole ranking system, possibly to add weekly tables (thus allowing a feature that lets you look at previous week winners etc) to prevent such case, changing quests to refresh individually 20 hours after completion or after being taken(in much the way 'dungeon rations' work as going -1 doesn't require blocking like resetting to 0 or table swaps) or other horribly not so bad ideas.


    Now while 'simple enough' I can name 20 more important issues off the top of my head and that's not including the need to generate money-making-content, fix known bugs that affect play in non-weird hours (there's a reason why this script runs at 6am server time rather than say midnight) etc etc


    If I worked for them I'd estimate that resolving this takes about 2 weeks of development, testing included, but priority is low or low-medium, this priority combined with the time estimate means that literally everything has to be perfect, smooth and everyone happy and generating money to the company AND creators must run out of new feature ideas completely before anyone bothers handling this. (assuming I am correct at my assessment that trying to use current system and just patching it up to not be blocking is way too much of a pandora box for anyone to reasonably think it's a smart idea to open it)


    #Just a theory, don't have access to actual code, based completely on my understanding of said issue and experience with various software solutions to similar but not identical problems.