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]] (both GPCMv90 Status Type 02), [[MASTER]] (master-id) and from [[NATNEG]] (connected) and creates 3 bit fields for each player:
+
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.
+
; 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.
+
; CONNECT: A bit is set, if connection was accepted by the host. Then is sends a "GPCMv90 Status Type 02" message.
; natneg: A NATNEG connection finished.
+
; 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.
 
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.
  
Line 12: Line 13:
 
| align=center | \ || gray || Self reference. All other bits are ignored.
 
| align=center | \ || gray || Self reference. All other bits are ignored.
 
|-
 
|-
| align=center | N || cyan || NATNEG and CONNECT set. LOCAL is ignored.
+
| align=center | A || cyan || NN_ACK and CONNECT set. LOCAL is ignored.
 
|-
 
|-
| align=center | n || green || NATNEG set, but not CONNECT. LOCAL is ignored.
+
| align=center | a || green || NN_ACK set, but not CONNECT. LOCAL is ignored.
 +
|-
 +
| align=center | N || yellow || NN_CON and CONNECT set, but not NN_ACK. LOCAL is ignored.
 +
|-
 +
| align=center | n || yellow || NN_CON set, but neither NN_ACK nor CONNECT. LOCAL is ignored.
 
|-
 
|-
 
| align=center | L || blue || LOCAL and CONNECT set, but not NATNEG.
 
| align=center | L || blue || LOCAL and CONNECT set, but not NATNEG.
Line 20: Line 25:
 
| align=center | l || blue || LOCAL set, but neither CONNECT nor NATNEG.
 
| align=center | l || blue || LOCAL set, but neither CONNECT nor NATNEG.
 
|-
 
|-
| align=center | c || yellow || CONNECT set, but neither LOCAL nor NATNEG.
+
| align=center | c || magenta|| CONNECT set, but neither LOCAL nor NATNEG.
 
|-
 
|-
 
| align=center | ! || red  || Neither NATNEG, nor CONNECT, nor LOCAL is set.
 
| align=center | ! || red  || Neither NATNEG, nor CONNECT, nor LOCAL is set.
 
|}
 
|}
  
'''2 examples:'''
+
'''2 examples:''' (old print schema; update needed)
  
 
[[File:connection-status-examples.png|269px]]
 
[[File:connection-status-examples.png|269px]]
 
[[category:Wiimmfi|C]]
 
[[category:Wiimmfi|C]]

Revision as of 17:18, 23 September 2016

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 needed)

Connection-status-examples.png