JoinGG

Handling a duplication exploit without killing the economy

The first hour decides it. Why publishing the method is the mistake, how to decide about the items, and what to do with the people who used it.

SweetMask · 5 min read

A duplication exploit is the fastest way an economy dies. Not because of the items, but because of what happens in the hours between somebody finding it and you noticing — and because of the choices you make in the hour after that.

The first hour

Stop the bleeding before investigating. If you have confirmed a dupe is live, the priority order is: stop it, then understand it, then decide about the items. Doing them in the other order is how a dupe that affected four people ends up affecting forty.

Stopping it usually means disabling the mechanic — a plugin, a block, a command — rather than closing the server. A full shutdown is a blunt instrument, but it is the right one if you cannot isolate the cause quickly. An hour of downtime is cheaper than an economy.

Announce that you know. Not the method. "We are aware of a duplication issue and have disabled X while we look at it" prevents the flood of reports and, more importantly, stops the rumour that you are ignoring it.

Take a backup immediately, before anything else changes. You are about to make decisions about what to roll back, and you need the state as it was.

Do not publish the method

Obvious and frequently ignored. Somebody asks in chat how it worked and the honest instinct is to explain.

Every explanation is a tutorial. The people who did not know now do, including the ones who will try it on other servers and the ones who will try a variation on yours next month.

Tell your staff privately. Report it upstream to the plugin author or the game developer. Say nothing publicly beyond that it existed and is fixed.

Deciding what to do about the items

This is the genuinely hard part, and there is no clean answer.

OptionCost
Roll back the worldPunishes everyone for a few people's actions
Remove duped items onlyRequires knowing which; usually impossible
Wipe the affected playersRequires certainty about who
Do nothingThe economy keeps the inflation permanently

The instinct is a rollback. The problem with a rollback is that it is collective punishment: everybody who built something in those six hours loses it, and they did nothing.

A rollback is right when the dupe was large and recent. Two hours, one item type, three players — roll back and apologise for the two hours.

A rollback is wrong when the dupe was slow and old. If it has been running for three weeks, the rollback destroys three weeks of legitimate play to fix an economy problem, and you will lose more players to the rollback than to the inflation.

For the old-and-slow case, the honest options are targeted removal if you can identify the items, or accepting the inflation and adjusting the economy around it.

Working out who

Logs, and this is where a server either has them or wishes it did.

What you want is item transactions, container access and trade history over the affected window. Whether you have that depends on decisions made months earlier — which is why what logs to keep is worth deciding before an incident rather than during one.

Two cautions:

A large inventory is not proof. Some players are simply good at the game, and accusing your most dedicated builder of duping because they have a lot of iron is a way to lose them permanently.

Knowing and using are different. A player who found it, tried it twice and stopped is not the same as one who ran it for six hours and distributed the results. Treating them identically is the kind of inconsistency that damages trust more than the dupe did.

The punishment question

Decide the principle before the case: is exploiting a bug against your rules, and does your rulebook say so?

If it does not, you are about to punish somebody for something you did not prohibit, and they will say so, and they will be right. Fix the rules first, apply them going forward, and handle this incident on the basis of what was written at the time.

If it does, apply it consistently, record the reason, and expect to be asked about it in six months. Records rather than memory are what make that survivable.

After

Say what happened, briefly. "There was a duplication issue, it is fixed, we rolled back two hours, here is what we did about the items." One message, no method, no names.

Fix the underlying thing properly. A disabled mechanic is a temporary fix. Either the plugin gets updated, gets replaced, or the feature stays off — and an unmaintained plugin with a known dupe is a decision you have to make rather than defer. Bisecting to confirm which one it was is the same process as any conflict.

Expect the economy to take longer to recover than the world. Prices adjust slowly and the memory of the inflation lasts. Some servers never fully return, which is the real cost.

It is also worth checking whether the exploit came from a plugin nobody maintains any more, because that changes the fix from "wait for a patch" to a decision you have to make.

Preventing the next one

You cannot prevent exploits. You can reduce the window between one appearing and you knowing:

Watch for the shape. Sudden large quantities of something normally scarce is visible in almost any economy plugin's logs, and a weekly glance catches most of it early.

Make reporting one attractive. A player who finds a dupe and tells you has done you an enormous favour, and the servers that get told are the ones where telling is rewarded rather than treated as a confession. A small, public, no-questions reward for reporting exploits pays for itself the first time.

Keep the plugin count down. Every added mechanic is another interaction that can produce one, which is the same argument as everywhere else.

And write the incident up afterwards, briefly, where players read announcements — saying what happened is worth more to trust than silence, and it costs one line. It is also worth checking the listing afterwards, because an economy reset is exactly the kind of change a stale description will still be contradicting a year later.

The short version

Stop it, announce that you know, back up before deciding anything, and never publish the method. Roll back only if the dupe was recent and large; for old ones the rollback costs more than the inflation.

Check the logs before accusing anybody, apply rules that were written before the incident, and make reporting an exploit something a player would want to do.

Tags
moderationserver adminsurvival
Share

SweetMask

Published · 5 min read

All articles

Keep reading

Guides

Whitelisting, and who it keeps out

The most effective moderation tool and the most expensive one. The cost is your growth rate, and nobody evaluates that part.

· 3 min read
Guides

Running several game servers on one box

They cannot see each other and they are competing. CPU contention, the memory arithmetic, and the port map nobody writes down.

· 4 min read
Guides

Reading server logs without drowning

Four categories, two that need you. Start at the top rather than the bottom, and learn what a quiet log looks like.

· 4 min read