Page 1 of 1

Recommended server setup

Posted: Tue Oct 27, 2015 6:53 pm
by Tzeentch
I saw the old post on server setup. A little out of date in some respects(it was done in 2005!). So I ask some of this in case it may have changed. (assuming public facing)

Questions:
Is the bzflag server side single or multithreaded?
how much memory and bandwidth is required per bzflag player ingame for the server side to handle?
Should I only use 1 CPU core for the server?
Which bottlenecks first on the server side typically? (assuming fibre optics lets say quite fast 20Mbps up and download)
I read sometimes people face lag but wonder why that is

Re: Recommended server setup

Posted: Tue Oct 27, 2015 11:54 pm
by blast
The actual server logic loop is single threaded, though there are some threaded operations like DNS lookups.
Bandwidth is highly dependent on the number of players, shots, tank speed, etc. I'd say that 10mbps upstream should be more than sufficient for most servers though, though 100mbps+ is probably more common for most dedicated or virtual servers (which also gives you some extra headroom for things like world file downloads).
You'd probably want a couple cores at least so that other system processes (like software updates) don't dramatically affect the bzfs instance.
The upstream is the bottleneck. Let's say you have 10 players online. For the server's downstream, it only needs to receive updates for 10 players. But for the upstream, it needs to send 9 players updates to 10 players, so 90 sets of updates. Bump up to 11 players and it becomes 110 sets of updates.
And some lag is inevitable as the speed of data transmission in fiber and copper is only so fast.

Re: Recommended server setup

Posted: Wed Oct 28, 2015 11:31 pm
by Tzeentch
okay that is all fine. This way I can allocate exact resources to the server while other cores can be used for other tasks. I'll have effective control of how the whole system runs to have almost if non existent impact to bzfs server(s) Thanks for the info.

My next step will be to trace operations done when players are on it (maybe idle too) and if I am able to find anything interesting I will post back my findings