{"id":1056,"date":"2021-11-20T19:56:02","date_gmt":"2021-11-20T19:56:02","guid":{"rendered":"https:\/\/droix.co.uk\/knowledge-base\/kb\/netplay-with-the-rg351p-m-a-brief-primer\/"},"modified":"2021-12-29T15:20:12","modified_gmt":"2021-12-29T15:20:12","slug":"netplay-with-the-rg351p-m-a-brief-primer","status":"publish","type":"kb","link":"https:\/\/droix.net\/knowledge-base\/article\/netplay-with-the-rg351p-m-a-brief-primer\/","title":{"rendered":"Netplay With The RG351P\/M \u2013 A Brief Primer"},"content":{"rendered":"\n<p>One of the biggest new features of the RG351P\/M is the introduction of online play. This is made possible through RetroArch&#8217;s built-in netplay functionality.<\/p>\n\n\n\n<p>We at Droix figured we&#8217;d make a small guide showing you how to get it up and running in the fastest possible way, as it might not be immediately apparent, and requires a small amount of setup, so read on and find out!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How It Works<\/h2>\n\n\n\n<p>RetroArch enables multiplayer through the process of synchronizing the state of the game across all connected users over the internet, through the game&#8217;s native local multiplayer system. This is slightly different from traditional online play.<\/p>\n\n\n\n<p>Typically online multiplayer works something like this:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/droix.net\/knowledge-base\/wp-content\/uploads\/sites\/3\/2021\/11\/multiSystem.png\"><img decoding=\"async\" src=\"https:\/\/droix.net\/knowledge-base\/wp-content\/uploads\/sites\/3\/2021\/11\/multiSystem-300x71.png\" alt=\"\" class=\"wp-image-10102\" \/><\/a><\/figure>\n\n\n\n<p>Everyone has their own console, their own game, and can easily join each-other through built in matchmaking or online party systems.<\/p>\n\n\n\n<p>RetroArch however instead does the following (approximately):<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>It synchronizes the game state -exactly- between all connected players<\/li><li>Connected players each act as a different controller input.<\/li><\/ul>\n\n\n\n<p>So in execution it acts as if someone plugged a controller with a REALLY long cable into the Player 2\/3\/4 port of whatever console you&#8217;re emulating, so something like this:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/droix.net\/knowledge-base\/wp-content\/uploads\/sites\/3\/2021\/11\/sameSystem.png\"><img decoding=\"async\" src=\"https:\/\/droix.net\/knowledge-base\/wp-content\/uploads\/sites\/3\/2021\/11\/sameSystem-300x71.png\" alt=\"\" class=\"wp-image-10103\" \/><\/a><\/figure>\n\n\n\n<p>(There are also built in measures to combat lag in the form of &#8220;rollback&#8221;, but that&#8217;s beyond the scope of this guide.)<\/p>\n\n\n\n<p>So when playing online, there are two important things you must make sure of:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>That all players must have the EXACT SAME copy of the game, and&#8230;<\/li><li>That the game itself actually supports local multiplayer<\/li><\/ul>\n\n\n\n<p>In addition, <strong>PS1, N64 and Dreamcast<\/strong> titles do not support online play at this point in time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Getting Started<\/h2>\n\n\n\n<p>First of all, you&#8217;ll need to connect to your Wi-Fi connection, The RG351 can only recognize signals in the 2.4GHz band, bear in mind.<\/p>\n\n\n\n<p>On the main screen of EmulationStation, press the <strong>start button<\/strong>. The main menu will appear.<\/p>\n\n\n\n<p>Navigate to Network Settings, select it, then choose the &#8220;WIFI SSID&#8221; option. You&#8217;ll see a list of all visible nearby internet connections.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/droix.net\/knowledge-base\/wp-content\/uploads\/sites\/3\/2021\/11\/networkSettings.jpg\"><img decoding=\"async\" src=\"https:\/\/droix.net\/knowledge-base\/wp-content\/uploads\/sites\/3\/2021\/11\/networkSettings-300x207.jpg\" alt=\"\" class=\"wp-image-10117\" \/><\/a><\/figure>\n\n\n\n<p>Once you&#8217;ve located and selected the one you wish to connect to, select the &#8220;WIFI KEY&#8221; option, then input the password for the Wi-Fi connection (if applicable).<\/p>\n\n\n\n<p>Once finished, select the &#8220;BACK&#8221; button. The system will freeze for a minute, indicating it is currently attempting to connect.<\/p>\n\n\n\n<p>If successful, when you open the Network Settings menu again, the &#8220;STATUS&#8221; should read &#8220;CONNECTED&#8221;, and you should also be able to see your device&#8217;s (local) IP address.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hosting<\/h2>\n\n\n\n<p>Enter the RetroPie Quick Menu (press the <strong>left stick<\/strong> and&nbsp;<strong>right stick<\/strong>) and press the&nbsp;<strong>B button<\/strong> to go up a level. Then press right on the&nbsp;<strong>directional pad<\/strong> or&nbsp;<strong>analogue stick<\/strong> until you see an icon that looks like a headset. This is the &#8220;<strong>Netplay<\/strong>&#8221; section.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/droix.net\/knowledge-base\/wp-content\/uploads\/sites\/3\/2021\/11\/QuickMenu.jpg\"><img decoding=\"async\" src=\"https:\/\/droix.net\/knowledge-base\/wp-content\/uploads\/sites\/3\/2021\/11\/QuickMenu-300x197.jpg\" alt=\"\" class=\"wp-image-10118\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/droix.net\/knowledge-base\/wp-content\/uploads\/sites\/3\/2021\/11\/NetplayMenu.jpg\"><img decoding=\"async\" src=\"https:\/\/droix.net\/knowledge-base\/wp-content\/uploads\/sites\/3\/2021\/11\/NetplayMenu-300x200.jpg\" alt=\"\" class=\"wp-image-10116\" \/><\/a><\/figure>\n\n\n\n<p>Select the &#8220;<strong>Host<\/strong>&#8221; option. Then scroll down and tick the &#8220;<strong>Publicly Announce Netplay<\/strong>&#8221; option. Scroll back up and select the &#8220;<strong>Start Netplay Host<\/strong>&#8221; option.<\/p>\n\n\n\n<p>If successful, you should see a message pop up indicating as such (alongside your public-facing IP address).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/droix.net\/knowledge-base\/wp-content\/uploads\/sites\/3\/2021\/11\/successfulConnect.jpg\"><img decoding=\"async\" src=\"https:\/\/droix.net\/knowledge-base\/wp-content\/uploads\/sites\/3\/2021\/11\/successfulConnect-300x225.jpg\" alt=\"\" class=\"wp-image-10119\" \/><\/a><\/figure>\n\n\n\n<p>You are now hosting your room. Once someone joins, they&#8217;ll be able to manipulate whatever Player 2(or 3, or 4) can in the respective game.<\/p>\n\n\n\n<p>If you get the error message &#8220;<strong>Port Mapping Failed<\/strong>&#8221; wait a brief moment, then try hosting again.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Joining<\/h2>\n\n\n\n<p>Before joining a host, please be aware that the ROM file used needs to be EXACTLY the same between all connected users. If there is any difference whatsoever, an error message along the lines of &#8220;Cannot retrieve header&#8221; will appear.<\/p>\n\n\n\n<p>As before, enter the RetroPie menu and navigate to the Netplay section.<\/p>\n\n\n\n<p>Scroll to the bottom and select &#8220;Refresh Netplay Host List&#8221;. You should then see multiple rooms available. These are all other people using RetroArch on various devices (not just RG351&#8217;s!) that are hosting netplay sessions for various games.<\/p>\n\n\n\n<p>Find the one that matches the host (you can see the filename for the game being played, as well as the core, build version of retroarch, and the country of the host). When you find a match, select them, and if all is well you&#8217;ll be connected.<\/p>\n\n\n\n<p>Your game state will immediately advance so that it mirrors the host, so there is no need to worry about &#8220;being on the same screen&#8221;, or anything along those lines.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Leaving<\/h2>\n\n\n\n<p>Open the RetroPie netplay menu once more. You should see a new option &#8220;Disconnect from Netplay Host&#8221;. Select this.<\/p>\n\n\n\n<p>The netplay session will end, and you will no longer be synchronized with the host. Your game will continue to run independently however from the same state as when you left.<\/p>\n\n\n\n<p>We hope you&#8217;ve found this guide useful! If you&#8217;re unsure of anything, have any suggestions, or just want to say thanks, feel free to leave a comment, or send us an email at support@droix.net!<\/p>\n\n\n\n<p>You can also purchase (or pre-order, at the time this guide was written) an RG351P of your very own from us here: https:\/\/droix.net\/products\/rg351p-retro-gaming-handheld<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the biggest new features of the RG351P\/M is the introduction of online play. This is made possible through RetroArch&#8217;s built-in netplay functionality. We at Droix figured we&#8217;d make a small guide showing you how to get it up and running in the fastest possible way, as it might not be immediately apparent, and [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":1057,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"kbtopic":[26,9],"kbtag":[27],"class_list":{"0":"post-1056","1":"kb","2":"type-kb","3":"status-publish","4":"has-post-thumbnail","6":"kbtopic-retro-gaming-handhelds","7":"kbtopic-hardware","8":"kbtag-anbernic"},"_links":{"self":[{"href":"https:\/\/droix.net\/knowledge-base\/wp-json\/wp\/v2\/kb\/1056","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/droix.net\/knowledge-base\/wp-json\/wp\/v2\/kb"}],"about":[{"href":"https:\/\/droix.net\/knowledge-base\/wp-json\/wp\/v2\/types\/kb"}],"author":[{"embeddable":true,"href":"https:\/\/droix.net\/knowledge-base\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/droix.net\/knowledge-base\/wp-json\/wp\/v2\/comments?post=1056"}],"version-history":[{"count":0,"href":"https:\/\/droix.net\/knowledge-base\/wp-json\/wp\/v2\/kb\/1056\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/droix.net\/knowledge-base\/wp-json\/wp\/v2\/media\/1057"}],"wp:attachment":[{"href":"https:\/\/droix.net\/knowledge-base\/wp-json\/wp\/v2\/media?parent=1056"}],"wp:term":[{"taxonomy":"kbtopic","embeddable":true,"href":"https:\/\/droix.net\/knowledge-base\/wp-json\/wp\/v2\/kbtopic?post=1056"},{"taxonomy":"kbtag","embeddable":true,"href":"https:\/\/droix.net\/knowledge-base\/wp-json\/wp\/v2\/kbtag?post=1056"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}