Difference between revisions of "Wiimmfi/Connection Status"

From Custom Mario Kart
Jump to navigation Jump to search
Line 1: Line 1:
The '''Connection Status''' is a special feature of [[Wiimmfi]]. Server [[SV]] collects data from [[GPCM]], [[MS]], [[MASTER]] and [[NATNEG]] and creates 4 bit fields for each room member:
+
The '''Connection Status''' is a special feature of [[Wiimmfi]]. Server [[SV]] collects data from [[GPCM]], [[MS]], [[MASTER]] and [[NATNEG]] and creates 5 bit fields for each room member:
; 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.
+
; 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. The bits are always set for both peers.
; CONNECT: A bit is set, if connection was accepted by the host. In this case the hosts sends a "GPCM STATUS type-02" message using server [[GPCM]] or [[MS]] as delivery agent.
+
; CONNECT2: A bit is set, if connection was accepted by the host. In this case the hosts sends a "GPCM STATUS type-02" message using server [[GPCM]] or [[MS]] as delivery agent. The bits are always set for both peers.
; NN_CON: The [[NATNEG]] server sent a CONNECT message (NATNEG connection finished) to both clients.
+
; NN_CONNECT: The [[NATNEG]] server sent a CONNECT message (NATNEG connection finished) to both clients. The bits are always set for both peers.
; NN_ACK: The [[NATNEG]] server received a CONNECT_ACK message of a client. This is the only not symmetric bit field.
+
; NN_ACK: The [[NATNEG]] server received a CONNECT_ACK message of a client.  
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.
+
; NN_SUCCESS: The [[NATNEG]] server received a REPORT message of a client with status SUCCESS. If the status is FAIL, then the related bits in NN_CONNECT and NN_ACK are cleared.
 +
The slot index is used for the bit number. If for example players at slot 2 and 5 did NN_CONNECT, 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 shows the character and color selection, highest priority first:
 
Server [[SV]] and [[mkw-ana]] print a summary as character vector. The following table shows the character and color selection, highest priority first:
Line 11: Line 12:
 
! char !! color !! Description  
 
! char !! color !! Description  
 
|-
 
|-
| align=center | \ || gray || Self reference. All other bits are ignored.
+
| align=center | \ || gray || Self reference nad mirror line. All other bits are ignored.
 
|-
 
|-
| align=center | A || cyan || NN_ACK and CONNECT set. LOCAL is ignored.
+
| align=center | || cyan || NN_SUCCESS and CONNECT2 are set. LOCAL is ignored.
 
|-
 
|-
| align=center | a || cyan || NN_ACK set, but not CONNECT. LOCAL is ignored.
+
| align=center | || cyan || NN_SUCCESS set, but not CONNECT2. LOCAL is ignored.
 
|-
 
|-
| align=center | N || yellow || NN_CON and CONNECT set, but not NN_ACK. LOCAL is ignored.
+
| align=center | A || yellow || NN_ACK and CONNECT2 are set. LOCAL is ignored.
 
|-
 
|-
| align=center | n || yellow || NN_CON set, but neither NN_ACK nor CONNECT. LOCAL is ignored.
+
| align=center | a || yellow || NN_ACK set, but not CONNECT. LOCAL is ignored.
 
|-
 
|-
| align=center | L || blue || LOCAL and CONNECT set, but not NATNEG.
+
| align=center | C || yellow || NN_CONNECT and CONNECT2 are set, but not NN_ACK. LOCAL is ignored.
 
|-
 
|-
| align=center | l || blue || LOCAL set, but neither CONNECT nor NATNEG.
+
| align=center | c || yellow || NN_CONNECT set, but neither NN_ACK nor CONNECT2. LOCAL is ignored.
 
|-
 
|-
| align=center | C || magenta|| CONNECT set, but neither LOCAL nor NATNEG.
+
| align=center | L || blue || LOCAL and CONNECT2 set, but not any NATNEG flag.
 
|-
 
|-
| align=center | ! || red  || Neither NATNEG, nor CONNECT, nor LOCAL is set.
+
| align=center | l || blue || LOCAL set, but neither CONNECT nor any NATNEG flag.
 +
|-
 +
| align=center | 2 || magenta|| CONNECT2 set, but neither LOCAL nor any NATNEG flag.
 +
|-
 +
| align=center | × || red  || All bits are cleared.
 
|}
 
|}
  

Revision as of 21:18, 25 September 2016

The Connection Status is a special feature of Wiimmfi. Server SV collects data from GPCM, MS, MASTER and NATNEG and creates 5 bit fields for each room member:

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. The bits are always set for both peers.
CONNECT2
A bit is set, if connection was accepted by the host. In this case the hosts sends a "GPCM STATUS type-02" message using server GPCM or MS as delivery agent. The bits are always set for both peers.
NN_CONNECT
The NATNEG server sent a CONNECT message (NATNEG connection finished) to both clients. The bits are always set for both peers.
NN_ACK
The NATNEG server received a CONNECT_ACK message of a client.
NN_SUCCESS
The NATNEG server received a REPORT message of a client with status SUCCESS. If the status is FAIL, then the related bits in NN_CONNECT and NN_ACK are cleared.

The slot index is used for the bit number. If for example players at slot 2 and 5 did NN_CONNECT, 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 shows the character and color selection, highest priority first:

char color Description
\ gray Self reference nad mirror line. All other bits are ignored.
cyan NN_SUCCESS and CONNECT2 are set. LOCAL is ignored.
cyan NN_SUCCESS set, but not CONNECT2. LOCAL is ignored.
A yellow NN_ACK and CONNECT2 are set. LOCAL is ignored.
a yellow NN_ACK set, but not CONNECT. LOCAL is ignored.
C yellow NN_CONNECT and CONNECT2 are set, but not NN_ACK. LOCAL is ignored.
c yellow NN_CONNECT set, but neither NN_ACK nor CONNECT2. LOCAL is ignored.
L blue LOCAL and CONNECT2 set, but not any NATNEG flag.
l blue LOCAL set, but neither CONNECT nor any NATNEG flag.
2 magenta CONNECT2 set, but neither LOCAL nor any NATNEG flag.
× red All bits are cleared.

Example:

Connection-status-examples.png