Spisu treści:

Udawaj, że jesteś serwerem Xyzzy na Raspberry Pi: 19 kroków
Udawaj, że jesteś serwerem Xyzzy na Raspberry Pi: 19 kroków

Wideo: Udawaj, że jesteś serwerem Xyzzy na Raspberry Pi: 19 kroków

Wideo: Udawaj, że jesteś serwerem Xyzzy na Raspberry Pi: 19 kroków
Wideo: UDAWAJ ŻE JESTEŚ "XYZZY" #1 RACZEK KARTA | PRETEND YOU ARE XYZZY 2024, Grudzień
Anonim
Udawaj, że jesteś serwerem Xyzzy na Raspberry Pi
Udawaj, że jesteś serwerem Xyzzy na Raspberry Pi

Ten przewodnik pokaże Ci, jak skonfigurować serwer Udawaj, że jesteś Xyzzy (PYX) na Raspberry Pi. Nazywam to XyzzyPi

Udawaj, że jesteś Xyzzy to internetowy klon Cards Against Humanity o otwartym kodzie źródłowym, w który można grać w przeglądarce internetowej.

W systemie Android możesz również skorzystać z aplikacji Client for Pretend You're Xyzzy.

Kiedy zacząłem zastanawiać się nad konfiguracją własnego serwera PYX, miałem trudności ze znalezieniem instrukcji, które nie były nieaktualne i łatwe do wykonania. Wydawało się, że większość z nich została napisana dla osób, które miały już pewne doświadczenie w zakładaniu serwera PYX. Udało mi się zrozumieć, ale chciałem stworzyć przewodnik krok po kroku dla tych, którzy są mniej obeznani z technologią lub którzy nie mają dużego doświadczenia z takimi rzeczami. Ponadto nie mogłem znaleźć żadnych instrukcji dotyczących uruchamiania go na Raspberry Pi. Po kilku próbach i błędach udało mi się uruchomić serwer PYX na Pi z niewielkimi modyfikacjami plików. Mam nadzieję, że zaoszczędzi to trochę czasu zainteresowanym.

Zrobiłem to na modelu Pi 3 B+ i modelu Pi 4 B 4 GB. Istnieją pewne problemy z używaniem Pi Zero W, ponieważ procesor nie obsługuje poprawnie Java VM. Obecnie próbuję uruchomić go na Zero W i zaktualizuję instrukcje, jeśli mi się uda. Nie mam Pi 1 lub 2 do testowania, więc może to działać lub nie.

Starałem się, aby ten samouczek był łatwy do naśladowania dla osób na wszystkich poziomach umiejętności, więc mogą być tutaj rzeczy, które już znasz.

Jeśli już wiesz, jak zainstalować Raspbian i połączyć się z Pi, przejdź do kroku 6

Jeśli masz doświadczenie w konfigurowaniu serwera PYX i po prostu chcesz wiedzieć, jakie edycje są niezbędne, aby działał na Pi, przejdź do kroku 13

Zastrzeżenie: nie stworzyłem Pretend You're Xyzzy ani aplikacji klienckiej na Androida.

Kredyt za stworzenie Pretend You're Xyzzy trafia do ajanaty użytkownika GitHub (https://github.com/ajanata/PretendYoureXyzzy)

Kredyt za stworzenie Client For Pretend You're Xyzzy trafia do Gianlu (https://play.google.com/store/apps/dev?id=8675761046824387020)

Jeśli jest ktoś, kogo tęskniłem, daj mi znać.

Kieszonkowe dzieci

Sprzęt komputerowy:

Raspberry Pi 3 lub 4

Karta Micro SD (Używam kart micro SD o pojemności 32 GB, ponieważ mam je pod ręką. Prawdopodobnie możesz sobie poradzić z zaledwie 2 GB, ale polecam przynajmniej 4 GB.)

Komputer z czytnikiem kart SD (w tym samouczku używam systemu Windows. Jeśli używasz Linuksa, prawdopodobnie znasz już wiele z tych rzeczy, więc dostosuj instrukcje w razie potrzeby.)

Oprogramowanie:

Obraz Raspbian: https://www.raspberrypi.org/downloads/raspbian/ (Każdy powinien działać. Używam Raspbian Buster Lite w momencie pisania.)

Win32 Disk Imager: https://sourceforge.net/projects/win32diskimager/ (Istnieją inne programy, których można użyć do flashowania obrazu Raspbian, ale to moje osobiste preferencje.)

Szpachlówka:

Krok 1: Flash Raspbian na karcie SD

Flash Raspbian na karcie SD
Flash Raspbian na karcie SD

Włóż kartę SD do czytnika kart w komputerze przed otwarciem programu Win32 Disk Imager. Następnie wybierz obraz Raspbian i literę dysku karty SD i kliknij „Zapisz”.

UWAGA: Wszystko na karcie SD zostanie usunięte i nadpisane. Jeśli na karcie SD znajdują się ważne dane, najpierw wykonaj ich kopię zapasową. Upewnij się również, że wybrałeś prawidłową literę dysku dla karty SD. W przeciwnym razie możesz nieumyślnie wyczyścić/nadpisać niewłaściwy dysk

Po zakończeniu będziesz mieć dwa oddzielne dyski na karcie SD. Raz nazwany boot i taki, którego system Windows nie może odczytać. Prawdopodobnie w systemie Windows pojawi się wyskakujące okienko z prośbą o sformatowanie karty. Po prostu kliknij anuluj. Jeśli go sformatujesz, będziesz musiał ponownie sflashować Raspbian.

Krok 2: Utwórz plik tekstowy o nazwie „wpa_supplicant.conf” na dysku rozruchowym

Utwórz plik tekstowy o nazwie
Utwórz plik tekstowy o nazwie

Na dysku rozruchowym karty SD utwórz plik tekstowy o nazwie wpa_supplicant.conf i wklej do niego poniższy kod. Zastąp „nazwa wifi” i „hasło” rzeczywistą nazwą i hasłem Wi-Fi, ale zachowaj wokół nich cudzysłowy. Zapisz plik.

To pozwoli Twojemu Pi połączyć się z Wi-Fi. Jeśli używasz kabla Ethernet do podłączenia Pi do sieci, prawdopodobnie możesz pominąć ten krok.

Upewnij się, że rozszerzenie pliku jest poprawne. Powinien to być wpa_supplicant.conf a nie wpa_supplicant.conf.txt

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

sieć={

scan_ssid=1 ssid="nazwa wifi" psk="hasło" }

Krok 3: Utwórz pusty plik o nazwie „ssh” na dysku rozruchowym

Utwórz pusty plik o nazwie
Utwórz pusty plik o nazwie

Na dysku rozruchowym karty SD utwórz pusty plik o nazwie ssh

Nie musi nic w sobie zawierać, wystarczy, że zostanie poprawnie nazwana.

Umożliwi to ssh na twoim Pi, co pozwoli ci połączyć się z nim za pomocą Putty.

Upewnij się, że plik ma po prostu nazwę ssh bez rozszerzenia. Nie ssh.txt itp

Krok 4: Wyjmij kartę SD z komputera, włóż ją do swojego Pi i włącz swoje Pi

Wyjmij kartę SD z komputera, włóż ją do swojego Pi i włącz swoje Pi.

Jeśli wszystko zadziałało, Twoje Pi uruchomi się i połączy się z Wi-Fi.

Daj mu kilka minut na sprawdzenie początkowej konfiguracji.

Krok 5: Połącz się ze swoim Pi za pomocą Putty

Połącz się ze swoim Pi za pomocą Putty
Połącz się ze swoim Pi za pomocą Putty
Połącz się ze swoim Pi za pomocą Putty
Połącz się ze swoim Pi za pomocą Putty

Otwórz Putty iw polu Host Name wpisz raspberrypi, upewniając się, że typ połączenia to SSH, a port to 22. Jeśli połączy się, zostaniesz przeniesiony do czarnego ekranu z tekstem znanym jako terminal. Poprosi o nazwę użytkownika i hasło. Domyślna nazwa użytkownika to „pi”, a domyślne hasło to „raspberry”. Zdecydowanie zaleca się zmianę hasła, zwłaszcza jeśli planujesz, aby Twoje Pi było wystawione na działanie Internetu. Aby to zrobić, wpisz "passwd" po zalogowaniu i postępuj zgodnie z instrukcjami. Upewnij się, że wybrałeś hasło, które zapamiętasz.

Jeśli się nie połączy, może być konieczne znalezienie adresu IP, z którego korzysta Twoje Pi. Jest na to wiele sposobów, ale osobiście po prostu loguję się do routera i sprawdzam listę podłączonych urządzeń. Po znalezieniu adresu IP swojego Pi wpisz go w polu Nazwa hosta w Putty zamiast raspberrypi i spróbuj połączyć się ponownie.

Jeśli nadal nie możesz się połączyć, być może nie utworzyłeś poprawnie pliku ssh. Przeczytaj poprzednie kroki i sprawdź wszystko dokładnie.

Krok 6: Opcjonalnie: Zmień nazwę hosta swojego Pi

Opcjonalnie: Zmień nazwę hosta swojego Pi
Opcjonalnie: Zmień nazwę hosta swojego Pi
Opcjonalnie: Zmień nazwę hosta swojego Pi
Opcjonalnie: Zmień nazwę hosta swojego Pi
Opcjonalnie: Zmień nazwę hosta swojego Pi
Opcjonalnie: Zmień nazwę hosta swojego Pi

Nie jest to konieczne, ale wolę, aby nazwa hosta mojego Pi była odpowiednia do tego, do czego jest używana, a nie tylko ogólne „raspberrypi”. W tym przypadku nazwałem go "xyzzypi", ale możesz go nazwać jak chcesz.

Aby zmienić typ nazwy hosta:

sudo raspi-config

Wybierz opcje sieciowe

Wybierz nazwę hosta

Wpisz dowolną nazwę hosta

Wybierz Zakończ

Zapyta, czy chcesz teraz zrestartować Pi. Nowa nazwa hosta nie zacznie obowiązywać do czasu ponownego uruchomienia. Jeśli to zrobisz, sesja Putty zostanie rozłączona. Po zakończeniu ponownego uruchamiania będziesz musiał użyć nowej nazwy hosta, którą ustawiłeś, aby ponownie połączyć się z Putty. Jeśli łączyłeś się za pomocą adresu IP zamiast nazwy hosta, to powinno być takie samo.

Istnieje wiele innych opcji, które można ustawić za pomocą narzędzia raspi-config, ale jest już wiele samouczków na ten temat w Internecie, więc nie będę ich tutaj omawiał.

Krok 7: Zaktualizuj pakiety aplikacji

Zaktualizuj swoje pakiety aplikacji
Zaktualizuj swoje pakiety aplikacji

Zaktualizuj pakiety aplikacji za pomocą następującego polecenia:

aktualizacja sudo apt-get

Pozwól mu działać, dopóki się nie skończy.

Uwaga: Technicznie rzecz biorąc, nie musisz już wpisywać „apt-get”, możesz po prostu wpisać „apt”. Jednak jestem tak przyzwyczajony do pisania „apt-get”, że w tym momencie jest to dla mnie tylko pamięć mięśniowa.

Krok 8: Zainstaluj Git

Zainstaluj Gita
Zainstaluj Gita

Po zakończeniu aktualizacji pakietów aplikacji zainstaluj Git za pomocą następującego polecenia:

sudo apt-get -y zainstaluj git

Pozwól mu działać, aż się skończy.

Krok 9: Zainstaluj Maven

Zainstaluj Maven
Zainstaluj Maven

Zainstaluj Maven za pomocą następującego polecenia:

sudo apt-get -y install maven

Niech biegnie, aż się skończy

Krok 10: Pobierz pliki serwera Udawaj, że jesteś Xyzzy

Pobierz pliki serwera Udawaj, że jesteś Xyzzy
Pobierz pliki serwera Udawaj, że jesteś Xyzzy

Pobierz pliki serwera Udawaj, że jesteś Xyzzy za pomocą następującego polecenia:

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

Spowoduje to utworzenie katalogu na twoim Pi o nazwie PretendYoureXyzzy i pobranie do niego plików.

Pozwól mu działać, aż się skończy.

Krok 11: Przejdź do katalogu PretendYoureXyzzy

Przejdź do katalogu PretendYoureXyzzy
Przejdź do katalogu PretendYoureXyzzy

Przejdź do katalogu PretendYoureXyzzy za pomocą następującego polecenia:

cd Udawaj, że jesteśXyzzy

Uwaga: w poleceniach Linuksa rozróżniana jest wielkość liter, więc cd PretendYoureXyzzy zadziała, ale cd pretendyourexyzzy nie.

Krok 12: Otwórz i edytuj plik „build.properties.example” i zapisz go jako „build.properties”

Otwórz i edytuj
Otwórz i edytuj
Otwórz i edytuj
Otwórz i edytuj
Otwórz i edytuj
Otwórz i edytuj

Otwórz plik build.properties.example za pomocą edytora tekstu nano za pomocą następującego polecenia:

sudo nano build.properties.example

Korzystanie z edytora tekstu opartego na terminalu może wydawać się nieco onieśmielające dla tych, którzy nie są do tego przyzwyczajeni, ale to, co robimy, jest bardzo proste.

Użyj klawisza strzałki w dół, aby przewinąć w dół, aż znajdziesz sekcje z napisami „hibernate.username” i „hibernate.password”.

Użyj klawisza strzałki w prawo, aby przejść na koniec tych wierszy i zmienić nazwę użytkownika i hasło na coś innego. Szczerze mówiąc, nie wiem, czy jest to naprawdę konieczne, ale nie czuję się komfortowo zostawiając je z domyślną nazwą użytkownika i hasłem, z którymi przyszły.

Po ich zmianie naciśnij ctrl + o, aby wyświetlić okno dialogowe zapisywania.

Backspace, aby usunąć „.przykład” z końca nazwy pliku, dzięki czemu pozostaje tylko „build.properties”

Zapyta, czy chcesz zapisać plik pod inną nazwą. Naciśnij y dla tak.

Naciśnij ctrl+x, aby zamknąć edytor tekstu nano.

Krok 13: Otwórz i edytuj plik „pom.xml” (TO JEST, CO SPRAWIA, ŻE DZIAŁA NA PI)

Otwórz i edytuj
Otwórz i edytuj
Otwórz i edytuj
Otwórz i edytuj

Otwórz plik pom.xml za pomocą edytora tekstu nano za pomocą następującego polecenia:

sudo nano pom.xml

Przewiń w dół, tak jak wcześniej. Tym razem linia, której szukasz, to sqlite-jdbc

Tuż pod tą linią znajduje się linia z numerem wersji. Musisz zmienić ten numer na 3.28.0, aby wyglądał tak:

3.28.0

Po edycji numeru wersji naciśnij ctrl+o, aby wyświetlić okno dialogowe zapisywania.

Zachowaj nazwę pliku jako „pom.xml” i zapisz ją.

Po zapisaniu naciśnij ctrl+x, aby zamknąć edytor tekstu nano.

To jest zmiana, która sprawia, że serwer Udawaj, że jesteś Xyzzy działa na Pi. Dołączona do niego wersja sqlite-jdbc nie będzie działać poprawnie na Pi. Wersja 3.28.0 sprawdza się w moich dotychczasowych testach znakomicie

Krok 14: Uruchom udawanie, że jesteś serwerem Xyzzy i upewnij się, że działa

Uruchom udawanie, że jesteś serwerem Xyzzy i upewnij się, że działa
Uruchom udawanie, że jesteś serwerem Xyzzy i upewnij się, że działa
Uruchom udawać, że jesteś serwerem Xyzzy i upewnij się, że działa
Uruchom udawać, że jesteś serwerem Xyzzy i upewnij się, że działa
Uruchom udawać, że jesteś serwerem Xyzzy i upewnij się, że działa
Uruchom udawać, że jesteś serwerem Xyzzy i upewnij się, że działa

Teraz, gdy dokonałeś niezbędnych zmian, aby uruchomić serwer Udawaj, że jesteś Xyzzy na swoim Pi, uruchom go i zobacz, czy wszystko działa. Uruchom serwer za pomocą następującego polecenia:

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

Pobierze dodatkowe pliki, skompiluje je i uruchomi serwer. Zajmie to prawdopodobnie kilka minut.

Uwaga: Obecnie jest to jedyny sposób, w jaki wiem, jak uruchomić serwer, aby kompilował się za każdym razem, gdy go uruchomisz.

Dowiesz się, że zostało to zrobione, gdy pojawi się komunikat „Ponowne ładowanie konsoli jest WŁĄCZONE. Naciśnij ENTER na konsoli, aby ponownie uruchomić kontekst”.

W tym momencie możesz otworzyć przeglądarkę i wpisać nazwę hosta (lub adres IP) portu Pi, dodając na końcu 8080. Więc nazwa hosta:8080 lub IP:8080

Jeśli użyjesz xyzzypi jako nazwy hosta, będzie to xyzzypi:8080 lub w moim przypadku przy użyciu adresu IP będzie to 192.168.1.189:8080

Jeśli wszystko zadziałało, zostaniesz przeniesiony na stronę główną Udawaj, że jesteś Xyzzy.

Gratulacje! Zrobiłeś to

Jednak teraz będzie działać tylko wtedy, gdy zalogujesz się do swojego Pi za pomocą Putty i uruchomisz powyższe polecenie, aby uruchomić serwer. Po zamknięciu Putty serwer się zatrzyma. Może to być w porządku dla niektórych osób, ale możesz chcieć, aby serwer Udawaj, że jesteś Xyzzy uruchamiał się automatycznie po uruchomieniu lub ponownym uruchomieniu Pi bez konieczności logowania. Następne kroki obejmują wykonanie tej pracy.

Krok 15: Utwórz skrypt, aby rozpocząć udawanie, że jesteś serwerem Xyzzy

Utwórz skrypt, aby rozpocząć udawanie, że jesteś serwerem Xyzzy
Utwórz skrypt, aby rozpocząć udawanie, że jesteś serwerem Xyzzy
Utwórz skrypt, aby rozpocząć udawanie, że jesteś serwerem Xyzzy
Utwórz skrypt, aby rozpocząć udawanie, że jesteś serwerem Xyzzy

Jeśli chcemy, aby serwer Udawaj, że jesteś Xyzzy uruchamiał się automatycznie po uruchomieniu lub ponownym uruchomieniu Pi, pierwszą rzeczą, którą musimy zrobić, to utworzyć skrypt.

Naciśnij ctrl+c, aby zatrzymać serwer.

Gdy się zatrzyma, wpisz następujące polecenie:

sudo nano xyzzy.sh

Uwaga: Nazwałem mój skrypt xyzzy.sh, ale możesz go nazwać jak chcesz. Upewnij się tylko, że jako rozszerzenie pliku ma.sh.

Za pomocą edytora tekstu nano wpisz lub wklej do pliku:

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

Naciśnij ctrl+o, aby wywołać okno dialogowe zapisywania

Zapisz plik i naciśnij ctrl+x, aby zamknąć nano

Krok 16: Uczyń swój skrypt wykonywalnym

Uczyń swój skrypt wykonywalnym
Uczyń swój skrypt wykonywalnym

Musimy uczynić skrypt wykonywalnym za pomocą następującego polecenia:

sudo chmod 755 xyzzy.sh

Uwaga: Jeśli w poprzednim kroku nadałeś skryptowi inną nazwę, użyj tej nazwy pliku.

Krok 17: Utwórz wpis w Crontab, aby automatycznie uruchamiać skrypt podczas rozruchu

Utwórz wpis w Crontab, aby automatycznie uruchamiać skrypt podczas rozruchu
Utwórz wpis w Crontab, aby automatycznie uruchamiać skrypt podczas rozruchu
Utwórz wpis w Crontab, aby automatycznie uruchamiać skrypt podczas rozruchu
Utwórz wpis w Crontab, aby automatycznie uruchamiać skrypt podczas rozruchu
Utwórz wpis w Crontab, aby automatycznie uruchamiać skrypt podczas rozruchu
Utwórz wpis w Crontab, aby automatycznie uruchamiać skrypt podczas rozruchu

Istnieje wiele sposobów na uruchomienie skryptu przy starcie. Używam tutaj crontaba.

Edytuj tabele crontab za pomocą następującego polecenia:

crontab -e

Zapyta, którego edytora chcesz użyć. Wpisz 1 i naciśnij enter, aby użyć nano.

Po otwarciu przewiń do samego dołu i dodaj następujący wiersz:

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

Uwaga: Ponownie, jeśli użyłeś innej nazwy pliku dla swojego skryptu, wpisz ją zamiast tego.

Naciśnij ctrl+o, aby wywołać okno dialogowe zapisywania.

Zapisz i naciśnij ctrl+x, aby zamknąć nano.

Krok 18: Uruchom ponownie swoje Pi i sprawdź, czy możesz się połączyć, aby udawać, że jesteś Xyzzy

Uruchom ponownie swoje Pi i sprawdź, czy możesz się połączyć, aby udawać, że jesteś Xyzzy
Uruchom ponownie swoje Pi i sprawdź, czy możesz się połączyć, aby udawać, że jesteś Xyzzy

Teraz, gdy masz serwer Udawaj, że jesteś Xyzzy ustawiony na uruchamianie przy starcie, możesz ponownie uruchomić Pi i upewnić się, że wszystko działa.

Uruchom ponownie za pomocą następującego polecenia:

ponowne uruchomienie sudo

Po ponownym uruchomieniu Pi, ponowna kompilacja wszystkiego dla serwera zajmie kilka minut. Daj mu czas, a następnie spróbuj ponownie połączyć się w przeglądarce, używając nazwy hosta lub adresu IP portu Pi, dodając na końcu port 8080.

xyzzypi:8080 lub adres IP:8080

Jeśli wszystko zadziałało, zostaniesz przeniesiony na stronę Udawaj, że jesteś Xyzzy.

Gratulacje! Masz teraz serwer Udawaj, że jesteś Xyzzy, który działa automatycznie na Raspberry Pi

Krok 19: Opcjonalnie: Przekieruj porty, aby umożliwić dostęp do Twojego udawania, że jesteś serwerem Xyzzy przez Internet

Więc teraz masz działający serwer Udawaj, że jesteś Xyzzy, ale w tej chwili jest on dostępny tylko w Twojej sieci lokalnej. Działa to dobrze, jeśli masz grupę znajomych do gry w domu, ale osoby spoza sieci lokalnej nie będą mogły się połączyć.

Musisz poszukać instrukcji przekierowania portów dla konkretnego routera, jeśli jeszcze nie wiesz, jak to zrobić. Udawaj, że Xyzzy używa portu 8080, więc jest to port, który chcesz przekierować. Po skonfigurowaniu będziesz mógł przekazać znajomym swój zewnętrzny adres IP i port, a oni będą mogli łączyć się z Twoim serwerem przez Internet.

Jeśli chcesz, możesz również skonfigurować Dynamic DNS, aby mieć własny adres URL (coś w rodzaju JoesPYXserver.noip.com), aby rozdawać znajomym, aby mogli połączyć się z twoim serwerem. Istnieje już wiele samouczków dotyczących tego typu rzeczy.

Zalecana: