Multiplayer racing game on local LAN?

Hi! I am working on a racing game that is aimed to be played in a local LAN with up to 4 terminals.

What do I want to achieve:

Any player can start a game (its a coin-op project)
Any player starts and can select Track and Car.

If one player started already, next players can only choose Car.

Cars are unique (different characters) so no two players with same car.

Once all players are set then the race starts.

If a race is in course and a new player press start he has two options:

1 - play solo
2- wait the race to finish to start a new one.

I think I will need some ‘offline session’ communication between players to know
the state of the others without having to join a multiplayer sesion. (maybe TCP/UDP?)

What about this:

One of the players will be the unique host for TCP communications so there is a global
system for sharing data between players without an official multiplayer UE session.

the ‘lobby’ is LOCAL…so each player is in an actual UE multiplayer session only in the
race and not while picks race/cars and waits to start the race.

They start, lobby runs locally and syncs with others via TCP. Once all are ready
to go then one of the players starts the UE multiplayer map and the race starts.

The Host player of the race must know how many players are in the race before
actually start if so cant start the race until all are in the start line (need external TCP
communication for this or something?)

I woul love to get some inputs/advices about the best possible approach for this project.
Thanks in advance!

Dany