Tracable items and all their parents (fight dupe)

Yeah so there is a lot of dupe bugs and I do not think that most of us feels safe that more wont come. I myself do not feel confident at all that AGS will find the majority of the duped items. I’ve worked with 2 MMORPGs servers (not a lot) and neither of them had this feature so I’m suggesting it now as it is generally easy to implement and is commonplace in other fields of software dev. AGS might have it but I’ve seen information that indicates otherwise.

Every item created should have an ID to all its parents, ever stack created should have all the IDs of the previous stacks, etc etc. How this is implemented is very open but something similar to any trace context would do but something simpler would work too. If you’d really go all out you would also put in the IDs for the players or the action of handling the item. Feature could be toggle or pruned to not affect performance and db size too much.

This should be enough info for devs and management to figure out if they want it. I believe that if the confidence was higher that duped items would be found, deleted and the people punished, dupes wouldn’t be perceived as a big of an issue as it is.

If you already do this it might be worth an explanation so that confidences rises.

2 Likes

This is a great idea to implement for items which do not typically appear in large quantities. Even only turning this on for gear and nothing else would be a great idea. I’m admittedly a bit worried about what affect this would have on performance. In the context of software development it makes sense, but in the context of video games it might not make sense. You would have to perform possibly hundreds of memops in the instance of items in large stacks (hyssop for example) which could have a profound impact on the framerate.

It could effect performance and DB size, that however very much depends on the implementation details.

Avoiding relations/pointers/classes when “loading” the graph should mitigate most performance issues and the analysis of the graph could also be done as a job on a different server. This would be a server side feature and therefore the frame rate should not be affected, either by offloading it to a diff server or with an upscale. I have a hard time estimating the performance hit but considering the mitigations mentioned I do think it would be a price worth paying.

Finding duped items should be utterly easy this way, everything (new) would be found. Acting on it will of course be a different matter as an investigation would be required to figure out if the dupe was legit or not but that could also be mitigated with an algo to determine the score of the offender. I.e, how many duped items do you have, how long is the graph, how many times have you been flagged for lag/“duping”.

Yeah this seems utterly dead so leaving it for now. I do hope that a @Developer will at least read through it once.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.