Idea - Proposal - Suggestion regards MP stability on "bigger server".
-
Following the latest events on the sidelines (the problems with clients connecting on “bigger in numbers” servers) - it made me think.
Now, analyzing crash-logs (if there are any), or other symptoms why things fail without crash-logs is surely one way to approach problems.
But i was thinking more retroductive (reconstructive) instead of deductive or inductive.3 ideas popped to mind:
- The first one is more a question rather than an idea which is:
How does the BMS MP code handle multiple clients at once?
While thinking about “blockchain” and processing order, i was wondering, if lets say 30, 40 or more clients want to connect to the BMS server at once, does the code sort them in “line” (serial), or trying to send/receive data by and to all at once? - The data volume on “join” is much higher (as peak) as in normal flight. And is the MP-code “in sync” with the 2D/3D event list?- A proper test-bed.
Instead of using a Campaign, i would use a TE as MP test-bed. Why i say this is the following reason. F4 understands, that a TE is for multiplayer, but a campaign was - in the past and probably in the remains of the code - never supposed to serve/function as force on force platform, with humans on both side. We found that out the hard way and had to “work-around” that issue in 4.32 (which btw, ran super stable with 50 clients)
- I would suggest to create a very basic TE (using default KTO) - just adding enough squadrons to both sides, on different airbases, so enough can test-join.
- Then observe the symptoms. Is everyone able to join? Is everyone able to fly? Does it hold up stable?
- Then i would use the same TE and add many random UNITS all over the place and observer the same, including this time “receiving units error or time-out”, or not.
- Last but not least, search for differences - IF THERE ANY - between host and client TE, Camp-file and database (but we must assume, or assure there are none)
NOW… the hard part.
We need a server
One (or in this case 2 TEs)
A date where the test can be announced and made
Enough volunteers to take part in that test. -
I can provide a 1Gbits server for such test.
Regarding your suggestions, I’ll give some responses later (if no other dev/coder do it before me)