Results 1 to 10 of 94

Thread: Gob Sack

Hybrid View

  1. #1
    Player Greatguardian's Avatar
    Join Date
    Mar 2011
    Posts
    3,238
    Well, as for skipping gear changes, this seems to happen more as a function of macro stacking than server-side lag. For example, on the PC version of the game using single lines to denote 16 gear swaps, you can change your gear and use a stat-dependent JA (Chakra) at the same time and get the exact same expected result every time.

    eg:
    /console exec ChakraGear.txt
    /ja "Chakra" <me>

    The real gear jumbles start appearing when you have to hit multiple macros. I've been given the impression that each line in a macro is taken sequentially with minor innate delay, rather than simultaneously. This tends to account for the majority of macro-mishaps that occur when two macros are pressed back to back, as pressing a new macro will automatically break/discontinue the previous one.

    There is definitely a final check server-side, though, as when you R0 you can change your equipment but your model won't actually blink out. It's my impression that actual item stats are stored server-side, so while the client may be able to tell the server what items you're wearing and what action you're taking, the client won't know what any of those items do until the server processes that information.

    Eg: Rather than sending a packet to the server saying "Hey, change my gear to x/x/x/x/x/x/x", and then sending a packet to the server saying "Oh hey, also make me use Chakra", I think it's more likely that the client sends a packet to the server saying "Hey, Greatguardian just used Chakra while wearing x/x/x/x/x/x" followed by "Hey, Greatguardian just attacked the monster while wearing y/y/y/y/y/y/y"
    (2)

  2. #2
    Player Arcon's Avatar
    Join Date
    Mar 2011
    Location
    San d'Oria
    Posts
    2,753
    Character
    Arcon
    World
    Leviathan
    Main Class
    PLD Lv 99
    Quote Originally Posted by Greatguardian View Post
    There is definitely a final check server-side, though, as when you R0 you can change your equipment but your model won't actually blink out. It's my impression that actual item stats are stored server-side, so while the client may be able to tell the server what items you're wearing and what action you're taking, the client won't know what any of those items do until the server processes that information.

    Eg: Rather than sending a packet to the server saying "Hey, change my gear to x/x/x/x/x/x/x", and then sending a packet to the server saying "Oh hey, also make me use Chakra", I think it's more likely that the client sends a packet to the server saying "Hey, Greatguardian just used Chakra while wearing x/x/x/x/x/x" followed by "Hey, Greatguardian just attacked the monster while wearing y/y/y/y/y/y/y"
    The way I would have implemented it (and the way I'm implementing it), is that the client only transmits actions, not the current status of the character (since the server has the priority information anyway). That would save on lots of information having to be sent. It wouldn't take much longer to send that information, but it would create a much higher network load, especially for the server. Gear-information isn't that massive, but if everyone would send it virtually permanently, it would accumulate to quite a lot.

    Wouldn't your system imply that the server could "revert" changes, if they don't coincide? I don't remember ever "seeing" that taking place, although it wouldn't have to be a visible (or noticeable) process.

    How exactly do you mean that gear changes work during R0? I thought you meant the model blinking, but if that's not it, what else? Or you mean that it won't give you an error during a job change?
    (2)
    All affirmations are true in some sense, false in some sense, meaningless in some sense, true and false in some sense, true and meaningless in some sense, false and meaningless in some sense, and true and false and meaningless in some sense.
    ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
    FFXI: Leviathan > Arcon
    FFXIV: Selbina > Arcon Villiers

  3. #3
    Player Greatguardian's Avatar
    Join Date
    Mar 2011
    Posts
    3,238
    Quote Originally Posted by Arcon View Post
    The way I would have implemented it (and the way I'm implementing it), is that the client only transmits actions, not the current status of the character (since the server has the priority information anyway). That would save on lots of information having to be sent. It wouldn't take much longer to send that information, but it would create a much higher network load, especially for the server. Gear-information isn't that massive, but if everyone would send it virtually permanently, it would accumulate to quite a lot.

    Wouldn't your system imply that the server could "revert" changes, if they don't coincide? I don't remember ever "seeing" that taking place, although it wouldn't have to be a visible (or noticeable) process.

    How exactly do you mean that gear changes work during R0? I thought you meant the model blinking, but if that's not it, what else? Or you mean that it won't give you an error during a job change?
    As far as reverting changes, do you mean if action packets are received out of order? I don't think it would necessitate changing your gear for you, though the actual effects of said gear may not be processed properly. The calculations for ability usage and attacks are all done server side, so the only important information that the client has to send the server consists of what you're doing, what you're wearing and/or what your stats are.

    In order to prevent client-side stat "injection", personally I would have designed the system in such a way that the stats themselves are only determined on the server's side, while the gear the player is wearing can be determined client side (for speed, mainly). It is far less dangerous to allow the client the potential to trick the server into thinking they're wearing a Judge's Greatsword than to allow them the potential to trick the server into thinking they are brew-mode gods 24/7.

    As far as gear changes during R0, you can still "change" your gear and get Equipment Changed messages. Whenever your connection is restored, you will be wearing whatever you last told the client to put on you. However, the actual stats on the gear won't affect your character until you restore your connection. I'm actually not sure whether or not the model blinks now that I really think about it -_-. I've had a fairly stable connection for a while now. It very well might, and now I'm not really sure at all. Regardless, it doesn't actually do much of anything since the server doesn't know what it's supposed to be doing.

    @Seriha, sending a 16-object array along with your actions to the server is hardly a bandwidth hog =/. Attacks don't just loop, they have to be processed by the server individually whenever the client actually attacks. When the client turns to face away from the target, or moves out of range of the target, it does not attack. It is not a simple while(Status == "Engaged") loop whose interior can be marginalized.

    The difference between relying on the server to store your equipment information and update that information only after a request from the client, and the client telling the server items/stats to use for each action, is the difference between occasionally weaponskilling in the relative strength of your Chakra gear and vice versa depending on your connection speed and the speed of your actions. From a gameplay perspective, it is significantly more accurate for them to allow the client to tell the server what the player is wearing for each action before the server runs each calculation than to rely on the server to have up-to-date information on the player's gear status every time it runs a calculation for them.
    (1)