Super Smash Bros. glitch bans players for 136 years
If you’ve been jamming Super Smash Bros. on the 3DS it’s perhaps best you keep your wits about yourself as there’s a glitch that will ban players for 136 years. This is not a ban from Nintendo, but, according to a person on Reddit, a mistake in the programming.
Time on computers (at least when we’re talking about ban length) is measured in seconds. When someone gets a ban, they receive a ban with a corresponding number of seconds. 15 minutes is actually a 900 second ban, for instance.
Now, when a computer handles numbers, it has a limited amount that it can store. Since computers count using zeros and ones, the maximum number a computer can hold is weird. If you have signed numbers (negative or positive) then the computer can hold between -2147483648 and 2147483647. If you don’t have signs, it can hold numbers between 0 and 4294967295 without you telling it to store bigger numbers.
One more thing: If you add one to the maximum number, it will wrap around to the minimum number because the ones and zeros used to measure it will overflow. Same happens backwards – if you subtract one from the minimum number, you’ll get the maximum number (if you want me to elaborate I can).
So here’s what happened. The method may not be 100% correct, but the result is the same:
- Programmer decided to use an unsigned (only positive) integer on time because you’re not going to have a negative ban time. Maximum number: 4294967295
- Programmer decides that the default ban time will be -1 seconds. This way, they can check at the end if there was any time added. If not, then they reset it to zero and move on.
- Some complicated bug in the program results in them forgetting to check for that -1, so the player gets banned for -1 seconds.
Let’s hope Nintendo comes through with a firmware update and unbans all the players who got banned for this silly mistake. Hopefully none of you experienced any of this. To avoid this from happening to you do not quit out mid-match and also don’t target a single opponent in a group free-for-all match, for now.