Commander of Nod's northern forces, programmer, reverse-engineer, game designer and a 東方 lunatic who enjoys swimming in the cherry blossom -colored sea. Original creator of the CnCNet client that is used by almost every active Tiberian Sun and Red Alert 2 mod. Co-leader of @[Dawn of the Tiberium Age](mods:the-dawn-of-the-tiberium-age:10865) and the author of various Tiberian Sun game engine improvements. Ex-staff of @[Twisted Insurrection](mods:twisted-insurrection:10974). Enjoys all cute things and large groups of enemy units to wipe out.

Report RSS CnCNet exceeds 5500 simultaneous online players

Posted by on

Back before the coronavirus, in February this year (just 3 months ago), our total simultaneous player count at CnCNet rarely exceeded 1200. The coronavirus has increased the popularity of various online services such as games, Netflix and YouTube, and the effect reached CnCNet as well. Once the worldwide lockdowns were put into place, CnCNet's simultaneous player count quickly exceeded 2000. New player records were made in all the games, and even DTA had almost 40 simultaneous players in late April. While the records strained our servers, we could handle it fairly well by setting up new tunnel servers.

However, that was still small compared to what was to come. Apparently a few popular Thai streamers streamed themselves playing CnCNet YR, which got their followers interested in the game as well. This has resulted in a massive surge of Thai players hopping online in the last few weeks, leading to CnCNet YR exploding in popularity.

cncnetstats

This surge has put the scalability of our systems at CnCNet into a true test. Existing tunnel servers quickly reached their limits, and we had to rapidly set up new ones with the help of the community to cope with the load. What particularly concerned me as the lead developer of CnCNet's DTA/TI/MO/YR client, however, was the performance of the client itself. Previously I could only test the client with hundreds of players online, which it handled smoothly without any trouble. These player counts were unexplored territory, and I didn't except the client to be able to handle the flood of both internal command and chat messages from over 5.5K players smoothly. There had simply been no reason for me to micro-optimize the message queues and player handling systems for workloads of this size.

However, despite the massive surges, nothing catastrophical happened. Despite the lack of micro-optimization, most people have been able to play the game through the client just fine, possibly with a slight increase in CPU usage compared to months ago. Some users of low-end hardware have complained about poor performance, but they are relatively few compared to the total player count. The largest issue was IRC network limitations; some players couldn't send and receive data as quickly as the network was sending it, which meant that we had to optimize that part of the client and reduce traffic. To achieve that, we had to cut away some unneeded extra features, like being able to display games that are in progress on the game list when there's too many people online in YR.

But in the bigger perspective, things have gone surprisingly smoothly. Our player count has increased five-fold and we've only had to do relatively small and quick changes to the client to keep it up and running for all players. The current CnCNet client was my first real open-source programming project when I created it 4 years ago, and it has been really exciting to see it getting put into a true test. And I think the excellent way it has handled that test shows that I really managed to build a great, maintainable and well-scaling application back then, despite that my programming skills weren't as developed as they are 4 years later now. Since its original release in DTA 1.15 in late 2016, the client has mostly seen bug-fixes and a large bunch of minor feature additions from myself and a handful of 3rd-party contributors, but its core has never needed any major refactoring. And it looks like it can surive through this without major refactoring as well.

It's great to see so many players enjoying classic Command & Conquer, and it's also a great feeling that my work has been a large part of making it possible for them, alongside the work of the other CnCNet staff. Based on historical indicators of server load, I can assume that when both singleplayer and multiplayer players are counted in, the number of unique players using my client in the past month is somewhere between 200 000 and 500 000 (yes, half a million).

Hopefully EA will also look at the numbers and figure out that there's still great demand for Command & Conquer, including new games after the remasters. Design and execute a good game, communicate with your community, keep supporting the game post-release and there's a good opportunity for profit. The series is not as popular as Fortnite, but it clearly has enough fans who miss it, and the basic formula of base building should still be attractive for newer-generation gamers as well. Doom and AoE have made a comeback, and it's possible for C&C as well.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: