Recently a user reported that SWGAide sometimes screwed up SWGCraft. It turned out that under some circumstances it can happen and I will describe when and why.
I have found two occasions when two different players at Chimaera have entered a valid resource available at Rori (same planet both times, yes) when they were only available at other planets. So, these resources were incorrectly marked as available at a planet, Rori in these cases.
Sending out ISDroids and getting back the reports, of course these resources are not in the reports from Rori. Since these resources are part of the download from SWGCraft for Rori but not part of the reports SWGAide hastily thinks "they are depleted at Rori".
Marking a resource depleted at one (1) planet at this site cascades the depletion to the entire galaxy. That is correct when everything else is correct, but not in this case when something is wrong to begin with. The error is then cascaded to .com as well.
At this point the users somehow find out that the resource is incorrectly marked as unavailable so they enter it again, which resurrects it at all previous planets, including Rori. Whether this is done at .com or here doesn't matter, the result is "synchronized" to them both.
The correct thing to do would have been to discover the error and "remove" the resource from the faulty planet, Rori in this case. The removal must be done at both .com and here simultaneously.
SWGAide has a weak spot here which I will address, but I cannot make it bullet proof and I will tell why in a second. The weak spot is that now it is enough for SWGAide to find a "depleted" resource once for it to add that resource to the list of depleted resources. I will add a safety belt so if it is "depleted" in one report but not in another report it will not be in the depleted list but will alert the user of a possible error at SWGCraft, asking the user to, if possible, remove the resource from the faulty planets, or do nothing (which is OK since it doesn't really matter in the long run).
SWGAide cannot do this sanity check under two cases (which are in fact the same case in disguise):
1) The user sent out only one ISDroid and it was for the faulty planet. Then SWGAide has nothing to compare with and will mark the resource as depleted at the faulty planet which will be wrongly cascaded to the galaxy.
2) The user sent out a limited number of ISDroids and none of them contained a trace of the resource that is erratically marked as available at one or more of the planets the reports are about. Again SWGAide has nothing to compare with and everything boils down to 1).
Summation: The problem has three facets:
- Human errors, marking something available at a planet where the resource is not found
- The cascading feature in SWGCraft, which is great, but vulnerable for errors
- SWGAide which must at least get one other indication of the resource being present somewhere in the galaxy
Possibly SWGCraft could have a similar "safety belt" for the ISDroid submit feature, if reports for the same galaxy/resource class are submitted within a short time frame, let the presence of one resource take precedence over any report "depleting" the resource. This implies that the synchronization logic must have a latency to allow for another report to be uploaded within a minute or so. I guess it is harder to give SWGCraft some intelligence to understand which planet is wrong and automagically remove the resource from that one.
In the end, with this knowledge we may address this type of errors quicker and more rapidly remedy the problem, which is to remove the resource from the faulty planet.