https://dayz.com/blog/status-report-11-september-2018
Q: What do you think is causing the kicking? In technical terms.
So we knew that the issue is on our side, we were sure it must be somewhere in the low level part of our networking - we were thinking that the issue must have something to do with packet ordering or re-sending of lost packets, or even with serial numbers of packets. Now we know it was caused by packet fragmentation - in some rare cases, some packets were dropped and it broke down the entire server.
Q: Why are you finding it particularly difficult to resolve kicks and lag? Are the kicks and lag a result of lots of bugs that you're slowly working through, or are you still trying to identify where problems are?
The source of the kicks was just one mistake in the code, but it was hard to find it, since we weren't able to reproduce it internally. The 0.63 branch was created almost 2 years ago and a lot of changes have been made during this time period. Two weeks ago, we started to revert these changes, because it was probably the fastest way (but not the easiest one) how to find the source of the issue. We have reverted one or two improvements every day, made a build and released it on the Stress Test servers, so basically we went back in time every day (the curiosity here is that this bug has been in the build since May 2016). When we've identified the source of the issue, we started putting the reverted and working stuff back into the branch, and released it in Stress Test #46.
Lags are closely connected to the server performance, so different parts of the code may cause them. We were profiling the servers every day to find out the source of performance drops, or what exactly takes most of the CPU time. Every day, we've made some improvements, which were merged into the Stress Test branch for play-testing. It's important to test these optimizations because optimizations can often break things that were previously working fine. One optimization helped us to find out that there is an issue with the firearm damage sanity check, which caused bad hit registration. This bug was there the whole time, but after the optimization, it happened more often.