<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.3dbrew.org/w/index.php?action=history&amp;feed=atom&amp;title=PRUDP</id>
	<title>PRUDP - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.3dbrew.org/w/index.php?action=history&amp;feed=atom&amp;title=PRUDP"/>
	<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=PRUDP&amp;action=history"/>
	<updated>2026-05-13T00:12:37Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=PRUDP&amp;diff=20595&amp;oldid=prev</id>
		<title>Cyuubi: This page isn&#039;t fully documented yet, add a link to more documentation.</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=PRUDP&amp;diff=20595&amp;oldid=prev"/>
		<updated>2018-02-12T17:22:43Z</updated>

		<summary type="html">&lt;p&gt;This page isn&amp;#039;t fully documented yet, add a link to more documentation.&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:22, 12 February 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;At least two different versions of PRUDP seem to be used by Nintendo software: an older version used in the [[Friend Services|Friend services]] and a newer one used in Pokémon X/Y.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;At least two different versions of PRUDP seem to be used by Nintendo software: an older version used in the [[Friend Services|Friend services]] and a newer one used in Pokémon X/Y.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This page isn&#039;t fully documented yet, you can visit [https://github.com/Kinnay/NintendoClients/wiki/PRUDP-Protocol this] for more documentation.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Version 0 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Version 0 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key 3dbrew:diff:1.41:old-20594:rev-20595:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Cyuubi</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=PRUDP&amp;diff=20594&amp;oldid=prev</id>
		<title>Cyuubi: Correct PRUDP version</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=PRUDP&amp;diff=20594&amp;oldid=prev"/>
		<updated>2018-02-12T17:18:01Z</updated>

		<summary type="html">&lt;p&gt;Correct PRUDP version&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:18, 12 February 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;At least two different versions of PRUDP seem to be used by Nintendo software: an older version used in the [[Friend Services|Friend services]] and a newer one used in Pokémon X/Y.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;At least two different versions of PRUDP seem to be used by Nintendo software: an older version used in the [[Friend Services|Friend services]] and a newer one used in Pokémon X/Y.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Version &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1 &lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Version &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;0 &lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is the version of the protocol used by the [[Friend Services|Friend services]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is the version of the protocol used by the [[Friend Services|Friend services]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key 3dbrew:diff:1.41:old-16667:rev-20594:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Cyuubi</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=PRUDP&amp;diff=16667&amp;oldid=prev</id>
		<title>Yellows8 at 17:31, 11 April 2016</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=PRUDP&amp;diff=16667&amp;oldid=prev"/>
		<updated>2016-04-11T15:31:48Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:31, 11 April 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;PRUDP&#039;&#039;&#039; is a third-party network protocol used for network communications by some Nintendo software on the 3DS.  It presumably stands for &quot;pretty reliable UDP&quot; or &quot;partially reliable UDP&quot; or some such, and essentially implements TCP-like reliability via sequence numbers and acknowledgement within UDP.  Optionally it also adds security (prudps). This is the protocol used in Nintendo 3DS and Wii U games for online multiplayer comms etc.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;PRUDP&#039;&#039;&#039; is a third-party network protocol used for network communications by some Nintendo software on the 3DS.  It presumably stands for &quot;pretty reliable UDP&quot; or &quot;partially reliable UDP&quot; or some such, and essentially implements TCP-like reliability via sequence numbers and acknowledgement within UDP.  Optionally it also adds security (prudps)&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, via RC4 encryption + hashing&lt;/ins&gt;. This is the protocol used in Nintendo 3DS and Wii U games for online multiplayer comms etc&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. This can be used with [[NWM_Services|UDS]] local-WLAN too&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;At least two different versions of PRUDP seem to be used by Nintendo software: an older version used in the [[Friend Services|Friend services]] and a newer one used in Pokémon X/Y.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;At least two different versions of PRUDP seem to be used by Nintendo software: an older version used in the [[Friend Services|Friend services]] and a newer one used in Pokémon X/Y.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key 3dbrew:diff:1.41:old-12850:rev-16667:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Yellows8</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=PRUDP&amp;diff=12850&amp;oldid=prev</id>
		<title>Yellows8 at 04:36, 20 June 2015</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=PRUDP&amp;diff=12850&amp;oldid=prev"/>
		<updated>2015-06-20T02:36:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:36, 20 June 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;PRUDP&#039;&#039;&#039; is a third-party network protocol used for network communications by some Nintendo software on the 3DS.  It presumably stands for &quot;pretty reliable UDP&quot; or &quot;partially reliable UDP&quot; or some such, and essentially implements TCP-like reliability via sequence numbers and acknowledgement within UDP.  Optionally it also adds security (prudps). This is &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;probably &lt;/del&gt;used for online comms &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in most(?) 3DS games&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;PRUDP&#039;&#039;&#039; is a third-party network protocol used for network communications by some Nintendo software on the 3DS.  It presumably stands for &quot;pretty reliable UDP&quot; or &quot;partially reliable UDP&quot; or some such, and essentially implements TCP-like reliability via sequence numbers and acknowledgement within UDP.  Optionally it also adds security (prudps). This is &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the protocol &lt;/ins&gt;used &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in Nintendo 3DS and Wii U games &lt;/ins&gt;for online &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;multiplayer &lt;/ins&gt;comms &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;etc&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;At least two different versions of PRUDP seem to be used by Nintendo software: an older version used in the [[Friend Services|Friend services]] and a newer one used in Pokémon X/Y.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;At least two different versions of PRUDP seem to be used by Nintendo software: an older version used in the [[Friend Services|Friend services]] and a newer one used in Pokémon X/Y.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key 3dbrew:diff:1.41:old-12676:rev-12850:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Yellows8</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=PRUDP&amp;diff=12676&amp;oldid=prev</id>
		<title>Yellows8: /* Payload */</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=PRUDP&amp;diff=12676&amp;oldid=prev"/>
		<updated>2015-05-22T22:35:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Payload&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:35, 23 May 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l87&quot;&gt;Line 87:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 87:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Payload ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Payload ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The encrypted payload consists of a small header that looks like:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;plaintext form of the RC4 &lt;/ins&gt;encrypted payload consists of a small header that looks like:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key 3dbrew:diff:1.41:old-12674:rev-12676:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Yellows8</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=PRUDP&amp;diff=12674&amp;oldid=prev</id>
		<title>Yellows8 at 15:36, 22 May 2015</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=PRUDP&amp;diff=12674&amp;oldid=prev"/>
		<updated>2015-05-22T13:36:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:36, 22 May 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;PRUDP&#039;&#039;&#039; is a third-party network protocol used for network communications by some Nintendo software on the 3DS.  It presumably stands for &quot;pretty reliable UDP&quot; or &quot;partially reliable UDP&quot; or some such, and essentially implements TCP-like reliability via sequence numbers and acknowledgement within UDP.  Optionally it also adds security (prudps).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;PRUDP&#039;&#039;&#039; is a third-party network protocol used for network communications by some Nintendo software on the 3DS.  It presumably stands for &quot;pretty reliable UDP&quot; or &quot;partially reliable UDP&quot; or some such, and essentially implements TCP-like reliability via sequence numbers and acknowledgement within UDP.  Optionally it also adds security (prudps)&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. This is probably used for online comms in most(?) 3DS games&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;At least two different versions of PRUDP seem to be used by Nintendo software: an older version used in the [[Friend Services|Friend services]] and a newer one used in Pokémon X/Y.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;At least two different versions of PRUDP seem to be used by Nintendo software: an older version used in the [[Friend Services|Friend services]] and a newer one used in Pokémon X/Y.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key 3dbrew:diff:1.41:old-12621:rev-12674:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Yellows8</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=PRUDP&amp;diff=12621&amp;oldid=prev</id>
		<title>FireFly: Add some basic info about the PRUDP protocol used by e.g. the Friend service</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=PRUDP&amp;diff=12621&amp;oldid=prev"/>
		<updated>2015-05-15T16:20:15Z</updated>

		<summary type="html">&lt;p&gt;Add some basic info about the PRUDP protocol used by e.g. the Friend service&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;PRUDP&amp;#039;&amp;#039;&amp;#039; is a third-party network protocol used for network communications by some Nintendo software on the 3DS.  It presumably stands for &amp;quot;pretty reliable UDP&amp;quot; or &amp;quot;partially reliable UDP&amp;quot; or some such, and essentially implements TCP-like reliability via sequence numbers and acknowledgement within UDP.  Optionally it also adds security (prudps).&lt;br /&gt;
&lt;br /&gt;
At least two different versions of PRUDP seem to be used by Nintendo software: an older version used in the [[Friend Services|Friend services]] and a newer one used in Pokémon X/Y.&lt;br /&gt;
&lt;br /&gt;
== Version 1 ==&lt;br /&gt;
This is the version of the protocol used by the [[Friend Services|Friend services]].&lt;br /&gt;
&lt;br /&gt;
=== Packet structure ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 !  Type&lt;br /&gt;
 !  Name&lt;br /&gt;
 !  Description&lt;br /&gt;
 |-&lt;br /&gt;
 |  u16&lt;br /&gt;
 |  src_dst&lt;br /&gt;
 |  Magic: client-to-server (afa1) or server-to-client (a1af)&lt;br /&gt;
 |-&lt;br /&gt;
 |  u16&lt;br /&gt;
 |  op&lt;br /&gt;
 |  Type of packet&lt;br /&gt;
 |-&lt;br /&gt;
 |  u8&lt;br /&gt;
 |  unk1&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |  u32&lt;br /&gt;
 |  unk2&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |  u16&lt;br /&gt;
 |  seqno&lt;br /&gt;
 |  Incrementing ID to pair up data packets and acknowledgement&lt;br /&gt;
 |-&lt;br /&gt;
 |  u8[*]&lt;br /&gt;
 |  payload&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |  u8&lt;br /&gt;
 |  checksum&lt;br /&gt;
 |  seems to be related to the sum of the rest of the fields (mod 256)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Different kinds of packets have different values for the different fields:&lt;br /&gt;
&lt;br /&gt;
* Handshake (1): op=0x40 or op=0x10 (cli-to-serv or serv-to-cli)&lt;br /&gt;
**  unk1, unk2, seqno are 0&lt;br /&gt;
**  payload: u32 unk3;&lt;br /&gt;
&lt;br /&gt;
* Handshake (2): op=0x61 or op=0x11&lt;br /&gt;
**  unk1, seqno are 0&lt;br /&gt;
**  payload: u32 unk3;&lt;br /&gt;
&lt;br /&gt;
* Hangup: op=0x63 or op=0x13&lt;br /&gt;
&lt;br /&gt;
* Heartbeat: op=0x44 or op=0x14&lt;br /&gt;
**  seqno = increasing&lt;br /&gt;
&lt;br /&gt;
* Data packet: op=0x62&lt;br /&gt;
**  seqno = increasing&lt;br /&gt;
**  payload: u8[?] payload;&lt;br /&gt;
&lt;br /&gt;
* Data ack: op=0x12&lt;br /&gt;
**  unk2  = 0x12345678&lt;br /&gt;
**  seqno = corresponding to the data packet being acknowledged&lt;br /&gt;
&lt;br /&gt;
=== Sample session ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Handshake 1   → af a1 40 00 00 00 00 00 00 00 00 00 00 00 00 97&lt;br /&gt;
Handshake 1   ← a1 af 10 00 00 00 00 00 00 00 00 5f 22 68 ea 3a&lt;br /&gt;
Handshake 2   → af a1 61 00 18 5f 22 68 ea 01 00 d4 d6 91 e8 c9&lt;br /&gt;
Handshake 2   ← a1 af 11 00 50 d4 d6 91 e8 01 00 00 00 00 00 de&lt;br /&gt;
Send data     → af a1 62 00 18 26 b4 01 a1 02 00 00 (25 bytes of encrypted payload) ef&lt;br /&gt;
Acknowledge   ← a1 af 12 00 50 78 56 34 12 02 00 00 d1&lt;br /&gt;
Send data     ← a1 af 62 00 50 67 dd f9 c3 01 00 00 (255 bytes of encrypted payload) 03&lt;br /&gt;
Acknowledge   → af a1 12 00 18 78 56 34 12 01 00 00 97&lt;br /&gt;
Send data     → af a1 62 00 18 8d 58 91 c0 03 00 00 (21 bytes of encrypted payload) fa&lt;br /&gt;
Acknowledge   ← a1 af 12 00 50 78 56 34 12 03 00 00 d2&lt;br /&gt;
Send data     ← a1 af 62 00 50 a9 c5 fa 2e 02 00 00 (130 bytes of encrypted payload) 54&lt;br /&gt;
Acknowledge   → af a1 12 00 18 78 56 34 12 02 00 00 98&lt;br /&gt;
Hangup        → af a1 63 00 18 5f 22 68 ea 04 00 aa&lt;br /&gt;
Hangup        ← a1 af 13 00 50 d4 d6 91 e8 04 00 e2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the handshake process, the &amp;lt;code&amp;gt;unk2&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;unk3&amp;lt;/code&amp;gt; fields exhibit a pattern where the &amp;lt;code&amp;gt;unk3&amp;lt;/code&amp;gt; of the preceding packet is used as the &amp;lt;code&amp;gt;unk2&amp;lt;/code&amp;gt; of the next one.  The parties might be agreeing upon a key using a key-exchange scheme?&lt;br /&gt;
&lt;br /&gt;
=== Payload ===&lt;br /&gt;
The encrypted payload consists of a small header that looks like:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 !  Type&lt;br /&gt;
 !  Name&lt;br /&gt;
 !  Description&lt;br /&gt;
 |-&lt;br /&gt;
 |  u32&lt;br /&gt;
 |  length&lt;br /&gt;
 |  Length of the remaining payload (excluding this field)&lt;br /&gt;
 |-&lt;br /&gt;
 |  u8&lt;br /&gt;
 |  op&lt;br /&gt;
 |  Type of packet&lt;br /&gt;
 |-&lt;br /&gt;
 |  u8&lt;br /&gt;
 |  unk1&lt;br /&gt;
 |  (Only for server-to-client messages, seemingly always 1)&lt;br /&gt;
 |-&lt;br /&gt;
 |  u32&lt;br /&gt;
 |  msgid&lt;br /&gt;
 |  Seemingly used to pair up requests and responses&lt;br /&gt;
 |-&lt;br /&gt;
 |  u32&lt;br /&gt;
 |  unk2&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
The encrypted payloads exchanged when first connecting look something like (excluding the header):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
→ string deviceID;&lt;br /&gt;
← u16 unk1; u16 unk2; u32 deviceID; u32 length; u8[length] blob; string connectionString; u8[7] unk3; string buildString;&lt;br /&gt;
→ u32 deviceID; u32 unk1;&lt;br /&gt;
← u16 unk1; u16 unk2; u32 length; u8[length] blob;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; is both length-prefixed (&amp;lt;code&amp;gt;u16&amp;lt;/code&amp;gt;) and zero-terminated (the terminating zero is not included in the length).&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;connectionString&amp;lt;/code&amp;gt; looks like &amp;#039;prudps:/address=203.180.85.79;port=50051;CID=1;PID=2;sid=1;stream=10;type=2&amp;#039; and the &amp;lt;code&amp;gt;buildString&amp;lt;/code&amp;gt; is always &amp;#039;branch:unknown build:2_24_13767_0&amp;#039;.  The &amp;lt;code&amp;gt;deviceID&amp;lt;/code&amp;gt; seems to be unique to each 3DS or perhaps online account (it seems to roughly scale with the age of the 3DS, so that an older 3DS sends a lower ID).&lt;/div&gt;</summary>
		<author><name>FireFly</name></author>
	</entry>
</feed>