[crossfire] Release proposal

Matthew Giassa matthew at giassa.net
Sun Jun 25 10:18:31 CDT 2017


My guess is with meteor, let's assume 10 projectiles in rapid
succession, each generating a 15 tile radius (approx) effect, that's
about 10 * 700 = 7000 objects. How does the bandwidth shoot up to
10MB/s though?  What is the minimal unit/"tick" of time the server uses?

Finally, does the server employ any sort of compression when sending out
this data, or is that impractical in such a case?

Cheers!

* Mark Wedel <mwedel at sonic.net> [2017-06-24 13:06:36 -0700]:

>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.
>
>_______________________________________________
>crossfire mailing list
>crossfire at metalforge.org
>http://mailman.metalforge.org/mailman/listinfo/crossfire


More information about the crossfire mailing list