Results 1 to 10 of 144

Hybrid View

  1. #1
    Player
    Jeeqbit's Avatar
    Join Date
    Mar 2016
    Posts
    7,790
    Character
    Oscarlet Oirellain
    World
    Jenova
    Main Class
    Warrior Lv 100
    Quote Originally Posted by Katish View Post
    That's the thing, this should be a simple check and shouldn't be done on another server that they query that's a spaghetti way of doing things...
    MMORPGs often split things up into multiple servers so if one fails or equipment fails, the whole thing doesn't go down...
    • Login servers.
    • World servers.
    • Area servers (ie. Central Shroud and East Shroud are separate servers).
    • Chat servers (which is almost certainly how things like CWLS, CW parties, PF and FC chat function across worlds and why occasionally these have had maintenance).
    MMORPGs are much larger than the little console programs, UI applications, single-player games or otherwise non-server applications most programmers are probably used to.

    I mean you can query SQL server data and have it read/ store it there but that's very inefficient
    All I know is that in a game of this scale, database access congestion could be a real concern and although they are never specific, they do keep hinting at either database or network congestion such as "the player only has so much data they can carry with them" which is why you don't carry the Chocobo Saddlebag into duties.

    Of course big data takes forever to increment through. But, they shouldn't be querying data for something simple as a returned yes or no [true or false].
    I don't know why they did the lottery on a centralized server instead of on individual world servers, but I can see some risk mitigation in it. It prevents it interfering with the world's spaghetti code, it makes sure the lottery is synchronized across all worlds and data centers and frees it of delays that may be caused by the world's operations and likewise prevents it from delaying the world's operations. But obviously for all its risk mitigation, there are some risks it presents which came true.

    (There should be zero bottlenecking dbs, especially dbs on separate hardware that might have other information needed to be read in, for something that can resolved relatively easily by relating objects).

    I work with game data and server code and big data is used when it needs to be, a good usage of an SQL database on separate hardware for example might be for messages, maybe even item information(?), save states, etc
    I will admit I have seen all these things not be an issue on modern hardware (and this was years ago). So I don't really know. But from what they said, somehow they created a bottleneck even if it was due to an incompetent method of storage or working around spaghetti code.
    (2)
    In other news, there is no technical debt from 1.0.
    "We don't have ... a technological issue that was carried over from 1.0, because ARR was meant to kind of discard what we had from 1.0 and rebuild it from the engine."
    https://youtu.be/ge32wNPaJKk?t=560

    Quote Originally Posted by Jeeqbit View Post
    Want to know why new content will never last more than 20 minutes? Full breakdown:

  2. #2
    Player
    Katish's Avatar
    Join Date
    May 2022
    Posts
    353
    Character
    Cat Toy
    World
    Mateus
    Main Class
    White Mage Lv 100
    Quote Originally Posted by Jeeqbit View Post
    MMORPGs often split things up into multiple servers so if one fails or equipment fails, the whole thing doesn't go down...
    MMORPGs are much larger than the little console programs, UI applications, single-player games or otherwise non-server applications most programmers are probably used to. maintenance).
    Yes I know, I'm speaking in perspective of someone who has worked on mmo code before XD.
    When you know the mmo is experiencing massive amounts of people you want to keep it concise as possible...when you know something is binary in nature you make it binary...no super trick ponies needed. The issue comes with storing information... and I've seen items be the solution to that if only expected to hold a singular value that you want to keep saved. These items are usually dispensable to save it being written and kept. When doing large sets of information that you know is checked once the etiquette is to then think about having data tables.

    Back to what's at hand, memory could be an issue but if they're having issues with memory to begin with...there's something else wrong. They either need to upgrade their server or figure out what logic or declarations can be simplified if it's garbage collection. I have seen lots of foreign developers run on a tangent on live code with ifs, comments, and blank space, it's usually the ifs that call their own functions that create problems but all of truly affects memory somewhat if it has declarations. If their conclusion cannot be assumed quickly i.e....do work code takes time to get to (this is less to due with memory and more performance) or they are experiencing high resource usage (this due to declarations or things kept), they should do something re-evaluation. Purge what is not needed.

    I imagine the bottleneck they created happened because the promise was not met and when multiple asks on the query kept happening, that information wasn't readily available and returned nothing because the table was frozen. As the information is still utilized in the main code...If we assume large amounts of data...you're bound to experience issues especially when having to requery the same 20 million records when you already querying those records...and who knows how many fields if they're keeping it saved to the same table as available characters without it being partitioned (Which hopefully they didn't do this but you never know and since I have seen things horrible things from mmo developers in general it wouldn't surprise me if this was it.) [There's also what's being stored that matters too..] [Basically Database Overload] <--- Although that's just my guess. Could also be a combination issue where it's this mixed with poor querying in general. 20 million lines is a nothing query but..if it's being done multiple times at the same time could have issues.
    (1)
    Last edited by Katish; 07-24-2023 at 04:57 PM.