Sunday, April 18, 2010

Abyssite/Maw-gate -- a conjecture that may well open Pandora's Box...

I don't ask a lot of people to read this blog with an open mind, because I know most won't. (Volkai, I know you're different with respect to all that.)

This, I want you to try to read with an open mind, because it's the result of me doing some thinking as I was doing some RL work tonight, out and about doing some walking.

What you are about to read, over and above, is complete conjecture. I don't have evidence to it, but if it were to be true, I do believe it would be quite explosive.

Let's begin from what I understand to be the process involved:

What a number of Japanese players (and possibly others, but what we learned was that this was a set of Japanese players who at least had it advertised) did was that they used the Porta-Furnace (the picture posted here shows it in present Saruta), and then somehow used the Cavernous Maw (they literally had to be right on top of the damn thing with the Furnace) to go to Saruta [S], where, immediately upon zoning in, they received a Black Abyssite, completely (or at least partially -- we aren't clear as to whether the parties had a Tier III Abyssite or not) jumping the VNM Tier system.

(FWIW, I propose any player who popped the VNM Wyrm using an illegally-acquired Black Abyssite in this manner be banned, because of the massive proposed abuse which could well be involved.)

Now, if this is the case, we have a problem:

First off, the process of Synergy should've been simply terminated upon zoning.

Second, all that the use of a Cavernous Maw should be is as if one had crossed a "zone-line" into the corresponding zone in the Shadowrealm. It's basically a simple "zoning" plus a small cutscene.

Third, and here's the important part:

What has happened here is a crossing of codes involving Synergy, the Porta-Furnace, zoning by use of the Cavernous Maws, and the gaining of Black Abyssite.

Now, the only legal way to gain a Black Abyssite is to have a Tier III Abyssite, and use it to pop a Tier III VNM, which your alliance must defeat.

Even THEN, it's a probability situation only.

With all this in mind, my conjecture:

Unlike the Salvage dupes, which could clearly be excused as "spaghetti code" (that Salvage is done by one party of 6, the drops are allocated per party, but it's an action through Salvage itself), this exploit appears to me to be an intentional exploit, unauthorized by Square-Enix.

My conjecture is that somebody put in some code that wasn't supposed to be there.

I believe this was an act of commission, rather than omission.

The number of intersecting game mechanics, and the wide variation of those game mechanics, appear to make it not simply a matter of spaghetti code.

The clincher to me is the acquisition, upon zoning, of a key item only legally obtained through killing a monster (in this case, a Tier III VNM you popped, and, again, only through a probability motif).

Either this was somebody within Square-Enix coding, or someone got in. But I do not believe this was authorized (the only way it could be would be if Square-Enix intentionally put this in to get players banned), and I think Square-Enix, as it investigates players to ban, needs to isolate this code, find out who put it in, and deal with them accordingly.

This is going to get very interesting, I do believe.

8 comments:

Volkai said...

"The number of intersecting game mechanics, and the wide variation of those game mechanics, appear to make it not simply a matter of spaghetti code."
I'm rather curious about this. From the same evidence we have drawn completely opposite results.

That this was caused by the intersection of synergy and zoning (and a mini-CS) makes me think it is most likely to be randomly intersecting bits of code.


"Either this was somebody within Square-Enix coding, or someone got in."
Both are highly unlikely, because someone smart enough to make this code would have to be very stupid to intentionally implement it.

If you have hacked into Square Enix's servers, they are going to hunt you down with the full power of their legal department.

If you work for Square Enix and inserted this code, your job is gone and your professional reputation is gone.


Either way, the benefit is not worth the risk.

Starcade, now from Siren said...

It was just some thinking I did last night when I was doing some RL stuff.

I mean, take the Salvage dupes as comparison -- the action of duping Salvage came as a consequence that Salvage is meant to be a low-man operation, so they didn't think to put in the code that, for whatever reason, there might be more than one group in the equation, so the drops were allocated per group instead of just once or through the alliance.

Contrast that to here, in which the code involved does not appear to be a local happenstance of "spaghetti code". To me, this appears to be a very calculated effort -- because the "randomly intersecting bits of code" have _nothing to do with_ the result in question.

With the Salvage bans, you can easily see where one strand of spaghetti can tie into the next strand of spaghetti, and so forth, to gain a result endemic to Salvage.

This, to me, appears to throw a completely out-of-the-blue scenario together (what does the VNM Abyssite _acquisition_ have to do with either Synergy or the Cavernous Maws?), the result having nothing at all to do with the process.

Makes me wonder if, if a player could use the regular in-town Furnaces, a similar operation involving Instant Retrace scrolls could come to the same effect...

As for the conjecture on the source of the coding, someone smart enough to make the code also probably understands the jokes about "spaghetti code", and how hard it is for people to "untie all the strands", as it were.

If you notice, we are already past 36 hours after the emergency maintenance, and Porta-Furnaces are still off the table. Makes me wonder if they've even found the code in question yet.

As for the benefit not being worth the (obviously correct) risk, I do wonder what else might've been involved, especially if someone planted it on the inside and then basically started telling friends, like the old shampoo commercial.

Volkai said...

All it takes for two completely unrelated chunks of code to intersect is a data chunk with the wrong label.

Maybe "you get black abbyssite" is a conditional event that takes place when flag A26 = 1.

Maybe 'Porta-Furnice Active' happens to utilize flag A26 as well, and maybe zoning through a cavernous maw temporarily sets all active flags to 1 to disable acting while in a cutscene.

Thus you would have flag A26 set to 1 by using a maw while your porta-furnace is active... and as a result you get a black abbyssite.

It's very easy, with such a massive game's even more massive source code, to lose track of what labels are applied to what (and therefore can't be reused). It wouldn't be surprising if some labels end up getting reused anyways, with care taken to avoid possible overlaps -- and it's not at all surprising that if this is the case, one overlap could have been made by accident.


As for it having been 36 hours... if the problem is something like a label that's been used twice, it could take a bit of research to find a label that CAN be safely reused, followed by the tedious, time-consuming task of going into the code and making the correction every time the relevant activity is involved.

Starcade, now from Siren said...

I can understand the "careless label" approach, except, again (and I don't say this to be stubborn, I say this to make what I believe to be a central point), I believe that would be careless to the point of incompetence.

I have a minor in Computer Science, and one of the FIRST THINGS THEY TELL YOU in coding is to somewhat clearly identify what you are labelling something, in case you have to, later, debug it.

My point is that I have a hard time understanding how that disparate of a set of mechanics would get a seemingly unrelated (and, on top of that, highly desirable) result.

It would seem a side effect of zoning through the Cavernous Maw under a specific condition, when, frankly, what the Cavernous Maw should only do is deposit the character at the similar point (as if it a return of a function value for the "zoning" mechanic), granting no items, especially items only obtainable through defeating monsters in other and unrelated mechanics.

I understand that what you are saying is _possible_. Let's not deny that.

But it would be beyond spaghetti code and down to literally Coding 101.

Calintz said...

Label mishap most likely.

There are at least 3 development teams throughout the years taking shifts with each expansion and working on FF13 and FF14.

The guy who made Synergy I think is the Accessory Event Content manager. Makes our seasonal event stuff too. Think hes the MMM creator too not sure. With a position to fill in some content like that, Its completely understandable to accidentally impose a unintended exploit to main game content without even noticing.

It's also very likely the desks and code are a mess by now on FFXI's 8th year. That and any piled up documents of updates, amendments to game content each developer has to catch up on when they return as part of the active team, probably hell in that office.

The source probably looks like some horrid Frankenstein creation by now.

Starcade, now from Siren said...

Calintz:

And that's the "spaghetti code" argument.

I have absolutely no argument with anyone who says that it's possible.

HOWEVER:

I still propose that the number of completely unrelated mechanics involved (plus the highly-desirable result) raises questions in my mind.

You would _think_ that, under most conditions, QA/QC (Quality Assurance/Control) would "idiot check" most of these things to ensure that something like this does not occur.

The problem is that this appears to be an insidious set of circumstances that, chances are, most people would not check for.

(You've got the Synergy mechanic, zoning, the Porta-Furnace, and a completely unrelated Key Item involved. I conjecture something is rotten in Rotterdam.)

Starcade, now from Siren said...

(And that's what happens when I just approve all 36 comments in one go -- had to delete which _appears to be_ a duplication. ONLY on a duplication, Calintz...)

To reiterate my insight of what I was taught in CS:

If you have something like that in your code, though, to label certain things, they tell you (or at least _told me_, at the time) to make it clear to yourself what you label it as so that you can go back if you have to debug.

I think distinctive labels would also give the coders the ability to know what's going on if they get an exploit report or what have you...

calintzpso said...

The Synergy Furnace and Key Item really do have more in common then you think. Allow me to do into some detail and geek for a minute.

When you use synergy, it drains from your Synergy Crucible key item. Might be how the key item hiccup is related.

In the dat files the key items are given string ID's for labels.

After each patch when they add something, usually they replace an open placeholder, otherwise they bump everything up or down based on those open slots, ultimately changing their key item string ID's. Reasons for bumping instead of filling a open slot in is for order, new stuffs usually added at the bottom.

I assume they are suppose to change any related data to reflect the moving of String ID Numbers, but may miss something eventually.

The reason they bump the strings around is to keep them organized. In the dat files they are listed in 4 groups like our 4 key item groups. How they are ordered in the dat is how they are ordered in the game when viewed.