Hoe SjslTech een R36S-cloudgamingserver bouwt met ZimaOS

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Bedankt aan SjslTech voor het verkennen van een creatieve manier om een R36S-handheld toegang te geven tot een grotere spellencollectie zonder elk bestand op de microSD-kaart op te slaan. In zijn video over de R36S-cloudgamingserver vergelijkt hij drie mogelijke SMB-hosts: een Windows-pc, een ZimaBlade met ZimaOS en een tweede R36S.

De term ‘cloudgaming’ vereist hier een belangrijke verduidelijking. Dit project streamt geen gerenderde video vanaf een gaming-pc via Sunshine of Moonlight. In plaats daarvan slaat de server de gamebestanden op en benadert de R36S die collectie via het lokale netwerk. De emulatie vindt nog steeds op de handheld zelf plaats.

Dat onderscheid maakt het experiment bijzonder relevant voor retrogaming. Kleine gamebestanden kunnen vanaf een netwerkshare worden gelezen, terwijl de R36S alleen het besturingssysteem en essentiële lokale gegevens op de SD-kaart bewaart. De test van SjslTech stelt een praktische vraag: welk apparaat is de nuttigste host voor die gedeelde collectie?

Bekijk dit voordat je de installatie uitvoert: De video laat de volledige workflow en de verschillen tussen de drie serveropties zien. Netwerkadressen, mapnamen, gebruikersnamen, firmwarepaden en beschikbare menuopties verschillen per installatie.

Bron- en veiligheidsopmerking: Dit artikel ordent het proces dat door SjslTech wordt getoond opnieuw en legt de netwerkkeuzes erachter uit. De auteur verklaart dat er geen geld is uitgewisseld en dat de meningen in de video van hemzelf zijn. Gebruik alleen homebrewgames, spellen uit het publieke domein of back-ups die je wettelijk mag opslaan. Maak een back-up van de SD-kaart van de R36S voordat je koppelingen, scripts of spellencategorieën wijzigt.

R36S-retrohandheld naast een ZimaBlade die wordt gebruikt als ZimaOS SMB-spelserver

SjslTech plaatst de R36S naast de compacte ZimaBlade, die een via het netwerk toegankelijke spellencollectie host.

Wat de R36S Cloud Gaming Server van SjslTech daadwerkelijk doet

Het project scheidt opslag van emulatie. De server stelt via Server Message Block, of SMB, een gamemap beschikbaar, terwijl de handheld die externe map koppelt aan /romsEmulationStation leest de netwerkmap vervolgens alsof het de normale lokale spellencollectie is.

SjslTech heeft een opensource R36S Easyroms SMB Manager gemaakt om het wisselen tussen opslagbronnen eenvoudiger te maken. Het script ondersteunt vier serverprofielen. Elk profiel kan een weergavenaam, IP-adres van de server, SMB-share-naam, wachtwoordinstelling, gebruikersnaam en wachtwoord bevatten.

Wanneer een profiel wordt geselecteerd, doet het hulpprogramma het volgende:

  1. Controleert of de CIFS-koppelingstools beschikbaar zijn en probeert ze te installeren cifs-utils indien vereist.
  2. Verbreekt de bestaande koppeling met /roms.
  3. Koppelt de geselecteerde SMB 3.0-share aan /roms.
  4. Start EmulationStation opnieuw, zodat de netwerkgamelibliotheek in de interface verschijnt.

Het menu bevat ook een optie om de verbinding te verbreken. Hiermee wordt de netwerkshare ontkoppeld, de normale lokale mountconfiguratie hersteld en EmulationStation opnieuw gestart. Zo blijft het project omkeerbaar: de handheld kan terugkeren naar games die op de SD-kaart zijn opgeslagen wanneer de server niet beschikbaar is.

Wat je nodig hebt voordat je begint

De workflow van SjslTech is meer afhankelijk van netwerk- en mapvoorbereiding dan van krachtige serverhardware. Voor een praktische installatie heb je het volgende nodig:

  • Een R36S met een compatibele systeemindeling met EmulationStation en een /roms koppelpunt
  • Een werkende wifi-verbinding op de R36S
  • Een Windows-pc, ZimaOS-server, Linux-server, NAS of compatibele handheld die een map via SMB kan delen
  • Een gamemap die is georganiseerd volgens de structuur die de handheld verwacht
  • Het lokale IP-adres van de server, de SMB-sharenaam en eventuele vereiste inloggegevens
  • Een volledige back-up van de huidige SD-kaart van de handheld

De tool is gebaseerd op de SjslTech-workflow met dArkOS/Easyroms. Gebruikers van andere R36S-firmware moeten de mappenstructuur, het opstartgedrag, CIFS-ondersteuning en de EmulationStation-configuratie daarvan controleren voordat ze hetzelfde script toepassen.

Waarom de ZimaBlade geschikt is voor dit soort retro-gamelbibliotheek

De server die in de hele video wordt getoond, is een ZimaBlade x86-singleboardserver met 16 GB geheugen. De server dient voor opslag en bestandsdeling, niet voor het renderen van games. Daardoor profiteert het project van de eigenschappen van een compacte thuisserver: laag energieverbruik, Ethernet-connectiviteit, directe uitbreiding van opslag en de mogelijkheid om beschikbaar te blijven zonder een desktop-pc ingeschakeld te laten.

Dankzij native SATA-connectiviteit kan een grotere SSD of harde schijf de bibliotheek bevatten. De gamebestanden hoeven niet langer op de SD-kaart van elke handheld te passen en meerdere compatibele clients kunnen naar dezelfde centrale map verwijzen.

-47% OFF

Optie 1: De R36S-gamemap delen vanuit Windows

Het eerste serverpad gebruikt een Windows-computer. Dit is het meest vertrouwde startpunt voor gebruikers die hun gameback-ups al op een pc beheren.

Stap 1: De gamemap voorbereiden

Maak de gamemap aan op, of kopieer deze naar, een schijf met voldoende vrije ruimte. Behoud de mappen en bestandsnamen die de R36S-front-end verwacht. Een willekeurige verzameling bestanden naar één platte map verplaatsen kan voorkomen dat EmulationStation games aan de juiste systemen koppelt.

Stap 2: Windows-mapdeling inschakelen

Deel de bibliotheekmap via de instellingen voor Windows-bestandsdeling. Noteer het lokale IP-adres van de computer en de exacte naam van de netwerkshare. Als voor de share verificatie vereist is, gebruik dan een speciaal account dat alleen toegang heeft tot de gamemap in plaats van een beheerdersaccount.

Stap 3: Voeg de Windows-share toe aan het R36S-hulpprogramma

Configureer een van de snelkoppelingsvelden van het script met de vereiste indeling:

NAAM_VAN_SNELKOPPELING|SERVER_IP|SHARE_PAD|HEEFT_WACHTWOORD|GEBRUIKER|WACHTWOORD

Bij een gastshare blijven de velden voor de uiteindelijke gebruikersnaam en het wachtwoord leeg. Bij een geverifieerde share wordt de wachtwoordinstelling gewijzigd in ja en de aanmeldgegevens zijn ingevoerd. Het IP-adres en de sharenaam moeten exact overeenkomen met de Windows-configuratie.

Stap 4: Koppel de share en vernieuw EmulationStation

Start SMB Manager op de R36S en selecteer het Windows-profiel. Bij een geslaagde verbinding wordt de Windows-map gekoppeld als /roms en start EmulationStation opnieuw. De systemen en games die op de pc zijn opgeslagen, zouden vervolgens in de interface van de handheld moeten verschijnen.

Windows is handig voor een eerste test, maar heeft een praktische beperking: de pc moet ingeschakeld en actief blijven, met het netwerk verbonden zijn en bereikbaar blijven op het geconfigureerde adres wanneer de R36S de bibliotheek nodig heeft.

Optie 2: Gebruik ZimaOS als een R36S-gameserver die altijd actief is

Om 9:17 past SjslTech hetzelfde idee toe op ZimaOS. Dit is het meer servergerichte deel van het experiment, omdat de gamebibliotheek beschikbaar kan blijven vanaf een compact systeem zonder de toegang te koppelen aan een algemene Windows-desktop.

ZimaOS-dashboard op ZimaBlade tijdens het configureren van een SMB-bibliotheek voor R36S-games

Het ZimaOS-dashboard biedt browsergebaseerde toegang tot opslag, bestanden, netwerken en serverinstellingen.

Stap 1: Open het ZimaOS-dashboard

Verbind de ZimaBlade met het thuisnetwerk en open het ZimaOS-adres vanaf een andere computer. In de demonstratie van SjslTech wordt het dashboard geopend via een lokaal 192.168.1.x adres. Je server ontvangt normaal gesproken een ander adres van de router.

Als het adres later verandert, kan het R36S-profiel de share niet meer vinden. Een DHCP-reservering op de router heeft daarom de voorkeur boven het steeds aanpassen van elke handheldconfiguratie.

Stap 2: Maak de gedeelde bibliotheek aan en vul deze

Gebruik bestandsbeheer in ZimaOS om een speciale gamemap aan te maken op het geselecteerde opslagapparaat. Kopieer de legaal verkregen gameback-ups naar de verwachte systeemmappen en controleer voordat je de handheld configureert of de server de volledige mappenstructuur kan zien.

Gebruikers die nog niet vertrouwd zijn met de interface kunnen de bijbehorende gebruiksvriendelijke ZimaOS-homeservergids raadplegen voor een uitgebreidere uitleg over browsergebaseerd opslag- en applicatiebeheer.

Stap 3: Stel de map beschikbaar via SMB

Schakel LAN-delen in voor de gamemap en noteer de resulterende SMB-sharenaam. Gebruik bij voorkeur een geverifieerd account met beperkte toegang. Gasttoegang kan een tijdelijke test vereenvoudigen, maar een onbeperkte schrijfbare share is geen goede standaard op een netwerk dat door andere mensen of niet-vertrouwde apparaten wordt gebruikt.

Stap 4: Configureer het ZimaOS-profiel op de R36S

Voeg het lokale IP-adres, de sharenaam en de inloggegevens van de ZimaBlade toe aan een andere snelkoppeling in SMB Manager. Omdat het hulpprogramma meerdere profielen ondersteunt, kunnen de Windows- en ZimaOS-definities naast elkaar bestaan. De handheld kan ertussen schakelen zonder de configuratie telkens opnieuw op te bouwen.

Stap 5: Test een game uit de netwer bibliotheek

Selecteer het ZimaOS-profiel, laat het script EmulationStation opnieuw starten en start een lichte game. De test van SjslTech laat zien dat de R36S een titel laadt en afspeelt terwijl de bibliotheek elders op het netwerk wordt gehost.

R36S speelt een retrogame uit een netwer bibliotheek die via ZimaOS wordt gehost

De handheld voert de emulatie lokaal uit en leest het gamebestand vanaf de ZimaOS SMB-share.

Deze configuratie moet niet worden verward met het uitvoeren van de emulator op ZimaBlade. ZimaOS serveert bestanden; de CPU en emulator van de R36S bepalen nog steeds de compatibiliteit, framerate, bediening en renderkwaliteit.

Optie 3: Maak van een tweede R36S de SMB-host

Bij het laatste experiment worden zowel de Windows-pc als de speciale thuisserver weggelaten. SjslTech configureert een andere R36S zodat de eigen gamestorage bereikbaar wordt via het netwerk en verbindt vervolgens de eerste handheld ermee.

Dit is de meest onconventionele optie. Het laat zien dat een goedkope Linux-handheld een kleine netwerkrol kan vervullen, maar hij is minder geschikt als permanente infrastructuur. De host-R36S moet ingeschakeld blijven, verbonden zijn met wifi en beschikbaar zijn wanneer de client zijn bibliotheek wil gebruiken. De opslag, draadloze verbinding, het batterijgedrag en het thermische ontwerp zijn ook minder praktisch dan die van een speciale server.

Twee R36S-handhelds tonen afzonderlijke LAN-adressen naast een ZimaBlade-server

Twee R36S-handhelds verschijnen op hetzelfde LAN met verschillende IP-adressen, als illustratie van de netwerktest met meerdere apparaten.

De aanpak met twee handhelds kan het best worden gezien als een proof-of-concept of methode voor tijdelijk delen. Deze aanpak kan nuttig zijn voor experimenten, maar ZimaOS biedt duidelijker opslagbeheer en een natuurlijkere rol als apparaat dat altijd ingeschakeld is.

Windows versus ZimaOS versus een andere R36S

SMB-host Belangrijkste voordeel Belangrijkste beperking Beste toepassing
Windows-pc Vertrouwde workflow voor het delen van mappen en eenvoudig bestandsbeheer De pc moet ingeschakeld en bereikbaar blijven Eerste tests en incidenteel gebruik
ZimaOS op ZimaBlade Toegewijde, uitbreidbare en via een browser beheerde opslag Vereist een afzonderlijke server- en opslagconfiguratie Regelmatig thuisgebruik en gecentraliseerde bibliotheken
Tweede R36S Delen tussen apparaten zonder conventionele server demonstreren Beperkte opslag, energiebeheer en draadloze betrouwbaarheid Experimenten en tijdelijk delen

Belangrijke beperkingen op het gebied van netwerk, beveiliging en betrouwbaarheid

Een geslaagde demonstratie betekent niet dat elke game via wifi even goed zal werken. Kleine bestanden uit het cartridge-tijdperk zijn veel geschikter dan schijfimages die regelmatig of langdurig lezen. De resultaten kunnen veranderen door signaalsterkte, routercongestie, de opslagsnelheid van de server, firmware, het gedrag van de emulator en het aantal actieve clients.

  • Houd SMB op het vertrouwde LAN. Stuur geen SMB-poorten van de router door naar het openbare internet.
  • Gebruik een gereserveerd serveradres. Een veranderend IP-adres verbreekt de opgeslagen snelkoppeling.
  • Gebruik geen beheerdersinloggegevens. Gebruik een beperkt account dat alleen toegang heeft tot de vereiste map.
  • Bescherm inloggegevens. De profielindeling van het hulpprogramma slaat gebruikersnamen en wachtwoorden rechtstreeks op in het shellscript, zodat iedereen die het bestand kan lezen deze inloggegevens mogelijk ook kan lezen.
  • Maak afzonderlijk een back-up van opgeslagen spelgegevens. Het centraliseren van gamebestanden maakt niet automatisch een back-up van opgeslagen spelgegevens, configuratiebestanden of de serverschijf.
  • Houd een lokale fallback aan. Bewaar essentiële games op de SD-kaart voor momenten waarop het netwerk of de server niet beschikbaar is.

Problemen met een R36S SMB-koppeling oplossen

Als de netwerkbibliotheek niet verschijnt, controleer dan dezelfde drie punten die door het hulpprogramma van SjslTech worden weergegeven:

  1. Controleer of het geconfigureerde IP-adres van de server actief en bereikbaar is vanaf hetzelfde netwerk.
  2. Controleer of de naam van de SMB-share exact is gespeld zoals die op de server wordt weergegeven.
  3. Controleer of gasttoegang of de opgegeven gebruikersnaam en het wachtwoord overeenkomen met de serverrechten.

Controleer ook of de R36S tijdens de eerste start internettoegang heeft als het script moet installeren cifs-utils. Als een koppeling slaagt maar de bibliotheek onvolledig lijkt, controleer dan de mappenstructuur en start EmulationStation opnieuw. Om terug te keren naar de SD-kaart gebruik je de ontkoppeloptie van het hulpprogramma, in plaats van opslag te verwijderen of het apparaat uit te schakelen tijdens een actieve koppeling.

Een kleine homeserver maakt de R36S-bibliotheek flexibeler

Het experiment van SjslTech is waardevol omdat het een opslagbeperking herkadert als een netwerkproject. De R36S hoeft niet elk spel lokaal op te slaan als hij een compatibele SMB-bibliotheek vanaf een ander systeem kan koppelen.

Windows is de snelste vertrouwde test. Een tweede R36S laat zien hoe flexibel betaalbare Linux-hardware kan zijn. De ZimaOS-configuratie is echter de meest natuurlijke langetermijnarchitectuur die in de video wordt getoond: ZimaBlade verzorgt gecentraliseerde opslag en netwerkbeschikbaarheid, terwijl elke handheld verantwoordelijk blijft voor de emulatie.

Bekijk de volledige R36S-serververgelijking van SjslTech en bekijk de eerste Cloud Powered R36S-video voor de achtergrond aan de clientzijde van dit project.

Als je een vergelijkbare retro-gamingbibliotheek opbouwt, problemen met een SMB-share oplost of met ZimaOS experimenteert, word dan lid van de ZimaSpace-community om configuraties te vergelijken en te delen wat op jouw hardware werkte.

Zima Campagnecentrum

Meer om te lezen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.