Sommario:

Fai finta di essere Xyzzy Server su Raspberry Pi: 19 passaggi
Fai finta di essere Xyzzy Server su Raspberry Pi: 19 passaggi

Video: Fai finta di essere Xyzzy Server su Raspberry Pi: 19 passaggi

Video: Fai finta di essere Xyzzy Server su Raspberry Pi: 19 passaggi
Video: HOW TO USE THE SIDEMEN CUSTOM CARD PACKS ON CARDS AGAINST HUMANITY!! (Pretend You're Xyzzy) 2024, Novembre
Anonim
Fai finta di essere Xyzzy Server su Raspberry Pi
Fai finta di essere Xyzzy Server su Raspberry Pi

Questa guida ti mostrerà come configurare un server Pretend You're Xyzzy (PYX) su un Raspberry Pi. Lo chiamo XyzzyPi

Pretend You're Xyzzy è un clone online open-source di Cards Against Humanity giocato in un browser web.

Su Android puoi anche utilizzare l'app Client for Pretend You're Xyzzy.

Quando ho iniziato a cercare di configurare il mio server PYX, ho avuto difficoltà a trovare istruzioni che non fossero obsolete e che fossero facili da seguire. Sembrava che la maggior parte di essi fosse stata scritta per persone che avevano già una certa esperienza con la configurazione di un server PYX. Sono stato in grado di capire le cose, ma volevo creare una guida passo passo per coloro che sono meno esperti di tecnologia o che non hanno molta esperienza con queste cose. Inoltre, non sono riuscito a trovare alcuna istruzione su come farlo funzionare su un Raspberry Pi. Dopo alcuni tentativi ed errori, sono riuscito a far funzionare il server PYX su un Pi con solo alcune lievi modifiche ai file. Spero che questo farà risparmiare un po' di tempo a coloro che sono interessati.

L'ho fatto su un modello Pi 3 B+ e un modello Pi 4 B da 4 GB. Ci sono alcuni problemi con l'utilizzo di un Pi Zero W a causa del processore che non gestisce correttamente una Java VM. Attualmente sto cercando di farlo funzionare su uno Zero W e aggiornerò le istruzioni se avrò successo. Non ho un Pi 1 o 2 su cui testare, quindi questo potrebbe funzionare o meno con quelli.

Ho cercato di rendere questo tutorial facile da seguire per persone di tutti i livelli, quindi potrebbero esserci cose che già conosci.

Se sai già come installare Raspbian e connetterti al tuo Pi, vai al passaggio 6

Se hai esperienza con la configurazione di un server PYX e vuoi solo conoscere le modifiche necessarie per farlo funzionare su un Pi, vai al passaggio 13

Dichiarazione di non responsabilità: non ho creato Pretend You're Xyzzy o l'app client Android.

Il credito per la creazione di Pretend You're Xyzzy va all'utente di GitHub ajanata (https://github.com/ajanata/PretendYoureXyzzy)

Il credito per la creazione di Client For Pretend You're Xyzzy va a Gianlu (https://play.google.com/store/apps/dev?id=8675761046824387020)

Se c'è qualcuno che mi è sfuggito per favore fatemelo sapere.

Forniture

Hardware:

Raspberry Pi 3 o 4

Scheda Micro SD (sto usando schede micro SD da 32 GB perché è quello che ho a portata di mano. Probabilmente puoi cavartela con un minimo di 2 GB, ma consiglierei almeno 4 GB.)

PC con lettore di schede SD (sto usando Windows per questo tutorial. Se stai usando Linux probabilmente hai già familiarità con molte di queste cose, quindi regola le istruzioni secondo necessità.)

Software:

Immagine Raspbian: https://www.raspberrypi.org/downloads/raspbian/ (Qualsiasi dovrebbe funzionare. Sto usando Raspbian Buster Lite al momento della scrittura.)

Win32 Disk Imager: https://sourceforge.net/projects/win32diskimager/ (ci sono altri programmi che puoi usare per eseguire il flashing dell'immagine Raspbian ma questa è la mia preferenza personale.)

Mastice:

Passaggio 1: installa Raspbian sulla tua scheda SD

Installa Raspbian sulla tua scheda SD
Installa Raspbian sulla tua scheda SD

Inserisci la tua scheda SD nel lettore di schede del tuo computer prima di aprire Win32 Disk Imager. Quindi seleziona la tua immagine Raspbian e la lettera di unità della tua scheda SD e fai clic su "Scrivi".

ATTENZIONE: Tutto ciò che si trova sulla scheda SD verrà cancellato e sovrascritto. Se ci sono dati importanti sulla scheda SD, esegui prima il backup. Inoltre, assicurati di selezionare la lettera di unità corretta per la tua scheda SD. Altrimenti potresti inavvertitamente cancellare/sovrascrivere l'unità sbagliata

Una volta terminato, avrai due unità separate sulla tua scheda SD. Una volta chiamato boot e uno che Windows non può leggere. Probabilmente riceverai un pop-up in Windows che ti chiede di formattare la scheda. Basta fare clic su Annulla. Se lo formatti, dovrai eseguire nuovamente il flashing di Raspbian.

Passaggio 2: creare un file di testo denominato "wpa_supplicant.conf" sull'unità di avvio

Crea un file di testo denominato
Crea un file di testo denominato

Sull'unità di avvio della scheda SD creare un file di testo denominato wpa_supplicant.conf e incollare il codice sottostante all'interno. Sostituisci "nome wifi" e "password" con il tuo nome e password wifi effettivi, ma mantieni le virgolette intorno ad essi. Salva il file.

Ciò consentirà al tuo Pi di connettersi al tuo wifi. Se stai usando un cavo ethernet per connettere il tuo Pi alla tua rete, probabilmente puoi saltare questo passaggio.

Assicurati che l'estensione del file sia corretta. Dovrebbe essere wpa_supplicant.conf non wpa_supplicant.conf.txt

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

rete={

scan_ssid=1 ssid="nome wifi" psk="password" }

Passaggio 3: creare un file vuoto denominato "ssh" sull'unità di avvio

Crea un file vuoto denominato
Crea un file vuoto denominato

Sull'unità di avvio della scheda SD crea un file vuoto chiamato ssh

Non è necessario che contenga nulla, deve solo essere nominato correttamente.

Ciò abiliterà ssh sul tuo Pi che ti consentirà di connetterti ad esso usando Putty.

Assicurati che il file si chiami semplicemente ssh senza estensione. Non ssh.txt ecc

Passaggio 4: espellere la scheda SD dal PC, inserirla nel Pi e accendere il Pi

Espelli la scheda SD dal tuo PC, inseriscila nel tuo Pi e accendi il tuo Pi.

Se tutto ha funzionato, il tuo Pi si avvierà e si connetterà al tuo wifi.

Dagli un paio di minuti per eseguire la sua configurazione iniziale.

Passaggio 5: connettiti al tuo Pi usando Putty

Connettiti al tuo Pi usando Putty
Connettiti al tuo Pi usando Putty
Connettiti al tuo Pi usando Putty
Connettiti al tuo Pi usando Putty

Apri Putty e nella casella Nome host digita raspberrypi assicurandoti che il tipo di connessione sia SSH e che la porta sia 22. Se si connette verrai indirizzato a una schermata nera con del testo noto come terminale. Ti chiederà nome utente e password. Il nome utente predefinito è "pi" e la password predefinita è "raspberry". Si consiglia vivamente di modificare la password, soprattutto se si prevede di esporre il proprio Pi a Internet. Per farlo, digita "passwd" una volta effettuato l'accesso e segui le istruzioni. Assicurati di scegliere una password che ricorderai.

Se non si connette, potrebbe essere necessario trovare l'indirizzo IP utilizzato dal tuo Pi. Esistono diversi modi per farlo, ma personalmente accedo al mio router e controllo l'elenco dei dispositivi connessi. Una volta trovato l'IP del tuo Pi digitalo nella casella Nome host in Putty invece di raspberrypi e prova a connetterti di nuovo.

Se ancora non riesci a connetterti, potresti non aver creato correttamente il file ssh. Leggi i passaggi precedenti e ricontrolla tutto.

Passaggio 6: facoltativo: modifica il nome host del tuo Pi

Facoltativo: cambia il nome host del tuo Pi
Facoltativo: cambia il nome host del tuo Pi
Facoltativo: cambia il nome host del tuo Pi
Facoltativo: cambia il nome host del tuo Pi
Facoltativo: cambia il nome host del tuo Pi
Facoltativo: cambia il nome host del tuo Pi

Questo non è necessario, ma preferisco avere il nome host del mio Pi come qualcosa di rilevante per ciò per cui viene utilizzato piuttosto che solo il generico "raspberrypi". In questo caso l'ho chiamato "xyzzypi" ma puoi chiamarlo come preferisci.

Per modificare il tipo di nome host:

sudo raspi-config

Seleziona Opzioni di rete

Seleziona nome host

Inserisci il nome host che desideri

Seleziona Fine

Ti verrà chiesto se desideri riavviare il Pi ora. Il nuovo nome host non entrerà in vigore fino al riavvio. Se lo fai, la tua sessione di Putty si disconnetterà. Una volta terminato il riavvio, dovrai utilizzare il nuovo nome host impostato per riconnetterti con Putty. Se ti stavi connettendo utilizzando l'indirizzo IP invece del nome host, dovrebbe essere sempre lo stesso.

Ci sono molte altre opzioni che puoi impostare usando lo strumento raspi-config, ma ci sono già molti tutorial online su questo, quindi non ne parlerò qui.

Passaggio 7: aggiorna i pacchetti dell'applicazione

Aggiorna i tuoi pacchetti di applicazioni
Aggiorna i tuoi pacchetti di applicazioni

Aggiorna i pacchetti dell'applicazione utilizzando il seguente comando:

sudo apt-get update

Lascialo funzionare fino a quando non è finito.

Nota: tecnicamente non devi più digitare "apt-get", puoi semplicemente digitare "apt". Tuttavia, sono così abituato a digitare "apt-get" che a questo punto per me è solo memoria muscolare.

Passaggio 8: installa Git

Installa Git
Installa Git

Una volta che i pacchetti dell'applicazione hanno finito di aggiornare, installa Git usando il seguente comando:

sudo apt-get -y install git

Lascialo funzionare fino a quando non finisce.

Passaggio 9: installa Maven

Installa Maven
Installa Maven

Installa Maven usando il seguente comando:

sudo apt-get -y install maven

Lascialo andare fino alla fine

Passaggio 10: scarica i file del server di finzione di essere Xyzzy

Scarica i file del server Fingi di essere Xyzzy
Scarica i file del server Fingi di essere Xyzzy

Scarica i file del server Pretend You're Xyzzy utilizzando il seguente comando:

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

Questo creerà una directory sul tuo Pi chiamata PretendYoureXyzzy e scaricherà i file al suo interno.

Lascialo funzionare fino a quando non finisce.

Passaggio 11: passare alla directory PretendYoureXyzzy

Passa alla directory PretendYoureXyzzy
Passa alla directory PretendYoureXyzzy

Passare alla directory PretendYoureXyzzy utilizzando il seguente comando:

cd PretendYoureXyzzy

Nota: i comandi di Linux fanno distinzione tra maiuscole e minuscole, quindi cd PretendYoureXyzzy funzionerà ma cd pretendyourexyzzy no.

Passaggio 12: apri e modifica il file "build.properties.example" e salvalo come "build.properties"

Apri e modifica il
Apri e modifica il
Apri e modifica il
Apri e modifica il
Apri e modifica il
Apri e modifica il

Apri il file build.properties.example con l'editor di testo nano utilizzando il seguente comando:

sudo nano build.properties.example

L'utilizzo di un editor di testo basato su terminale può sembrare un po' intimidatorio per coloro che non sono abituati, ma quello che stiamo facendo è molto semplice.

Usa il tasto freccia giù per scorrere verso il basso fino a trovare le sezioni che dicono "hibernate.username" e "hibernate.password".

Usa il tasto freccia destra per spostarti alla fine di quelle righe e cambiare il nome utente e la password in qualcos'altro. Onestamente non so se sia davvero necessario, ma non mi sento a mio agio a lasciarli sul nome utente e sulla password predefiniti con cui sono venuti.

Una volta modificati, premi ctrl+o per visualizzare la finestra di dialogo di salvataggio.

Backspace per rimuovere ".example" dalla fine del nome del file in modo da rimanere solo con "build.properties"

Ti verrà chiesto se vuoi salvare il file con un nome diverso. Premi y per si.

Premi ctrl+x per chiudere l'editor di testo nano.

Passaggio 13: aprire e modificare il file "pom.xml" (QUESTO È QUELLO CHE LO FA ESEGUIRE SU un PI)

Apri e modifica il
Apri e modifica il
Apri e modifica il
Apri e modifica il

Apri il file pom.xml con l'editor di testo nano usando il seguente comando:

sudo nano pom.xml

Scorri verso il basso come hai fatto prima. Questa volta la linea che stai cercando è sqlite-jdbc

Appena sotto quella riga c'è una riga con un numero di versione. Devi cambiare quel numero in 3.28.0 in modo che assomigli a:

3.28.0

Una volta modificato il numero di versione, premi ctrl+o per visualizzare la finestra di dialogo di salvataggio.

Mantieni il nome del file come "pom.xml" e salvalo.

Una volta salvato, premi ctrl+x per chiudere l'editor di testo nano.

Questa è la modifica che fa eseguire il server Pretend You're Xyzzy su un Pi. La versione sqlite-jdbc con cui viene fornita non funzionerà correttamente su un Pi. La versione 3.28.0 funziona alla grande nei miei test finora

Passaggio 14: avvia il finto server Xyzzy e assicurati che funzioni

Fai finta di essere un server Xyzzy e assicurati che funzioni
Fai finta di essere un server Xyzzy e assicurati che funzioni
Fai finta di essere un server Xyzzy e assicurati che funzioni
Fai finta di essere un server Xyzzy e assicurati che funzioni
Fai finta di essere un server Xyzzy e assicurati che funzioni
Fai finta di essere un server Xyzzy e assicurati che funzioni

Ora che hai apportato le modifiche necessarie per eseguire un server Pretend You're Xyzzy sul tuo Pi, avviamolo e vediamo se tutto funziona. Avvia il server utilizzando il seguente comando:

mvn clean package war:exploded jetty:run -Dmaven.buildNumber.doCheck=false -Dmaven.buildNumber.doUpdate=false

Scaricherà alcuni file aggiuntivi, li compilerà e avvierà il server. Questo richiederà probabilmente un paio di minuti.

Nota: attualmente questo è l'unico modo in cui conosco come far funzionare il server in modo che venga compilato ogni volta che lo avvii.

Saprai che è stato fatto quando ricevi un messaggio che dice "Il ricaricamento della console è ABILITATO. Premi INVIO sulla console per riavviare il contesto".

A questo punto puoi aprire il tuo browser e digitare il nome host (o indirizzo IP) del Pi aggiungendo alla fine la porta 8080. Quindi nome host:8080 o IP:8080

Se hai usato xyzzypi come nome host sarebbe xyzzypi:8080 o nel mio caso usando l'IP sarebbe 192.168.1.189:8080

Se tutto ha funzionato verrai indirizzato alla pagina principale di Fingi di essere Xyzzy.

Congratulazioni! Ce l'hai fatta

Tuttavia in questo momento verrà eseguito solo se accedi al tuo Pi con Putty ed esegui il comando sopra per avviare il server. Una volta chiuso Putty, il server si fermerà. Questo potrebbe andare bene per alcune persone, ma potresti volere che il server Pretend You're Xyzzy venga eseguito automaticamente ogni volta che il Pi si avvia o viene riavviato senza dover accedere. I passaggi successivi riguarderanno il funzionamento.

Passaggio 15: crea uno script per iniziare a fingere di essere un server Xyzzy

Crea uno script per iniziare a fingere di essere Xyzzy Server
Crea uno script per iniziare a fingere di essere Xyzzy Server
Crea uno script per iniziare a fingere di essere Xyzzy Server
Crea uno script per iniziare a fingere di essere Xyzzy Server

Se vogliamo che il server Pretend You're Xyzzy si avvii automaticamente all'avvio o al riavvio del Pi, la prima cosa che dobbiamo fare è creare uno script.

Premi ctrl+c per fermare il server.

Una volta terminato, digita il seguente comando:

sudo nano xyzzy.sh

Nota: ho chiamato il mio script xyzzy.sh ma puoi chiamarlo come preferisci. Assicurati solo che abbia.sh come estensione del file.

Usando l'editor di testo nano, digita o incolla quanto segue nel file:

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

Premi ctrl+o per visualizzare la finestra di dialogo di salvataggio

Salva il file e premi ctrl+x per chiudere nano

Passaggio 16: rendi eseguibile il tuo script

Rendi eseguibile il tuo script
Rendi eseguibile il tuo script

Dobbiamo rendere eseguibile lo script utilizzando il seguente comando:

sudo chmod 755 xyzzy.sh

Nota: se hai chiamato il tuo script in modo diverso nel passaggio precedente, usa invece quel nome di file.

Passaggio 17: creare una voce Crontab per eseguire automaticamente lo script all'avvio

Crea una voce Crontab per eseguire automaticamente il tuo script all'avvio
Crea una voce Crontab per eseguire automaticamente il tuo script all'avvio
Crea una voce Crontab per eseguire automaticamente il tuo script all'avvio
Crea una voce Crontab per eseguire automaticamente il tuo script all'avvio
Crea una voce Crontab per eseguire automaticamente il tuo script all'avvio
Crea una voce Crontab per eseguire automaticamente il tuo script all'avvio

Esistono diversi modi per eseguire uno script all'avvio. Sto usando crontab qui.

Modifica le tabelle crontab usando il seguente comando:

crontab -e

Ti chiederà quale editor vuoi usare. Digita 1 e premi Invio per utilizzare nano.

Una volta aperto, scorri fino in fondo e aggiungi la seguente riga:

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

Nota: ancora una volta, se hai utilizzato un nome file diverso per il tuo script, digita invece quello.

Premi ctrl+o per visualizzare la finestra di dialogo di salvataggio.

Salva e premi ctrl+x per chiudere nano.

Passaggio 18: riavvia il tuo Pi e vedi se riesci a connetterti per fingere di essere Xyzzy

Riavvia il tuo Pi e vedi se riesci a connetterti per fingere di essere Xyzzy
Riavvia il tuo Pi e vedi se riesci a connetterti per fingere di essere Xyzzy

Ora che hai il tuo server Pretend You're Xyzzy impostato per essere eseguito all'avvio, puoi riavviare il Pi e assicurarti che tutto funzioni.

Riavvia utilizzando il seguente comando:

sudo reboot

Una volta riavviato il Pi, ci vorranno un paio di minuti per ricompilare tutto per il server. Dagli tempo e poi prova a connetterti di nuovo nel browser usando il nome host o l'IP del Pi aggiungendo la porta 8080 alla fine.

xyzzypi:8080 o IndirizzoIP:8080

Se tutto ha funzionato verrai indirizzato alla pagina Fai finta di essere Xyzzy.

Congratulazioni! Ora hai il server Fingere di essere Xyzzy che viene eseguito automaticamente su un Raspberry Pi

Passaggio 19: Facoltativo: porte di inoltro per consentire l'accesso al tuo finto server Xyzzy su Internet

Quindi ora hai un server Pretend You're Xyzzy funzionante ma al momento è accessibile solo sulla tua rete locale. Funziona bene se hai un gruppo di amici per giocare a casa tua ma le persone al di fuori della tua rete locale non saranno in grado di connettersi.

Dovrai cercare le istruzioni di port forwarding per il tuo router specifico se non sai già come farlo. Fai finta di essere Xyzzy usa la porta 8080, quindi questa è la porta che vorrai inoltrare. Una volta configurato, sarai in grado di fornire ai tuoi amici il tuo indirizzo IP e la porta esterni e saranno in grado di connettersi al tuo server su Internet.

Se lo desideri, puoi anche impostare il DNS dinamico in modo da avere il tuo URL (qualcosa come JoesPYXserver.noip.com) da dare agli amici per connettersi al tuo server. Ci sono già molti tutorial là fuori per questo genere di cose.

Consigliato: