First, you need to classify all of the information you're sending to each player according to whether losing updates is OK. Is it a rarely-updated statistic, like how much money a player has? Probably best to send it via TCP, since a missed update means they might have a wrong number on their screen for a long time. Is it a constantly-updated value like their
<x,y,z> position? You're going to be sending a constant stream of these when they're moving, and it would be fine to send a periodic pulse when they're standing still, and only the latest value matters, so UDP might be OK.