[crossfire] Release proposal
Mark Wedel
mwedel at sonic.net
Sat Jun 24 15:06:36 CDT 2017
On 06/23/2017 04:56 PM, Rick Tanner wrote:
> On 6/23/17 10:02 AM, Matthew Giassa wrote:
>>
>> Also, has anyone tested how much bandwidth, disk space, etc; the latest
>> stable release uses under a test load (i.e. a few users/players)?
>
> Disk space needed for (trunk only) source content:
>
> arch = 124M
> server = 39M
> maps = 549M
>
> After compiling the server:
>
> arch = 124M
> server = 163M
> maps = 549M
>
> I have some stats in regards to server resources. This is with Ubuntu
> 16.04 with 6 players running around various maps.
Disk space (and memory use) is pretty minimal for modern systems - the game
goes back 20+ years, and while it has grown, it hasn't grown as much computer
resources has.
>
> From my observations...
>
> crossfire-server requires 30.0 MiB of RAM to run when idle according to
> the server host System Monitor.
>
> Each player connected uses an additional ~3 MiB of RAM/ea just to move
> around and interact with the game world.
>
> When a player with hundreds (or thousands) of items in their apartment,
> guild maps, et al. first enters such a map, RAM utilization jumps
> dramatically. At the moment, I don't have a way to quantify these numbers.
There is a sizeof command you can run, that dumps the sizes of various objects.
IIRC, each object was ~500 bytes (sizes can also vary based on 32 bit/64 bit or
other factors). A world map (50x50) perhaps has 5000 objects on it (2/space),
but pretty easy for apartments or guild halls to easily exceed that.
>
> Each player requires/uses about 10 KiB/s of bandwidth. Some maps with
> lots of spell casting and monsters (i.e., Tower of Demonology, Hanuk)
> causes this to spike as high as 10MB/s or more while that map or spell
> effects are taking place. In a recent test session, I missed tracking
> total bandwidth sent and received.
>
> Highest use of CPU appears to be calculating damage from spell effects
> (especially comet and meteor) and/or magical attacks (dragons and large
> lightning or large ice storm, etc.)
Yes, this is a problem with how the spells propagate - one spell can easy make
hundreds or perhaps thousands of objects. That in itself may not be bad, but
the insertion of each object and interactions with other objects chews up that
cpu time.
The other issue is that the game is only single threaded, so a massive spell
burst (or loading a big map) slows everything down. 20 years ago, multi cpu
(now core) systems were pretty rare, now they are commonplace. However, making
the server multithreaded isn't a simple change.
More information about the crossfire
mailing list