openclonk/src
Lukas Werling 8ca3801741 Do the initial client->host connection in stages
With the IPv6 support, hosts now often list around 20 addresses.
However, most of these are local only and thus rarely result in a
successful connection. With the introduction of address sorting in
7d5596220 ("Sort addresses used for initial host connection",
2017-02-26), the connection succeeds with the first few addresses most
of the time.

This commit changes the initial connection process to start with only
the first four addresses. After 100 ms, it proceeds with the next four
addresses and so on. This should reduce the packet volume significantly
as the connection should be established after only one or two steps.

We may want to tweak the parameters if this turns out to make joining
slower in practise. In a "normal" setup, the first four addresses should
be the IPv6 privacy and stable addresses, and the next four addresses
should include the IPv4 addresses from masterserver and netpuncher.
100 ms are long enough to get an answer from the host and short enough
to not bother the player too much.
2017-03-17 23:02:45 +01:00
..
c4group Move GetRelativePath to C4Language 2017-03-11 13:47:18 +01:00
config Fix WITH_AUTOMATIC_UPDATE, non-Windows platforms 2017-03-16 23:18:38 +01:00
control StdCompiler: Use terms "Serializer" and "Deserializer" 2017-03-11 15:05:41 +01:00
editor New scenario dialogue: Redraw definition list after template changed 2017-03-11 14:30:46 -05:00
game Fix WITH_AUTOMATIC_UPDATE, non-Windows platforms 2017-03-16 23:18:38 +01:00
graphics StdCompiler: Use terms "Serializer" and "Deserializer" 2017-03-11 15:05:41 +01:00
gui Fix WITH_AUTOMATIC_UPDATE, non-Windows platforms 2017-03-16 23:18:38 +01:00
landscape StdCompiler: Use terms "Serializer" and "Deserializer" 2017-03-11 15:05:41 +01:00
lib Move strprintf to Standard 2017-03-16 18:51:16 +01:00
mape Replace NULL by nullptr in C++ sources 2016-11-02 19:58:02 -04:00
netio Replace NULL by nullptr in C++ sources 2016-11-02 19:58:02 -04:00
netpuncher Improve "unexpected address family" asserts 2017-01-18 21:54:50 +01:00
network Do the initial client->host connection in stages 2017-03-17 23:02:45 +01:00
object StdCompiler: Use terms "Serializer" and "Deserializer" 2017-03-11 15:05:41 +01:00
platform StdRegistry: Remove unused support for separated config values 2017-03-16 18:51:16 +01:00
player StdCompiler: Use terms "Serializer" and "Deserializer" 2017-03-11 15:05:41 +01:00
res Qt Editor: Add sound property delegate 2016-07-27 22:35:11 -04:00
script Move strprintf to Standard 2017-03-16 18:51:16 +01:00
zlib Fix possible double close when attempting to open uncompressed files 2012-02-05 20:00:47 +01:00
C4ForbidLibraryCompilation.h Prevent using USE_CONSOLE in lib{misc,c4script} 2016-10-22 17:42:23 +02:00
C4Globals.cpp Fix destruction order of system string table vs. editor 2016-10-16 18:40:51 +02:00
C4Include.cpp Update all copyright notices for 2016 2016-04-03 20:24:42 +02:00
C4Include.h Remove re namespace alias 2016-10-19 13:46:03 +02:00
C4Prototypes.h Twiddle with header organization: lib{misc,c4script} do no longer include GL/glew.h 2016-10-20 18:46:32 +02:00
C4Version.h.in Update all copyright notices for 2016 2016-04-03 20:24:42 +02:00