Follow-up Comment #8, patch #1446 (project freeciv):

Is this much traffic? On-line games impossible? I do not have any data to
compare. That is the size of the all packages currently needed to transfer
the ruleset?

For information: I got the result of 136279 bytes received for the default
ruleset in trunk at revision 17383 with the following hack in

void delta_stats_reset(void) {}

#include <stdint.h>
#include <arpa/inet.h>
void *get_packet_from_connection_helper(struct connection *pc,
    enum packet_type type)
  const char *name = packet_name(type);

  if (name && type != PACKET_RULESET_CHOICES && strcasestr(name, "RULESET"))
    static size_t total = 0;
    uint16_t x;

    memcpy(&x, pc->buffer->data, 2);
    total += ntohs(x);
    log_normal("Receiving %s (%d bytes, %lu total)", name, ntohs(x), total);

  switch (type) {


Can you make in your side a estimation of the size of the packet you

I attached also the whole output. Note that the nation packets are very
numerous and big!

> Also, the ruleset has to be transferred only once at the start
> of the game (or for longturn: start of the turn).

It is a very old behaviour of Freeciv version < 2.1. Now, the rulesets are
sent every time a connection is established, notably for selecting your race
at pre-game state. And if someone lose connection, it needs to receive again
all the datas, which can make the game very laggy sometimes.

(file #9017)

Additional Item Attachment:

File name: RULESET_receive_stats          Size:88 KB


Reply to this item at:


  Message posté via/par Gna!

Freeciv-dev mailing list

Reply via email to