Wiimmfi/Connection Status

From Custom Mario Kart
< Wiimmfi
Revision as of 17:19, 23 September 2016 by Wiimm (talk | contribs)
Jump to navigation Jump to search

The Connection Status is a special feature of Wiimmfi. Server SV collects data from GPCM, MS (both GPCMv90 Status Type 02), MASTER (master-id) and from NATNEG (connected) and creates 4 bit fields for each player:

LOCAL
A bit is set, if 2 players have the same public IPv4. In this case, both clients use the same LAN and NATNEG is usually not needed.
CONNECT
A bit is set, if connection was accepted by the host. Then is sends a "GPCMv90 Status Type 02" message.
NN_CON
The NATNEG server sent a CONNECT message (NATNEG connection finished) to both clients.
NN_ACK
The NATNEG server received a CONNECT_ACK message of a client. This is the only not symmetric bit field.

The slot index is used for the bit number. If for example players at slot 2 and 5 did NATNEG, then bit 5 for player 2 and bit 2 for player 5 are set.

Server SV and mkw-ana print a summary as character vector. The following table shown the character and color selection, highest priority first:

char color Description
\ gray Self reference. All other bits are ignored.
A cyan NN_ACK and CONNECT set. LOCAL is ignored.
a green NN_ACK set, but not CONNECT. LOCAL is ignored.
N yellow NN_CON and CONNECT set, but not NN_ACK. LOCAL is ignored.
n yellow NN_CON set, but neither NN_ACK nor CONNECT. LOCAL is ignored.
L blue LOCAL and CONNECT set, but not NATNEG.
l blue LOCAL set, but neither CONNECT nor NATNEG.
C magenta CONNECT set, but neither LOCAL nor NATNEG.
! red Neither NATNEG, nor CONNECT, nor LOCAL is set.

2 examples: (old print schema; update coming soon)

Connection-status-examples.png