Simplified Networking Modes for Netplay VOOT (voot-search)

Introduced Modes

  1. LAN
  2. Internet

LAN Mode

Drivers listen on UDP port 5007. Until a driver receives a valid VOOT packet on the port, it will be in broadcast mode, only transmitting using a subnet-wide broadcast.

When a driver receives a valid VOOT packet, the mode is switched unicast mode, and transmission is then keyed on to the originating IP address. All other packet sources are dropped!

If no valid VOOT packet has been received after 30 seconds, the software reverts back to broadcast mode.

Internet Mode

While the driver is in broadcast mode, it will send a request for match packet to the following destinations:

  1. Broadcast port 5008.
  2. Unicast to IP specified in memory card.
  3. Unicast to default server IP.

The request for match transmission frequency will be every 60 seconds. If it receives a match ready packet, a prompt will appear on-screen displaying the opponent's information. The player can then choose to manually connect to said player, placing the driver in normal unicast mode.

The Memory Card

There is a single netplay save. It stores only the following pieces of data:

  1. Player Name
  2. Player ID
  3. Current Rank (elo)
  4. Preferred Server

The Player Name is used in request for match packets and as the search criteria for loading customized data off the memory card. The first matching VR to the same Player Name and selected VR is used for the match.

The Player ID is a 32-bit number which is randomly generated by default; though, the player can set it them self for vanity purposes. It is used by servers to uniquely identify the players, allowing for free-form Player Names. If a server has a Player ID collision, the first Player ID has priority.

The Current Rank is only modified by the driver in the LAN mode, for local match calculation. If a player makes contact with a netplay server, their Current Rank will be passed; however, it is up to the server whether it accepts the rank as canon. Either way, the server updates and manages  the Current Rank from then on. The driver will overwrite the previous stored rank.

The Preferred Server is specified in IP address form. A server can overwrite this data too, for load balancing and forwarding purposes.