Your understanding of TCP is wrong. Packet loss is a natural part of the process. When a link is saturated, a router should drop packets and notify the sender to slow down.
When ISPs engineer their networks to not drop packets they add larger buffers, packets wait at the last hop and instead of high speed you get high latency. Games lag at the expence of bandwidth.
Read up about buffer bloat.
Games should use UDP, as its not important if 0.5% of position updates don't get through, but it is important the get through quickly.
Your understanding of TCP is wrong. Packet loss is a natural part of the process. When a link is saturated, a router should drop packets and notify the sender to slow down.
When ISPs engineer their networks to not drop packets they add larger buffers, packets wait at the last hop and instead of high speed you get high latency. Games lag at the expence of bandwidth.
Read up about buffer bloat.
Games should use UDP, as its not important if 0.5% of position updates don't get through, but it is important the get through quickly.