Inhoudsopgave:

Doe alsof je Xyzzy Server bent op Raspberry Pi - Ajarnpa
Doe alsof je Xyzzy Server bent op Raspberry Pi - Ajarnpa

Video: Doe alsof je Xyzzy Server bent op Raspberry Pi - Ajarnpa

Video: Doe alsof je Xyzzy Server bent op Raspberry Pi - Ajarnpa
Video: COC TH 13 CHRISTMAS SPECIAL LIVE 2024, Juli-
Anonim
Doe alsof je Xyzzy Server bent op Raspberry Pi
Doe alsof je Xyzzy Server bent op Raspberry Pi

Deze handleiding laat je zien hoe je een Pretend You're Xyzzy (PYX)-server op een Raspberry Pi instelt. Ik noem het een XyzzyPi

Pretend You're Xyzzy is een online, open-source Cards Against Humanity-kloon die in een webbrowser wordt gespeeld.

Op Android kun je ook de Client for Pretend You're Xyzzy app gebruiken.

Toen ik begon te zoeken naar het opzetten van mijn eigen PYX-server, vond ik het moeilijk om instructies te vinden die niet verouderd waren en die gemakkelijk te volgen waren. Het leek erop dat de meeste waren geschreven voor mensen die al enige ervaring hadden met het opzetten van een PYX-server. Ik kon dingen uitzoeken, maar ik wilde een stapsgewijze handleiding maken voor degenen die minder technisch onderlegd zijn of niet veel ervaring hebben met dergelijke dingen. Ik kon ook geen instructies vinden om het op een Raspberry Pi te laten werken. Na wat vallen en opstaan was ik in staat om de PYX-server op een Pi te laten draaien met slechts enkele kleine aanpassingen aan de bestanden. Ik hoop dat dit wat tijd bespaart voor de geïnteresseerden.

Ik heb dit gedaan op een Pi 3 model B+ en een Pi 4 model B 4GB. Er zijn enkele problemen met het gebruik van een Pi Zero W omdat de processor een Java-VM niet correct verwerkt. Ik probeer het momenteel werkend te krijgen op een Zero W en zal de instructies bijwerken als dat lukt. Ik heb geen Pi 1 of 2 om op te testen, dus dit kan wel of niet met die werken.

Ik heb geprobeerd deze tutorial gemakkelijk te volgen te maken voor mensen van alle vaardigheidsniveaus, dus er kunnen dingen in staan die je al weet.

Als je al weet hoe je Raspbian moet installeren en verbinding moet maken met je Pi, ga dan naar stap 6

Als je ervaring hebt met het opzetten van een PYX-server en je wilt alleen de bewerkingen weten die nodig zijn om het op een Pi te laten werken, ga dan naar stap 13

Disclaimer: ik heb Pretend You're Xyzzy of de Android-client-app niet gemaakt.

Krediet voor het maken van Pretend You're Xyzzy gaat naar GitHub-gebruiker ajanata (https://github.com/ajanata/PretendYoureXyzzy)

Krediet voor het maken van Client For Pretenten You're Xyzzy gaat naar Gianlu (https://play.google.com/store/apps/dev?id=8675761046824387020)

Als er iemand is die ik heb gemist, laat het me dan weten.

Benodigdheden

Hardware:

Raspberry Pi 3 of 4

Micro SD-kaart (ik gebruik micro SD-kaarten van 32 GB, want dat is wat ik bij de hand heb. Je kunt waarschijnlijk rondkomen met slechts 2 GB, maar ik zou ten minste 4 GB aanraden.)

Pc met SD-kaartlezer (ik gebruik Windows voor deze tutorial. Als je Linux gebruikt, ben je waarschijnlijk al bekend met veel van deze dingen, dus pas de instructies indien nodig aan.)

Software:

Raspbian-afbeelding: https://www.raspberrypi.org/downloads/raspbian/ (Alles zou moeten werken. Ik gebruik Raspbian Buster Lite op het moment van schrijven.)

Win32 Disk Imager: https://sourceforge.net/projects/win32diskimager/ (Er zijn andere programma's die u kunt gebruiken om de Raspbian-afbeelding te flashen, maar dit is mijn persoonlijke voorkeur.)

Putty:

Stap 1: Flash Raspbian op uw SD-kaart

Flash Raspbian op uw SD-kaart
Flash Raspbian op uw SD-kaart

Plaats uw SD-kaart in de kaartlezer van uw computer voordat u Win32 Disk Imager opent. Selecteer vervolgens uw Raspbian-afbeelding en de stationsletter van uw SD-kaart en klik op "Schrijven".

LET OP: Alles op de SD-kaart wordt verwijderd en overschreven. Als er belangrijke gegevens op de SD-kaart staan, maak er dan eerst een back-up van. Zorg er ook voor dat u de juiste stationsletter voor uw SD-kaart selecteert. Anders zou u per ongeluk de verkeerde schijf kunnen wissen/overschrijven

Als het klaar is, heb je twee afzonderlijke schijven op je SD-kaart. Ooit boot genoemd en een die Windows niet kan lezen. U krijgt waarschijnlijk een pop-up in Windows waarin u wordt gevraagd de kaart te formatteren. Klik gewoon op annuleren. Als je het toch formatteert, moet je Raspbian opnieuw flashen.

Stap 2: Maak een tekstbestand met de naam "wpa_supplicant.conf" op de opstartschijf

Maak een tekstbestand met de naam
Maak een tekstbestand met de naam

Maak op de opstartschijf van de SD-kaart een tekstbestand met de naam wpa_supplicant.conf en plak de onderstaande code erin. Vervang "wifi-naam" en "wachtwoord" door uw werkelijke wifi-naam en wachtwoord, maar bewaar de aanhalingstekens eromheen. Bewaar het bestand.

Hierdoor kan je Pi verbinding maken met je wifi. Als je een ethernetkabel gebruikt om je Pi met je netwerk te verbinden, kun je deze stap waarschijnlijk overslaan.

Zorg ervoor dat de bestandsextensie correct is. Het moet wpa_supplicant.conf zijn en niet wpa_supplicant.conf.txt

country=usupdate_config=1 ctrl_interface=/var/run/wpa_supplicant

netwerk={

scan_ssid=1 ssid="wifi-naam" psk="wachtwoord"}

Stap 3: Maak een leeg bestand met de naam "ssh" op de opstartschijf

Maak een leeg bestand met de naam
Maak een leeg bestand met de naam

Maak op de opstartschijf van de SD-kaart een leeg bestand met de naam ssh

Er hoeft niets in te staan, het moet alleen de juiste naam hebben.

Hierdoor wordt ssh op je Pi ingeschakeld, waardoor je er verbinding mee kunt maken met behulp van Putty.

Zorg ervoor dat het bestand gewoon ssh heet zonder extensie. Niet ssh.txt enz

Stap 4: Werp de SD-kaart uit uw pc, plaats deze in uw Pi en schakel uw Pi in

Werp de SD-kaart uit uw pc, plaats deze in uw Pi en schakel uw Pi in.

Als alles werkte, zal je Pi opstarten en verbinding maken met je wifi.

Geef het een paar minuten om de initiële instellingen te doorlopen.

Stap 5: Maak verbinding met uw Pi met Putty

Maak verbinding met uw Pi met behulp van Putty
Maak verbinding met uw Pi met behulp van Putty
Maak verbinding met uw Pi met behulp van Putty
Maak verbinding met uw Pi met behulp van Putty

Open Putty en typ raspberrypi in het vak Hostnaam en zorg ervoor dat het verbindingstype SSH is en dat de poort 22 is. Als het verbinding maakt, wordt u naar een zwart scherm geleid met tekst erop, een zogenaamde terminal. Het zal om uw gebruikersnaam en wachtwoord vragen. De standaard gebruikersnaam is "pi" en het standaard wachtwoord is "raspberry". Het wordt ten zeerste aanbevolen om het wachtwoord te wijzigen, vooral als u van plan bent uw Pi aan internet bloot te stellen. Typ hiervoor "passwd" zodra u bent ingelogd en volg de aanwijzingen. Zorg ervoor dat u een wachtwoord kiest dat u zult onthouden.

Als het geen verbinding maakt, moet u mogelijk het IP-adres vinden dat uw Pi gebruikt. Er zijn meerdere manieren om dit te doen, maar persoonlijk log ik gewoon in op mijn router en controleer ik de lijst met aangesloten apparaten. Zodra u het IP-adres van uw Pi vindt, typt u dat in het vak Hostnaam in Putty in plaats van raspberrypi en probeert u opnieuw verbinding te maken.

Als u nog steeds geen verbinding kunt maken, heeft u het ssh-bestand mogelijk niet correct gemaakt. Lees de vorige stappen door en controleer alles nogmaals.

Stap 6: Optioneel: verander de hostnaam van uw Pi

Optioneel: verander de hostnaam van je Pi
Optioneel: verander de hostnaam van je Pi
Optioneel: verander de hostnaam van je Pi
Optioneel: verander de hostnaam van je Pi
Optioneel: verander de hostnaam van je Pi
Optioneel: verander de hostnaam van je Pi

Dit is niet nodig, maar ik heb liever de hostnaam van mijn Pi als iets dat relevant is voor waar het voor wordt gebruikt in plaats van alleen de generieke "raspberrypi". In dit geval heb ik het "xyzzypi" genoemd, maar je kunt het noemen wat je wilt.

Om het type hostnaam te wijzigen:

sudo raspi-config

Selecteer netwerkopties

Selecteer hostnaam

Voer de hostnaam in die je wilt

Selecteer Voltooien

Er wordt gevraagd of je de Pi nu opnieuw wilt opstarten. De nieuwe hostnaam wordt pas van kracht als u opnieuw opstart. Als u dat doet, wordt uw Putty-sessie verbroken. Zodra het opnieuw opstarten is voltooid, moet u de nieuwe hostnaam gebruiken die u hebt ingesteld om opnieuw verbinding te maken met Putty. Als u verbinding maakte met het IP-adres in plaats van de hostnaam, zou dit nog steeds hetzelfde moeten zijn.

Er zijn veel andere opties die je kunt instellen met behulp van de raspi-config tool, maar er zijn al genoeg tutorials over online, dus ik zal er hier niet op ingaan.

Stap 7: Update uw applicatiepakketten

Update uw toepassingspakketten
Update uw toepassingspakketten

Werk uw toepassingspakketten bij met de volgende opdracht:

sudo apt-get update

Laat het draaien totdat het klaar is.

Opmerking: Technisch gezien hoeft u "apt-get" niet meer te typen, u kunt gewoon "apt" typen. Ik ben echter zo gewend om "apt-get" te typen dat het op dit moment alleen maar spiergeheugen voor mij is.

Stap 8: Git. installeren

Git. installeren
Git. installeren

Zodra de toepassingspakketten zijn bijgewerkt, installeert u Git met behulp van de volgende opdracht:

sudo apt-get -y install git

Laat het lopen totdat het klaar is.

Stap 9: Installeer Maven

Maven installeren
Maven installeren

Installeer Maven met de volgende opdracht:

sudo apt-get -y install maven

Laat het lopen tot het klaar is

Stap 10: Download de Doen alsof je Xyzzy Server-bestanden bent

Download de Doen alsof je Xyzzy Server-bestanden bent
Download de Doen alsof je Xyzzy Server-bestanden bent

Download de Pretend You're Xyzzy-serverbestanden met de volgende opdracht:

git kloon git://github.com/ajanata/PretendYoureXyzzy.git

Hiermee wordt een map op je Pi gemaakt met de naam PretendYoureXyzzy en worden de bestanden erin gedownload.

Laat het lopen totdat het klaar is.

Stap 11: Ga naar de PretendYoureXyzzy-directory

Ga naar de PretendYoureXyzzy-directory
Ga naar de PretendYoureXyzzy-directory

Ga naar de map PretendYoureXyzzy met de volgende opdracht:

cd Doe alsof jeXyzzy bent

Opmerking: Linux-commando's zijn hoofdlettergevoelig, dus cd PretendYoureXyzzy zal werken, maar cd pretendyourexyzzy niet.

Stap 12: Open en bewerk het bestand "build.properties.example" en sla het op als "build.properties"

Open en bewerk de
Open en bewerk de
Open en bewerk de
Open en bewerk de
Open en bewerk de
Open en bewerk de

Open het bestand build.properties.example met nano-teksteditor met behulp van de volgende opdracht:

sudo nano build.properties.example

Het gebruik van een op een terminal gebaseerde teksteditor kan een beetje intimiderend lijken voor degenen die er niet aan gewend zijn, maar wat we doen is heel eenvoudig.

Gebruik de pijl-omlaag om naar beneden te scrollen totdat u de secties vindt met de tekst "hibernate.username" en "hibernate.password".

Gebruik de rechterpijltoets om naar het einde van die regels te gaan en de gebruikersnaam en het wachtwoord in iets anders te veranderen. Eerlijk gezegd weet ik niet of het zelfs echt nodig is, maar ik voel me niet op mijn gemak om ze op de standaard gebruikersnaam en het wachtwoord te laten waarmee ze zijn meegeleverd.

Nadat u ze hebt gewijzigd, drukt u op ctrl+o om het dialoogvenster voor opslaan te openen.

Backspace om de ".example" aan het einde van de bestandsnaam te verwijderen, zodat u alleen "build.properties" overhoudt

Er wordt gevraagd of u het bestand onder een andere naam wilt opslaan. Druk op y voor ja.

Druk op ctrl+x om de nano-teksteditor te sluiten.

Stap 13: Open en bewerk het "pom.xml"-bestand (DIT IS WAAROM HET OP een PI WORDT UITGEVOERD)

Open en bewerk de
Open en bewerk de
Open en bewerk de
Open en bewerk de

Open het pom.xml-bestand met nano-teksteditor met behulp van de volgende opdracht:

sudo nano pom.xml

Scroll naar beneden zoals je eerder deed. Deze keer is de regel die u zoekt sqlite-jdbc

Net onder die regel staat een regel met een versienummer. U moet dat nummer wijzigen in 3.28.0 zodat het er als volgt uitziet:

3.28.0

Nadat u het versienummer hebt bewerkt, drukt u op ctrl+o om het dialoogvenster voor opslaan te openen.

Bewaar de bestandsnaam als "pom.xml" en sla het op.

Zodra het is opgeslagen, drukt u op ctrl+x om de nano-teksteditor te sluiten.

Dit is de bewerking die ervoor zorgt dat de Pretend You're Xyzzy-server op een Pi draait. De sqlite-jdbc-versie die wordt meegeleverd, werkt niet correct op een Pi. Versie 3.28.0 werkt tot nu toe prima in mijn tests

Stap 14: Start de alsof je een Xyzzy-server bent en zorg ervoor dat het werkt

Start de Doe alsof je een Xyzzy-server bent en zorg ervoor dat het werkt
Start de Doe alsof je een Xyzzy-server bent en zorg ervoor dat het werkt
Start de Doe alsof je een Xyzzy-server bent en zorg ervoor dat het werkt
Start de Doe alsof je een Xyzzy-server bent en zorg ervoor dat het werkt
Start de Doe alsof je een Xyzzy-server bent en zorg ervoor dat het werkt
Start de Doe alsof je een Xyzzy-server bent en zorg ervoor dat het werkt

Nu je de nodige wijzigingen hebt aangebracht om een Pretend You're Xyzzy-server op je Pi te laten draaien, laten we hem opstarten en kijken of alles werkt. Start de server met de volgende opdracht:

mvn schoon pakket war:exploded jetty:run -Dmaven.buildNumber.doCheck=false -Dmaven.buildNumber.doUpdate=false

Het zal enkele extra bestanden downloaden, compileren en de server starten. Dit duurt waarschijnlijk een paar minuten.

Opmerking: momenteel is dit de enige manier waarop ik weet hoe ik de server moet laten werken, zodat deze elke keer dat u hem start, wordt gecompileerd.

Je weet dat het klaar is wanneer je een bericht krijgt met de melding "Console herladen is INGESCHAKELD. Druk op ENTER op de console om de context opnieuw te starten."

Op dit punt kunt u uw browser openen en aan het einde de hostnaam (of IP-adres) van de Pi invoeren die poort 8080 toevoegt. Dus hostnaam:8080 of IP:8080

Als je xyzzypi als hostnaam zou gebruiken, zou het xyzzypi:8080 zijn of in mijn geval als je het IP-adres zou gebruiken, zou het 192.168.1.189:8080 zijn

Als alles werkte, kom je op de hoofdpagina Doen alsof je Xyzzy bent.

Gefeliciteerd! Je hebt het gedaan

Op dit moment wordt het echter alleen uitgevoerd als u zich met Putty op uw Pi aanmeldt en de bovenstaande opdracht uitvoert om de server te starten. Zodra u Putty sluit, stopt de server. Dit kan voor sommige mensen prima zijn, maar misschien wilt u dat de Pretend You're Xyzzy-server automatisch wordt uitgevoerd wanneer de Pi opstart of opnieuw wordt opgestart zonder dat u zich hoeft aan te melden. De volgende stappen zullen behandelen om dat te laten werken.

Stap 15: Maak een script om de Pretend You're Xyzzy Server te starten

Maak een script om te doen alsof je een Xyzzy-server bent
Maak een script om te doen alsof je een Xyzzy-server bent
Maak een script om te doen alsof je een Xyzzy-server bent
Maak een script om te doen alsof je een Xyzzy-server bent

Als we willen dat de Pretend You're Xyzzy-server automatisch start wanneer de Pi opstart of opnieuw opstart, moeten we eerst een script maken.

Druk op ctrl+c om de server te stoppen.

Zodra het stopt, typt u de volgende opdracht:

sudo nano xyzzy.sh

Opmerking: ik heb mijn script xyzzy.sh genoemd, maar je kunt het noemen wat je maar wilt. Zorg ervoor dat het.sh als bestandsextensie heeft.

Gebruik nano-teksteditor, typ of plak het volgende in het bestand:

#!/bin/bashcd /home/pi/PretendYoureXyzzy mvn clean package war:exploded jetty:run -Dmaven.buildNumber.doCheck=false -Dmaven.buildNumber.doUpdate=false

Druk op ctrl+o om het dialoogvenster voor opslaan te openen

Sla het bestand op en druk op ctrl+x om nano te sluiten

Stap 16: Maak uw script uitvoerbaar

Maak uw script uitvoerbaar
Maak uw script uitvoerbaar

We moeten het script uitvoerbaar maken met de volgende opdracht:

sudo chmod 755 xyzzy.sh

Opmerking: als u uw script in de vorige stap een andere naam hebt gegeven, gebruik dan in plaats daarvan die bestandsnaam.

Stap 17: Maak een Crontab-item om uw script automatisch uit te voeren bij het opstarten

Maak een Crontab-item om uw script automatisch uit te voeren bij het opstarten
Maak een Crontab-item om uw script automatisch uit te voeren bij het opstarten
Maak een Crontab-item om uw script automatisch uit te voeren bij het opstarten
Maak een Crontab-item om uw script automatisch uit te voeren bij het opstarten
Maak een Crontab-item om uw script automatisch uit te voeren bij het opstarten
Maak een Crontab-item om uw script automatisch uit te voeren bij het opstarten

Er zijn meerdere manieren om een script bij het opstarten uit te voeren. Ik gebruik crontab hier.

Bewerk de crontab-tabellen met de volgende opdracht:

crontab -e

Er wordt gevraagd welke editor je wilt gebruiken. Typ 1 en druk op enter om nano te gebruiken.

Zodra het is geopend, scrolt u helemaal naar beneden en voegt u de volgende regel toe:

@reboot /home/pi/PretendYoureXyzzy/xyzzy.sh

Opmerking: Nogmaals, als je een andere bestandsnaam voor je script hebt gebruikt, typ dan dat.

Druk op ctrl+o om het dialoogvenster voor opslaan te openen.

Opslaan en druk op ctrl+x om nano te sluiten.

Stap 18: Start je Pi opnieuw op en kijk of je verbinding kunt maken om te doen alsof je Xyzzy bent

Start je Pi opnieuw op en kijk of je verbinding kunt maken om te doen alsof je Xyzzy bent
Start je Pi opnieuw op en kijk of je verbinding kunt maken om te doen alsof je Xyzzy bent

Nu je je Pretend You're Xyzzy-server hebt ingesteld om te draaien bij het opstarten, kun je de Pi opnieuw opstarten en ervoor zorgen dat alles werkt.

Start opnieuw op met de volgende opdracht:

sudo reboot

Zodra de Pi weer opstart, duurt het een paar minuten om alles voor de server opnieuw te compileren. Geef het de tijd en probeer dan opnieuw verbinding te maken in de browser met behulp van de hostnaam of het IP-adres van de Pi die aan het einde poort 8080 toevoegt.

xyzzypi:8080 of IP-adres:8080

Als alles werkte, kom je op de pagina Doen alsof je Xyzzy bent.

Gefeliciteerd! Je hebt nu Pretend You're Xyzzy server die automatisch draait op een Raspberry Pi

Stap 19: Optioneel: poorten doorsturen om toegang te geven tot uw alsof u een Xyzzy-server bent via internet

Dus nu heb je een werkende Pretend You're Xyzzy-server, maar op dit moment is deze alleen toegankelijk op je lokale netwerk. Dit werkt prima als je een groep vrienden bij je thuis hebt om te spelen, maar mensen buiten je lokale netwerk kunnen geen verbinding maken.

U moet de instructies voor het doorsturen van poorten voor uw specifieke router opzoeken als u niet al weet hoe. Doe alsof je Xyzzy bent en gebruikt poort 8080, dus dat is de poort die je wilt doorsturen. Als je het eenmaal hebt ingesteld, kun je je vrienden je externe IP-adres en poort geven en kunnen ze via internet verbinding maken met je server.

Als je wilde, zou je ook Dynamic DNS kunnen instellen, zodat je je eigen URL hebt (zoiets als JoesPYXserver.noip.com) om aan vrienden te geven om verbinding te maken met je server. Er zijn al veel tutorials voor dat soort dingen.

Aanbevolen: