Skip to content

Commit f60582b

Browse files
committed
Update NMDC.html
1 parent 72a2ce8 commit f60582b

1 file changed

Lines changed: 54 additions & 55 deletions

File tree

NMDC.html

Lines changed: 54 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -2701,7 +2701,7 @@ <h4 id="_hubinfo">4.5.7. $HubINFO</h4>
27012701
<div class="paragraph"><p>Hubowner login is meant to help hubowners to edit information about their hub directly from the hublist portal.
27022702
It is usually an email address where the account/password information should be sent.</p></div>
27032703
<div class="paragraph"><p>Hub category provides information about hub categorization such as Public, Private, Chatonly, Failover and Redirect.</p></div>
2704-
<div class="paragraph"><p>Character encoding provides information about character encoding currently used on hub, this helps a hublist to display correctly encoded hub information such as hub name, description, $MyINFOs, when converting texts to UTF-8.</p></div>
2704+
<div class="paragraph"><p>Character encoding provides information about character encoding currently used on hub, this helps a hublist to display correctly encoded hub information such as hub name, description, <strong>$MyINFO</strong>, when converting texts to UTF-8.</p></div>
27052705
<div class="paragraph"><p>Common encodings are: CP1250, CP1251, CP1252, CP1253, GB18030 and UTF-8, but are not limited to.</p></div>
27062706
<div class="paragraph"><p>If the hub address is 127.0.0.1, a hublist pinger will/is supposed to remove the hub from its database.</p></div>
27072707
<div class="paragraph"><p>Add <strong>HubINFO</strong> to the <strong>$Supports</strong> to indicate support for this.</p></div>
@@ -2861,7 +2861,7 @@ <h4 id="_in">4.5.11. $IN</h4>
28612861
</tr>
28622862
<tr>
28632863
<td align="left" valign="top"><p class="table">h (104)</p></td>
2864-
<td align="left" valign="top"><p class="table">Hub count, x/y/z (where x is the number of hubs as a normal user, y as the number of hubs as registered and z as the number of hubs as operator)</p></td>
2864+
<td align="left" valign="top"><p class="table">Hub count, "x/y/z" - where "x" is the number of hubs as a normal user, "y" as the number of hubs as registered and "z" as the number of hubs as operator</p></td>
28652865
</tr>
28662866
<tr>
28672867
<td align="left" valign="top"><p class="table">s (115)</p></td>
@@ -2873,15 +2873,15 @@ <h4 id="_in">4.5.11. $IN</h4>
28732873
</tr>
28742874
<tr>
28752875
<td align="left" valign="top"><p class="table">l (108)</p></td>
2876-
<td align="left" valign="top"><p class="table">Bandwidth limit (L: and B: in $MyINFO)</p></td>
2876+
<td align="left" valign="top"><p class="table">Bandwidth limit, "L:" and "B:" in $MyINFO</p></td>
28772877
</tr>
28782878
<tr>
28792879
<td align="left" valign="top"><p class="table">o (111)</p></td>
2880-
<td align="left" valign="top"><p class="table">O: in $MyINFO</p></td>
2880+
<td align="left" valign="top"><p class="table">"O:" in $MyINFO</p></td>
28812881
</tr>
28822882
<tr>
28832883
<td align="left" valign="top"><p class="table">r (114)</p></td>
2884-
<td align="left" valign="top"><p class="table">R: in $MyINFO</p></td>
2884+
<td align="left" valign="top"><p class="table">"R:" in $MyINFO</p></td>
28852885
</tr>
28862886
</tbody>
28872887
</table>
@@ -2949,14 +2949,14 @@ <h4 id="_in">4.5.11. $IN</h4>
29492949
</tbody>
29502950
</table>
29512951
</div>
2952-
<div class="paragraph"><p>Bit 5 and Bit 6 of the 32-bit status flag are used to indicate wether a user is an OP or wether the $IN string send by the hubsoft belongs to a bot.
2952+
<div class="paragraph"><p>Bit 5 and Bit 6 of the 32-bit status flag are used to indicate whether a user is an OP or whether the <strong>$IN</strong> string send by the hubsoft belongs to a bot.
29532953
These values are read-only and should never be changed by a client.
29542954
The hubsoft must disconnect for this.
29552955
If a client connects and has successfully logged in with the correct password, the hubsoft will set bit 5 of the status flag and sends this part to all connected users, including the newly connected OP.
29562956
The connecting client must save the status flag it received from the hub and use it when updating status such as away and fireball.
29572957
However, as said, it is not allowed to set or reset bit 5 and bit 6 of the status flag.</p></div>
29582958
<div class="paragraph"><p>Bit 7 of the 32-bit status flag indicates if the client is in DND-mode (Do-Not-Disturb).
2959-
Unlike Away mode, this mode will prevent the client to receive any PM&#8217;s.
2959+
Unlike "Away" mode, this mode will prevent the client to receive any PMs.
29602960
Clients are responsible themselves for setting/resetting this bit.
29612961
Once this bit is set, and the hub receives a <strong>$To:</strong> string for a client in DND-mode, the hub must ignore the <strong>$To:</strong> and reply to the sender with a message that the receiver is in DND-Mode.
29622962
A client having this bit set, should automatically reset this bit when sending a pm itself.
@@ -3006,7 +3006,7 @@ <h4 id="_nickchange">4.5.13. $NickChange</h4>
30063006
<div class="paragraph"><p>Add <strong>NickChange</strong> to the <strong>$Supports</strong> to indicate support for this.</p></div>
30073007
<div class="paragraph"><p>The client will have to update its own <strong>$MyINFO</strong> string and user list.</p></div>
30083008
<div class="paragraph"><p>The hub will will send <strong>$ClientNick</strong> to the client to validate that the change is done.
3009-
To all other users, a <strong>$Quit _old_nick</strong> will be sent and a <strong>$MyINFO $ALL</strong> of the user with the new nick.</p></div>
3009+
To all other users, a <strong>$Quit</strong> will be sent and a <strong>$MyINFO</strong> of the user with the new nick.</p></div>
30103010
<div class="paragraph"><p>If the user is an operator, <strong>$OpList</strong> will be updated appropriately as well.</p></div>
30113011
</div>
30123012
<div class="sect3">
@@ -3031,9 +3031,9 @@ <h4 id="_featurednetworks">4.5.15. FeaturedNetworks</h4>
30313031
<div class="paragraph"><p>Add <strong>FeaturedNetworks</strong> to the <strong>$Supports</strong> to indicate support for this.</p></div>
30323032
<div class="paragraph"><p>Syntax:</p></div>
30333033
<div class="paragraph"><p>An APN MultiHubChat message normally has this format:</p></div>
3034-
<div class="paragraph"><p><strong>&lt;(YYY)XXXXX&gt; MMMMMMM|</strong> - where YYY is the entry point prefix, XXXXX is the username and MMMMMMM is the message.</p></div>
3034+
<div class="paragraph"><p>"&lt;(YYY)XXXXX&gt; MMMMMMM|" - where "YYY" is the entry point prefix, "XXXXX" is the username and "MMMMMMM" is the message.</p></div>
30353035
<div class="paragraph"><p>To allow the different entry point handlers to identify which messages are coming from other multi hub chat entry points, there is a command send by the hub after login called <strong>$FeaturedNetworks</strong>:</p></div>
3036-
<div class="paragraph"><p><strong>$FeaturedNetworks YYY$$YYY$YYY$$|</strong> - YYY stands for one entry point to the chat network.
3036+
<div class="paragraph"><p>"$FeaturedNetworks YYY$$YYY$YYY$$|" - "YYY" stands for one entry point to the chat network.
30373037
In the biggest currently running instance of the APN MultiHubChat system, five or more different prefixes are used.</p></div>
30383038
<div class="sect4">
30393039
<h5 id="_implementation">Implementation</h5>
@@ -3291,9 +3291,9 @@ <h4 id="_usercommand">4.5.25. $UserCommand</h4>
32913291
</div>
32923292
<div class="sect4">
32933293
<h5 id="_escaping">Escaping</h5>
3294-
<div class="paragraph"><p>Escaping of dollar and pipe is necessary for the <strong><em>command</strong> in _raw</em> mode.
3294+
<div class="paragraph"><p>Escaping of dollar and pipe is necessary for the <strong>_command</strong> in <em>raw</em> mode.
32953295
The DC++ escape sequence will be used.
3296-
I.e. &#124; for pipe, &#36; for dollar and &amp; for the ampersand.
3296+
I.e. "&amp;#124;" for pipe, "&amp;#36;" for dollar and "&amp;amp;" for the ampersand.
32973297
Escaping is used for all fields before they are sent to the hub / shown to the user.
32983298
As with all NMDC commands, they must be terminated by the pipe character.</p></div>
32993299
</div>
@@ -3319,7 +3319,7 @@ <h5 id="_details_raw">Details: Raw</h5>
33193319
</div></div>
33203320
</div></div>
33213321
<div class="paragraph"><p>Will add a raw menu item with title <strong>_title</strong> with command <strong>_raw</strong>.
3322-
This command must end with a &#124;, if not it should be discarded.
3322+
This command must end with a "&amp;#124;", if not it should be discarded.
33233323
The raw command may be used to specify multiple commands to be sent to the hub.</p></div>
33243324
</div>
33253325
<div class="sect4">
@@ -3331,7 +3331,7 @@ <h5 id="_details_raw_nick_limited">Details: Raw nick limited</h5>
33313331
<pre><code>$UserCommand 2 _context _title$_raw|</code></pre>
33323332
</div></div>
33333333
</div></div>
3334-
<div class="paragraph"><p>Is exactly the same as <em>raw</em>, except that the command should only be run once per <strong>%[nick]</strong>.
3334+
<div class="paragraph"><p>Is exactly the same as <em>raw</em>, except that the command should only be run once per "%[nick]".
33353335
This is to prevent the client from sending out more than one message that disconnects someone.
33363336
Generally, this is only useful in the User-File context (e.g. viewing search results) where it is possible to select one user multiple times.</p></div>
33373337
</div>
@@ -3365,7 +3365,7 @@ <h3 id="_extensions_features">4.6. Extensions (features)</h3>
33653365
<div class="sect3">
33663366
<h4 id="_nohello">4.6.1. NoHello</h4>
33673367
<div class="paragraph"><p>Contexts: Client &#8594; Hub</p></div>
3368-
<div class="paragraph"><p>This indicates that the client doesn&#8217;t need either <strong>$Hello</strong> or* $NickList* to be sent to it when connecting to a hub.
3368+
<div class="paragraph"><p>This indicates that the client doesn&#8217;t need either <strong>$Hello</strong> or <strong>$NickList</strong> to be sent to it when connecting to a hub.
33693369
To populate its user list, a <strong>$MyINFO</strong> for each user is enough.
33703370
<strong>$Hello</strong> is still accepted, for adding bots to the user list.
33713371
DC++ still sends a <strong>$GetNickList</strong> to indicate that it is interested in the user list.
@@ -3490,7 +3490,7 @@ <h4 id="_quicklist">4.6.3. QuickList</h4>
34903490
</li>
34913491
<li>
34923492
<p>
3493-
<strong>$Supports</strong> are in the same format as in the client protocol; "$Supports &lt;feat1&gt; &lt;feat2&gt; &lt;feat3&gt;&#124;"
3493+
<strong>$Supports</strong> are in the same format as in the client protocol; "$Supports &lt;feat1&gt; &lt;feat2&gt; &lt;feat3&gt;"
34943494
</p>
34953495
</li>
34963496
</ul></div>
@@ -3529,17 +3529,17 @@ <h4 id="_quicklist">4.6.3. QuickList</h4>
35293529
<div class="ulist"><ul>
35303530
<li>
35313531
<p>
3532-
$Lock
3532+
<strong>$Lock</strong>
35333533
</p>
35343534
</li>
35353535
<li>
35363536
<p>
3537-
$HubName
3537+
<strong>$HubName</strong>
35383538
</p>
35393539
</li>
35403540
<li>
35413541
<p>
3542-
$Supports
3542+
<strong>$Supports</strong>
35433543
</p>
35443544
</li>
35453545
</ul></div>
@@ -3548,68 +3548,68 @@ <h4 id="_quicklist">4.6.3. QuickList</h4>
35483548
<div class="ulist"><ul>
35493549
<li>
35503550
<p>
3551-
$GetPass
3551+
<strong>$GetPass</strong>
35523552
</p>
35533553
</li>
35543554
<li>
35553555
<p>
3556-
$BadPass
3556+
<strong>$BadPass</strong>
35573557
</p>
35583558
</li>
35593559
<li>
35603560
<p>
3561-
$ValidateDenide
3561+
<strong>$ValidateDenide</strong>
35623562
</p>
35633563
</li>
35643564
</ul></div>
35653565
<div class="paragraph"><p>Acceptance</p></div>
35663566
<div class="ulist"><ul>
35673567
<li>
35683568
<p>
3569-
$LogedIn
3569+
<strong>$LogedIn</strong>
35703570
</p>
35713571
</li>
35723572
<li>
35733573
<p>
3574-
$MyINFO
3574+
<strong>$MyINFO</strong>
35753575
</p>
35763576
</li>
35773577
<li>
35783578
<p>
3579-
$MyINFO stream
3579+
<strong>$MyINFO</strong> stream
35803580
</p>
35813581
</li>
35823582
</ul></div>
35833583
<div class="paragraph"><p>Connected</p></div>
35843584
<div class="ulist"><ul>
35853585
<li>
35863586
<p>
3587-
$To
3587+
<strong>$To:</strong>
35883588
</p>
35893589
</li>
35903590
<li>
35913591
<p>
3592-
$Search
3592+
<strong>$Search</strong>
35933593
</p>
35943594
</li>
35953595
<li>
35963596
<p>
3597-
$SR
3597+
<strong>$SR</strong>
35983598
</p>
35993599
</li>
36003600
<li>
36013601
<p>
3602-
$ConnectToMe
3602+
<strong>$ConnectToMe</strong>
36033603
</p>
36043604
</li>
36053605
<li>
36063606
<p>
3607-
$RevConnectToMe
3607+
<strong>$RevConnectToMe</strong>
36083608
</p>
36093609
</li>
36103610
<li>
36113611
<p>
3612-
$ForceMove
3612+
<strong>$ForceMove</strong>
36133613
</p>
36143614
</li>
36153615
</ul></div>
@@ -3619,33 +3619,33 @@ <h4 id="_quicklist">4.6.3. QuickList</h4>
36193619
<div class="ulist"><ul>
36203620
<li>
36213621
<p>
3622-
$Key
3622+
<strong>$Key</strong>
36233623
</p>
36243624
</li>
36253625
<li>
36263626
<p>
3627-
$Supports
3627+
<strong>$Supports</strong>
36283628
</p>
36293629
</li>
36303630
</ul></div>
36313631
<div class="paragraph"><p>Identification</p></div>
36323632
<div class="ulist"><ul>
36333633
<li>
36343634
<p>
3635-
$Version
3635+
<strong>$Version</strong>
36363636
</p>
36373637
</li>
36383638
<li>
36393639
<p>
3640-
$MyINFO
3640+
<strong>$MyINFO</strong>
36413641
</p>
36423642
</li>
36433643
</ul></div>
36443644
<div class="paragraph"><p>Authentication</p></div>
36453645
<div class="ulist"><ul>
36463646
<li>
36473647
<p>
3648-
$MyPass
3648+
<strong>$MyPass</strong>
36493649
</p>
36503650
</li>
36513651
</ul></div>
@@ -3654,47 +3654,47 @@ <h4 id="_quicklist">4.6.3. QuickList</h4>
36543654
<div class="ulist"><ul>
36553655
<li>
36563656
<p>
3657-
$GetNickList
3657+
<strong>$GetNickList</strong>
36583658
</p>
36593659
</li>
36603660
<li>
36613661
<p>
3662-
$MyINFO
3662+
<strong>$MyINFO</strong>
36633663
</p>
36643664
</li>
36653665
<li>
36663666
<p>
3667-
$To:
3667+
<strong>$To:</strong>
36683668
</p>
36693669
</li>
36703670
<li>
36713671
<p>
3672-
$Search
3672+
<strong>$Search</strong>
36733673
</p>
36743674
</li>
36753675
<li>
36763676
<p>
3677-
$SR
3677+
<strong>$SR</strong>
36783678
</p>
36793679
</li>
36803680
<li>
36813681
<p>
3682-
$ConnectToMe
3682+
<strong>$ConnectToMe</strong>
36833683
</p>
36843684
</li>
36853685
<li>
36863686
<p>
3687-
$RevConnectToMe
3687+
<strong>$RevConnectToMe</strong>
36883688
</p>
36893689
</li>
36903690
<li>
36913691
<p>
3692-
$Kick
3692+
<strong>$Kick</strong>
36933693
</p>
36943694
</li>
36953695
<li>
36963696
<p>
3697-
$OpForceMove
3697+
<strong>$OpForceMove</strong>
36983698
</p>
36993699
</li>
37003700
</ul></div>
@@ -3986,12 +3986,12 @@ <h4 id="_nogetinfo">4.6.12. NoGetINFO</h4>
39863986
<div class="sect3">
39873987
<h4 id="_bzlist">4.6.13. BZList</h4>
39883988
<div class="paragraph"><p>Signals support for BZip2 compressed file list instead of the Huffman encoded list that NMDC pioneered.
3989-
The compressed file list is available for download under the name <strong>MyList.bz2</strong> instead of <strong>MyList.DcLst</strong> and <strong>files.xml.bz2</strong> instead of <strong>files.xml</strong>.</p></div>
3989+
The compressed file list is available for download under the name "MyList.bz2" instead of "MyList.DcLst" and "files.xml.bz2" instead of "files.xml".</p></div>
39903990
<div class="paragraph"><p>Add <strong>BZList</strong> to the <strong>$Supports</strong> to indicate support for this.</p></div>
39913991
</div>
39923992
<div class="sect3">
39933993
<h4 id="_chunk">4.6.14. CHUNK</h4>
3994-
<div class="paragraph"><p>This is a protocol extension by Valknut that allows retrieval of sections of a file through a modified $Get syntax.
3994+
<div class="paragraph"><p>This is a protocol extension by Valknut that allows retrieval of sections of a file through a modified <strong>$Get</strong> syntax.
39953995
The syntax is:</p></div>
39963996
<div class="exampleblock">
39973997
<div class="content">
@@ -4018,11 +4018,10 @@ <h4 id="_saltpass">4.6.17. SaltPass</h4>
40184018
<div class="paragraph"><p>This feature offers passwords to be salted and hashed, which means that passwords are no longer sent in plaintext.
40194019
This adds "random data" to the <strong>$GetPass</strong> command.</p></div>
40204020
<div class="paragraph"><p>The random data should be Base32 encoded.</p></div>
4021-
<div class="paragraph"><p>The data that is sent back in the <strong>$MyPass</strong> shall be the password followed by the random data, passed through the Tiger algorithm and then encoded with Base32.
4022-
I.e., base32( tiger_hash( password + data ) ).</p></div>
4021+
<div class="paragraph"><p>The data that is sent back in the <strong>$MyPass</strong> shall be the password followed by the random data, passed through the Tiger algorithm and then encoded with Base32: "base32( tiger_hash( _password + _data ) )"</p></div>
40234022
<div class="paragraph"><p>Add <strong>SaltPass</strong> to the <strong>$Supports</strong> to indicate support for this.</p></div>
40244023
<div class="paragraph"><p>Note that the example below for <strong>$MyPass</strong> is not literal.</p></div>
4025-
<div class="paragraph"><p>The algorithm here is a port from ADC&#8217;s GPA/PAS.</p></div>
4024+
<div class="paragraph"><p>The algorithm here is a port from ADC <a href="https://dc-protocols.github.io/ADC.html#_gpa">GPA</a> and <a href="https://dc-protocols.github.io/ADC.html#_pas">PAS</a>.</p></div>
40264025
<div class="paragraph"><p>Example:</p></div>
40274026
<div class="exampleblock">
40284027
<div class="content">
@@ -4051,7 +4050,7 @@ <h4 id="_ipv6">4.6.19. IPv6</h4>
40514050
Clients should use the same TCP and UDP ports for both IPv4 and IPv6 if both are supported.
40524051
The connection mode (passive, active, SOCKS5) can be different.</p></div>
40534052
<div class="paragraph"><p>The hub is required to set the IPv6 bit in the <strong>$MyINFO</strong> command.</p></div>
4054-
<div class="paragraph"><p>The connection mode in the <strong>$MyINFO</strong> tag changes from "M:X" where X is the connection mode (A = Active, B = Passive, 5 = SOCKS5) to "M:XY" where X is the connection mode of IPv4 and Y is the connection mode of IPv6.
4053+
<div class="paragraph"><p>The connection mode in the <strong>$MyINFO</strong> tag changes from "M:X" where "X" is the connection mode (A = active, P = passive, 5 = SOCKS5) to "M:XY" where "X" is the connection mode of IPv4 and "Y" is the connection mode of IPv6.
40554054
If a client does not support IPv4 or the IPv4 check failed, the first character will be "N" for not supported.</p></div>
40564055
<div class="paragraph"><p>Add <strong>IP64</strong> to the <strong>$Supports</strong> to indicate support for this.</p></div>
40574056
<div class="paragraph"><p>A client that support IPv4 and IPv6 will only use one form when sending messages to a hub.
@@ -4066,7 +4065,7 @@ <h4 id="_ipv6">4.6.19. IPv6</h4>
40664065
<h4 id="_tls">4.6.20. TLS</h4>
40674066
<div class="paragraph"><p>Contexts: Client &#8594; Client</p></div>
40684067
<div class="paragraph"><p>This feature is used to indicate support for TLS-encrypted client-client connections.
4069-
This feature can be used in conjunction with NAT feature specified below.</p></div>
4068+
This feature can be used in conjunction with <strong>NAT</strong> feature specified below.</p></div>
40704069
<div class="paragraph"><p>Implementations shall add an "S" to the TLS port in a <strong>$ConnectToMe</strong>.</p></div>
40714070
<div class="paragraph"><p>Add <strong>TLS</strong> to the <strong>$Supports</strong> to indicate support for this.</p></div>
40724071
<div class="paragraph"><p>Example connection request:</p></div>
@@ -4289,7 +4288,7 @@ <h4 id="_searchrule">4.6.28. SearchRule</h4>
42894288
<div class="paragraph"><p><strong>Int</strong> and <strong>IntPas</strong> might be set to zero "0" - which means that user is actually allowed to search without time limit, and might be set to "-1" - which means that user is not allowed to use search at all due to low profile or any other kind of restrictions.</p></div>
42904289
<div class="paragraph"><p>Meaning of this extension is to avoid extra search requests to the hub, which are not going to bring any search results to the user anyway.
42914290
Atleast the user will know the reason of search results not appearing for him on a specific hub.</p></div>
4292-
<div class="paragraph"><p>Add <strong>SearchRule</strong> to the $Supports to indicate support for this.</p></div>
4291+
<div class="paragraph"><p>Add <strong>SearchRule</strong> to the <strong>$Supports</strong> to indicate support for this.</p></div>
42934292
<div class="paragraph"><p>Hub softwares currently known to support this extension: Verlihub</p></div>
42944293
</div>
42954294
<div class="sect3">
@@ -4312,7 +4311,7 @@ <h4 id="_huburl">4.6.29. HubURL</h4>
43124311
<pre><code>$MyHubURL hub.example.com:412|</code></pre>
43134312
</div></div>
43144313
</div></div>
4315-
<div class="paragraph"><p>Client should not spend any resources on parsing the URL, it is enough to use the <em>getHubUrl()</em> method as is (see DC++ source).</p></div>
4314+
<div class="paragraph"><p>Client should not spend any resources on parsing the URL, it is enough to use the "getHubUrl()" method as is (see DC++ source).</p></div>
43164315
<div class="paragraph"><p>Meaning of this extension is to collect statistics about hub addresses being used in a hub by its users, and also to extend address checking functionality to redirect users to most preferable hub address or port.</p></div>
43174316
<div class="paragraph"><p>The idea was also to implement <strong>$SetHubURL</strong> command to specify preferable hub address without need to reconnect to the hub, in case it was accessed from hub favorites list.
43184317
We are hoping to finish this last part of the implementation very soon.</p></div>
@@ -4510,7 +4509,7 @@ <h2 id="_license">6. License</h2>
45104509
<div id="footer">
45114510
<div id="footer-text">
45124511
Version 1.5<br />
4513-
Last updated 2025-04-27 11:13:08 CEST
4512+
Last updated 2025-04-27 11:56:43 CEST
45144513
</div>
45154514
</div>
45164515
</body>

0 commit comments

Comments
 (0)