Difference between revisions of "Wiimmfi/Connection Status"
< Wiimmfi
Jump to navigation
Jump to search
Line 13: | Line 13: | ||
{| class="textbox alt grid headline" | {| class="textbox alt grid headline" | ||
− | ! char !! | + | ! char !! description |
|- | |- | ||
− | | align=center | \ | + | | align=center style="background-color:#000; color: #ccc" | \ |
+ | | Self reference and mirror line. All other bits are ignored. | ||
|- | |- | ||
− | | align=center | | + | | align=center style="background-color:#000; color: #0ee" | ▪ |
+ | | NN_SUCCESS and CONNECT2 are set. LOCAL is ignored. | ||
|- | |- | ||
− | | align=center | | + | | align=center style="background-color:#000; color: #0ee" | '''.''' |
+ | | NN_SUCCESS set, but not CONNECT2. LOCAL is ignored. | ||
|- | |- | ||
− | | align=center | A | + | | align=center style="background-color:#000; color: #ff0" | A |
+ | | NN_ACK and CONNECT2 are set. LOCAL is ignored. | ||
|- | |- | ||
− | | align=center | a | + | | align=center style="background-color:#000; color: #ff0" | a |
+ | | NN_ACK set, but not CONNECT. LOCAL is ignored. | ||
|- | |- | ||
− | | align=center | C | + | | align=center style="background-color:#000; color: #ff0" | C |
+ | | NN_CONNECT and CONNECT2 are set, but not NN_ACK. LOCAL is ignored. | ||
|- | |- | ||
− | | align=center | c | + | | align=center style="background-color:#000; color: #ff0" | c |
+ | | NN_CONNECT set, but neither NN_ACK nor CONNECT2. LOCAL is ignored. | ||
|- | |- | ||
− | | align=center | L | + | | align=center style="background-color:#000; color: #88f" | L |
+ | | LOCAL and CONNECT2 set, but not any NATNEG flag. | ||
|- | |- | ||
− | | align=center | l | + | | align=center style="background-color:#000; color: #88f" | l |
+ | | LOCAL set, but neither CONNECT nor any NATNEG flag. | ||
|- | |- | ||
− | | align=center | 2 | + | | align=center style="background-color:#000; color: #f0f" | 2 |
+ | | CONNECT2 set, but neither LOCAL nor any NATNEG flag. | ||
|- | |- | ||
− | | align=center | | + | | align=center style="background-color:#000; color: #f00" | ▲ |
+ | | All bits are cleared. | ||
|} | |} | ||
Revision as of 12:57, 29 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. If a player left a room (detected by GPCM or MASTER), all slot related bits are cleared.
Visualization
Server SV and mkw-ana print a summary as character vector. The following table shows the character and color selection, highest priority first:
char | description |
---|---|
\ | Self reference and mirror line. All other bits are ignored. |
▪ | NN_SUCCESS and CONNECT2 are set. LOCAL is ignored. |
. | NN_SUCCESS set, but not CONNECT2. LOCAL is ignored. |
A | NN_ACK and CONNECT2 are set. LOCAL is ignored. |
a | NN_ACK set, but not CONNECT. LOCAL is ignored. |
C | NN_CONNECT and CONNECT2 are set, but not NN_ACK. LOCAL is ignored. |
c | NN_CONNECT set, but neither NN_ACK nor CONNECT2. LOCAL is ignored. |
L | LOCAL and CONNECT2 set, but not any NATNEG flag. |
l | LOCAL set, but neither CONNECT nor any NATNEG flag. |
2 | CONNECT2 set, but neither LOCAL nor any NATNEG flag. |
▲ | All bits are cleared. |
Example: