- For PC
- For MAC
- For Linux
- OS: Windows 7 SP1/8/10 (64 bit)
- Processor: Dual-Core 2.2 GHz
- Memory: 4GB
- Video Card: DirectX 10.1 level video card: AMD Radeon 77XX / NVIDIA GeForce GTX 660. The minimum supported resolution for the game is 720p.
- Network: Broadband Internet connection
- Hard Drive: 17 GB
- OS: Windows 10/11 (64 bit)
- Processor: Intel Core i5 or Ryzen 5 3600 and better
- Memory: 16 GB and more
- Video Card: DirectX 11 level video card or higher and drivers: Nvidia GeForce 1060 and higher, Radeon RX 570 and higher
- Network: Broadband Internet connection
- Hard Drive: 95 GB
- OS: Mac OS Big Sur 11.0 or newer
- Processor: Core i5, minimum 2.2GHz (Intel Xeon is not supported)
- Memory: 6 GB
- Video Card: Intel Iris Pro 5200 (Mac), or analog from AMD/Nvidia for Mac. Minimum supported resolution for the game is 720p with Metal support.
- Network: Broadband Internet connection
- Hard Drive: 17 GB
- OS: Mac OS Big Sur 11.0 or newer
- Processor: Core i7 (Intel Xeon is not supported)
- Memory: 8 GB
- Video Card: Radeon Vega II or higher with Metal support.
- Network: Broadband Internet connection
- Hard Drive: 95 GB
- OS: Most modern 64bit Linux distributions
- Processor: Dual-Core 2.4 GHz
- Memory: 4 GB
- Video Card: NVIDIA 660 with latest proprietary drivers (not older than 6 months) / similar AMD with latest proprietary drivers (not older than 6 months; the minimum supported resolution for the game is 720p) with Vulkan support.
- Network: Broadband Internet connection
- Hard Drive: 17 GB
- OS: Ubuntu 20.04 64bit
- Processor: Intel Core i7
- Memory: 16 GB
- Video Card: NVIDIA 1060 with latest proprietary drivers (not older than 6 months) / similar AMD (Radeon RX 570) with latest proprietary drivers (not older than 6 months) with Vulkan support.
- Network: Broadband Internet connection
- Hard Drive: 95 GB
Like other client/server products, our game has a very complex and distributed infrastructure, consisting of a variety of different servers. These are authorization servers, servers to store user profiles, battle servers, a squad server and a voice communication server. All of these are not on a single device, but dozens! Plus, a matching server, consisting of many physical devices of entrance gateways, that are proxies to eliminate points of failure, and a server that actually creates battles from players in the queue.
Now, a little more detail on what happened this past weekend. One of the gateway services was operating for 375 days, and during a scheduled reboot, a misconfigured version was loaded that used only a single core (we discovered it only on Sunday) and incorrectly proxying IP-addresses. Initially, it seemed to us that the server was overloaded due to the newly introduced vehicles and a gaming nation, as well as with the attention of the community for the major update. We decided to increase capacity as soon as possible by moving to the most powerful and expensive devices in Amazon. However, this cannot be done instantly, and moving itself took time. But even when the move was completed, the issue with incorrect configuration and single-threading remained. The server understood that all the players entering via this service had the same IP, it could not find them quickly and began lagging. After approximately 9:00 PM GMT, the issue of incorrect proxying was localized and corrected soon afterwards and the battles began to match again. During the night, however, the number of users decreased, and even the fact that the proxies were working with a single core did not interfere with the operation.
On Sunday, with the growth of users and battles, the load increased again, and we finally located a second configuration error and during the afternoon we fixed the single-threaded proxying by smoothly removing the incorrectly configured machines and introducing the new ones so as to avoid service denial for users already playing. This process also took some time. It should be noted, there was plenty capacity power available, even before the introduction of the more powerful servers - the power of a single core wasn’t enough, but there were many of them After the upgrade we utilized only about 6% of the overall capacity (i.e. 20 times reserve in power from the peak).
Conclusions
Based on the results, we made conclusions and planned the improvements of both operation and matching code. First, we plan to check the fault tolerance of the service by restarting all servers with over lengthy uptime, using the experience of large streaming services, such as Netflix, that uses special bots that check the operating time
Also, we have already introduced improvements with the matching code, that will allow us to keep an acceptable level of game operation even under heavy loads - queueing may take longer, but the service won't stop responding to players - staying operational.
In addition, an increase in the number of gaming nations and possible game configurations in battles has reached large values and algorithmic optimizations are required. Discovering all the possible combinations of all players and all gaming nations is the quadratic complexity of the algorithm, so it is necessary to create optimizations to find out perhaps not an absolutely perfect possible match, but at least good enough.
More good news. Login to the game from November 4th (11:00 GMT) until November 8th (11:00 GMT) to receive a Premium booster, +30% RP for 5 battles!
Comments (96)
Very nice transparency is refreshing from Gaijin!
i am still having issues with my game. it gets past the login screen but when it is loading the game starts to glitch and remove letters, then when i get to the hangar its just black, and sometimes i get weird images in the black screen.
In a distributed system, all kinds of failures could happen. Software systems should be tested under the principles of chaos engineering, so that a single point of failure won't bring down the entire service. It looks like your software infra has been encumbered by tech debt, and it's a better practice to handle the existing problems rather than working on new features and introducing new problems.
Can we have an extension for maus? The server issues and the way games work is making 10 to 15 wait times and in some cases you get very lopsided matches bc ppl get kicked for inactivity. These are all issues on your side and it punishes players
Good job finding the error and fixing it and using it to improve the game going forwards.
I like technical explanations, good stuff. You mentioned something about the quadratic complexity of the matching algorithm. Can you please explain more about how you find matches for players in queue?
I can't thank you enough for your honesty in explaining what happened over the weekend, and the steps you took to resolve it. It might not seem like much, but it's greatly appreciated by the community. We need transparency like this as the standard. Thank you, Gaijin!
The Snail learned to communicate on mistakes and give us reasons !! That sure is an improvement ! Keep up the good work, and keep your old config files in archive, nowhere near production environment :)
Submit a complaint