Server Issues and a new update!
First, the server issues.
(Written from the perspective of the sole programmer ForteBass) It has been a crazy week! On 12/14, YouTuber Kevin Choi posted a new video. He’s made a few before and we really like them even though we don’t understand Korean… Usually this causes a small spike of players which dies down and everything is fine. But this time:
Now that spike is there mostly to get your attention. It was caused by a bug in the server interpreting some packets as connections after users had failed to connect. Truthfully, I believe there were about 680 people connecting on December 14th-15th. However when we crossed solidly above 200 players, Amazon AWS “Burstable Standard Mode” kicked in and as we drained our CPU credits dry, our CPU was “gradually capped” to 10% and lag spikes started disconnecting players every couple minutes.
At the time, I didn’t know AWS “Unlimited mode” existed and the CPU behaviour looked like lock contention to me, so I worked 12 hours each day from 12/14 through 12/18 trying to remove locks and optimize the server code to smooth CPU usage. Meanwhile Aemu and PuffballUnited (Among Us artists) were holding down our exploding Discord as hundreds joined to report issues. I learned about Amazon’s complicated burstable pricing after a brief stint with a Windows Server (worked pretty well, tbh, but 1GB ram is not enough for Windows Server). Finally, switching over to unlimited mode fixed most things (but it’s super expensive!) and the next few days were just removing a few deadlocks and race conditions caused by my sleep-deprived, reckless programming.
So Here We Are
From the graph above, you can see that we’re reaching 1200 concurrent players sometimes now. And that is capped by Among Us Server so we don’t go above 80% CPU. The server is actively turning players away at peak hours.
Or it was… Part of the problem with not expect such popularity is that I hardcoded our Amazon server IP into the game, so we can’t leave Amazon despite them charging an arm and a leg. (And denying some of our Russian traffic.) But this new version of Among Us will let us change our hosts so we can more easily (and cheaply) scale up support for Among Us.
Now the Normal Update Stuff
Most of the changes were in the server, but there were definitely some bugs caused by the app itself. And we wanted to keep things in the holiday spirit (especially after you guys dealt with terrible connections for days) so we added a little gift.
It’s just a New Years hat, but we just wanted to thank everyone who stuck with us through our growing pains. It will be automatically granted when players open the game from now through January 4th. Since it isn’t purchased separately, it will be lost if you uninstall Among Us.
The Fixes
- Fixed Oxygen sabotage task not completing at 2/2 sometimes.
- Fixed players appearing to not move or being invisible.
- This seems like a small bug, but can manifest itself in big ways. This bug could only happen when joining games, but if everyone else leaves, the bugged player will become host. Players with a bugged host might experience sabotages, kills, reporting, voting and other things not working.
- General improvements to connection stability from the app side.
That’s it for now. Hopefully these are enough to get us through the holidays. It might be possible to slip a small update between Christmas and New Years, but if not, we’ll definitely keep you all updated in the new year.
Again, thanks for playing Among Us and if you hit bugs, let us know on Twitter or Discord. And if you are just enjoying the game, feel free to let us know about that too. Happy holidays! :)