diff options
Diffstat (limited to 'src/server/send.c')
-rw-r--r-- | src/server/send.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/server/send.c b/src/server/send.c index 6cb9fdc..baf5448 100644 --- a/src/server/send.c +++ b/src/server/send.c @@ -346,8 +346,16 @@ static qboolean compress_message(client_t *client, int flags) if (!client->has_zlib) return qfalse; - // FIXME: make this configurable? - if (msg_write.cursize < MAX_PACKETLEN_DEFAULT / 2) + // older clients have problems seamlessly writing svc_zpackets + if (client->settings[CLS_RECORDING]) { + if (client->protocol != PROTOCOL_VERSION_Q2PRO) + return qfalse; + if (client->version < PROTOCOL_VERSION_Q2PRO_EXTENDED_LAYOUT) + return qfalse; + } + + // compress only sufficiently large layouts + if (msg_write.cursize < client->netchan->maxpacketlen / 2) return qfalse; deflateReset(&svs.z); |