And it's a big, big obstacle.
The simple fact is that AFAIK no one on the team understands the netcode particularly well. I'm probably the person who has done the most with it and I'm mostly shooting in the dark with it as the code is quite big, complicated and not particularly well documented. While I can code on top of what already exists (as I did when I fixed SEXPs for multiplayer by adding a new API), getting into the nuts and bolts of psnet2 is a complete and utter pain in the arse as the code is very difficult to read and even harder to understand. Especially for someone like me who always programs anything that works online via much higher level APIs.
Which basically highlights the problem with multiplayer. When it comes to the SCP the coders are either
1) Interested in multiplayer coding but like myself lacking the knowledge needed to actually get the job done.
2) Not interested in multiplayer coding, or lacking the time to work on such a major project.
When solutions for the problem are discussed, we're usually hunting for the Golden BB that will solve all our problems. For instance the last discussion we had was surrounding the use of an external multiplayer library we could use to improve the game. enet was the one most people agreed upon and I'll state that for the record, I've tried playing around with adding enet to FS2 and as far as I can tell, there's no reason it can't be done. The problem is that I could spend the next week or two replacing all the psnet2 functions with enet equivalents and find it's made absolutely no difference because the problem isn't at the level of psnet but instead in the object update code or some other part of the multiplayer code. Funnily enough it's hard to find the motivation to do that when both enet and psnet2 are so poorly documented.
A while back I had the suggestion of making
everything use the standalone so that we could simplify the code. A great idea which fell at the first hurdle, getting the game to spawn a process is something I have no experience of, and trying to figure out which was the best way to do it only left me confused. Especially as the standard MFC method didn't seem to work no matter which way I tried it. It's pretty annoying since I probably could do everything else once that task was sorted.
What we've been hoping for is for someone with both the time and experience to write better netcode. Someone like Taylor or Valathil but with an emphasis on netcode. But we've been at this for over 10 years and we've not had them appear yet, so maybe we need a better plan. I'm more than happy to collaborate with other coders who know the areas I don't have experience with, but I don't know who else is actually interested in fixing the netcode given that it would be a very big task.