minetest/src/network
Auke Kok 735e3b7059 Backface culling: Ignore setting in tiledef from old servers.
Outdated servers are always sending tiledefs with culling
enabled no matter what, as the value was previously entirely
ignored.

To compensate, we must (1) detect that we're running against
an old server with a new client, and (2) disable culling for
mesh, plantlike, firelike and liquid draw types no matter what
the server is telling us.

In order to achieve this, we need to bump the protocol version
since we cannot rely on the tiledef version, and test for it
being older. I've bumped the protocol version, although that
should have likely happened in the actual change that introduced
the new backface_culling PR #3578. Fortunately that's only 2
commits back at this point.

We also explicitly test for the drawtype to assure we are not
changing the culling value for other nodes, where it should
remain enabled.

This was tested against various pub servers, including 0.4.13 and
0.4.12.

Fixes #3598
2016-01-23 16:33:24 +01:00
..
clientopcodes.cpp Make early protocol auth mechanism generic, and add SRP 2015-05-11 18:40:27 +02:00
clientopcodes.h [Patch 2/4] Network rework: packet writing, sending and cleanups 2015-02-16 11:00:55 +01:00
clientpackethandler.cpp Use warningstream for log messages with WARNING 2015-10-14 01:36:48 -04:00
CMakeLists.txt Clean up and tweak build system 2015-03-27 15:00:48 -04:00
connection.cpp Always use errorstream for DEBUG_EXCEPTION_HANDLER 2015-10-14 02:33:30 -04:00
connection.h Clean up threading 2015-08-23 22:04:06 -04:00
networkpacket.cpp Fix for commit 87dcee6 It uses the wrong variable and only covers some use cases. This change covers all use cases. 2016-01-04 07:50:39 +01:00
networkpacket.h Fix critical vulnerabilities and bugs with NetworkPacket 2015-08-06 00:10:57 -04:00
networkprotocol.h Backface culling: Ignore setting in tiledef from old servers. 2016-01-23 16:33:24 +01:00
serveropcodes.cpp Finalize init packets and enable protocol v25 2015-05-16 21:17:28 +02:00
serveropcodes.h [Patch 2/4] Network rework: packet writing, sending and cleanups 2015-02-16 11:00:55 +01:00
serverpackethandler.cpp Cache disable_anticheat and check it for "interacted_too_far" 2016-01-09 16:24:22 -05:00