admin wrote:I might have fixed Check 3 and I found two more ways to check. Check 5 might be good...
I also improved the interface: only 2 buttons to click

Nope, Check 3 still doesn't work.
And I didn't use your "Check All" button, cause once a path has been tested with one method, the next one used after for the same path usually gets faster...
That said, yeah Check 5 seems pretty good, so I would go with a combo of Check 5 and 2 to have best results.
Available server & path:
- Check 1: True. Time needed: 1 416,014 msec = 1,42 seconds
- Check 2: True. Time needed: 2,485 msec = 0,00 seconds
- Check 3: False. Time needed: 15,309 msec = 0,02 seconds
- Check 4: True. Time needed: 33,667 msec = 0,03 seconds
- Check 5: True. Time needed: 1,783 msec = 0,00 seconds
Unavailable path on available server:
- Check 1: False. Time needed: 19,933 msec = 0,02 seconds
- Check 2: False. Time needed: 0,819 msec = 0,00 seconds
- Check 3: False. Time needed: 31,222 msec = 0,03 seconds
- Check 4: True. Time needed: 6,257 msec = 0,01 seconds
- Check 5: True. Time needed: 2,570 msec = 0,00 seconds
Unavailable server:
- Check 1: False. Time needed: 15 842,278 msec = 15,84 seconds
- Check 2: False. Time needed: 11 316,321 msec = 11,32 seconds
- Check 3: False. Time needed: 9 073,666 msec = 9,07 seconds
- Check 4: False. Time needed: 2 310,227 msec = 2,31 seconds
- Check 5: False. Time needed: 2 308,273 msec = 2,31 seconds