To put it simply, One can duplicate anything from anywhere if both players (online) RIGHT click the item at once.
- Legacy ID
1.Drop desired item on the floor, inventory, backpack, crate, ect...
2.right click the item at the same time
3.both parties now have the same item with all its values unchanged.
Tested in the following environments: Multiplayer competitive, Multiplayer co-op,
Multiplayer 3rd party modifications to ArmAIII
I personally think this is worthy of a hot fix, but BI may not think so.
With so many multi-player mods out there, it jeopardizes game balance when someone can easily re create an item.
We were able to duplicate (pun intended) this, and if you have the timing down it is very easy and can be done by a group of people to duplicate an item multiple times at once. for example, a group of 6 can turn 1 magazine into 6 magazines with just a coordinated click of their mice. This is a show stopper in multi-player mods. Needs to be a top priority to fix.
The issue is definitely there, but it can take a few tries to succeed. The 2 players need to be continuously right-clicking the item when it's on the ground, and if succeeding at taking it it, immediately put it back on the ground and continue right-clicking it.
After a minute of doing so, the player for which the GroundWeaponHolder is remote should have multiple copies of the item.
It is also possible to do it by having someone open your backpack and try to take an item while you continuously move it between the ground and your backpack.
Sometimes the item will be successfully taken by the second player without duping it, in which case he must put it back in the container to try again.
I think it might have to do with ping, as the duping most likely occurs during the very small time window after which player 1 has removed the item, but the change has not yet reached player 2 before he tries to take it too.
I was able to do it moderately well on a dedi with 100ms ping for both me and the other player.
This is very easy to reproduce. We mainly play the Breaking Point mod but it works in other mods as well. here are the steps:
- get a buddy
- place an item in a container (ground, tent, car, box, dead body, etc)
- you and your buddy open the container.
- both players place their mouse courser over the item
- count to 3, and both players right click the item to move it to their inventory.
If you both click at the same time both will have the item in their inventory. You can do this with more than 2 people. We tested it with 4 people and all 4 got the item.
It took us maybe 3 trys to get the timing down. it has nothing to do with excessively clicking, or dragging the item around. It has to do with both players right clicking the item to move it into their inventory at the same time.
What I think is happening inside the engine:
Player tries to take item from remote container; engine puts it in his inventory, and sends a delete request to the remote container.
What it should be doing instead:
Player tries to take item from remote container; engine sends check request to the remote container; remote container receives the request, if item still available then set mutex lock on it, and send authorization back to player; player receives authorization, if positive then put item into inventory and send delete request to the remote container.
Long story short, it's most likely a mutex problem.
Thank you guys, we were able to reproduce the issue and it seems to be fixed.
You should see the diference on the SteamDev within next week. If the duplicating still persists, please let me know. Thank you.
Hello Iceman, hello community!
User BuddyRole on Epoch Mod forum has written a series of scripts, which neutralized some duplication glitches in Arma 2. One of these glitches called "storage duplication bug" was similar to exploit from this report. Link to the code:
(If thread will be removed, You can ask me for code. I saved it on my HDD)
How does it work? As MrPink has written "Presumabily it is just checking for storage too close to the player and aborting the ability to logout if any are found".
Maybe a similar script written for Arma 3 could fix (at least partially) infamous item cloning bug. I hope, that this note is useful for Bohemia Interactive dev team. If not, maybe Arma 3 modding community could use information from that thread on Epoch Mod forum in any way.
There are some interesting ideas, f.e. user Donnovan has found 2 ways to fix a "disconnect dupe". Link to the full tutorial:
"The anti-dupe idea:
If the player is offline for 10 seconds, block his mouse and keyboard input until he regain connection or BattlEye kicks his from server.
With that, he can't abort and complete the disconnect dupe (the dupe complete when he reconnect the lan cable in the looby, this is the time the itens appears on the tend/safe/etc).
The anti-dupe idea, more cody:
The idea was got from infiSTAR. InfiSTAR has a feature that freeze players when they press F2 or any danger key."
Ibanez, that has nothing to do with Arma 3's duping bugs, which are related to network sync, when 2 players try to take the same item from the same storage container at the very same moment, or items getting duped by the engine when taking them from corpses.
The Epoch exploit you are pointing out is an issue strictly related to the player saving mechanism, where somebody puts one or more items in a container, quickly unplugs network cable, aborts mission, replugs network cable, then rejoins, and hopes that there are now 2 copies of said item(s) due to his player inventory being restored to its previous state.
This is easily fixable in Arma 3 missions with player saving: force-sync inventory whenever the "Put" and "Take" events fire. Case closed.
I'm glad to see, that community found a way to fix it!
I had in mind a script, which would abort the ability to pick up an item if two or more players are too close to that item / storage.
PS - is there any tutorial on how to activate "player saving", so we could share it with server admins?