Multithreading on (dedicated) server
Server lags and syncs out a bunch when alot of players are near eachother in a building dense area. Add enemies to that and you are kind of dead.
Adding multithreading to the server so you aren't required to use a processor with extreme singlethread performance should help.
Comments: 4
-
10 Feb, '21
<Hidden>Have you tried using the /AFFINITY <HEXIDECIMAL VALUE HERE> Google it for a hex calc or use the one in windows
-
13 Feb, '21
<Hidden>Yes, -affinity doesn't doesn't help, it's still single-threaded
-
13 Feb, '21
<Hidden>The single thread server is a unity-related problem, and would likely require significant effort for them to fix. However, it may be worth the investment because offloading some of the CPU usage of specific functions would allow the entire backend to run more smoothly (especially separating the database functions from the rest of the game, tracking the contents of inventories, containers, and every item on the ground is resource-intensive business). This is something that 7 Days to Die (also a Unity engine based survival game that uses voxels) also has issues with, so I think that it is a deceptively hard one to solve.
Perhaps creating multiple databases rather than a single one? (One for containers, one for player inventories, one for things on the ground) but then you have synchronization issues where you have to make them reliable enough to prevent item duping and/or item loss with bad connections and errors. If it can be made reliable, the databases could then thread to multi-CPU. -
24 Feb, '21
<Hidden>If they could multithread the network queues (Create a queue per player, and run them synchronously), This would fix the lag due to a single person having a bad connection, however it would cause other issues (like duping and other things). Maybe make it an option with the early access along with notes about its side effects. It really sucks that a single person with a terrible connection can screw over everyone else.