Съдържание:

Преструвайте се, че сте Xyzzy сървър на Raspberry Pi: 19 стъпки
Преструвайте се, че сте Xyzzy сървър на Raspberry Pi: 19 стъпки

Видео: Преструвайте се, че сте Xyzzy сървър на Raspberry Pi: 19 стъпки

Видео: Преструвайте се, че сте Xyzzy сървър на Raspberry Pi: 19 стъпки
Видео: 45. Ретроспектива по ReactOS - независимому клону Windows 2024, Юли
Anonim
Преструвайте се, че сте Xyzzy сървър на Raspberry Pi
Преструвайте се, че сте Xyzzy сървър на Raspberry Pi

Това ръководство ще ви покаже как да настроите сървър Pretend You Xyzzy (PYX) на Raspberry Pi. Наричам го XyzzyPi

Преструвайте се, че сте Xyzzy е онлайн клонинг Cards Against Humanity с отворен код, игран в уеб браузър.

На Android можете също да използвате приложението Client for Pretend You Xyzzy.

Когато започнах да търся настройка на собствен PYX сървър, ми беше трудно да намеря инструкции, които не бяха остарели и които бяха лесни за изпълнение. Изглежда, че повечето от тях са написани за хора, които вече имат известен опит с настройката на PYX сървър. Успях да разбера нещата, но исках да създам стъпка по стъпка ръководство за тези, които са по-малко разбиращи от технологии или които нямат много опит с такива неща. Също така не можах да намеря никакви инструкции как да го стартирам на Raspberry Pi. След някои опити и грешки успях да накарам PYX сървъра да работи на Pi само с някои леки модификации на файловете. Надявам се, че това ще спести малко време на тези, които се интересуват.

Направих това на Pi 3 модел B+ и Pi 4 модел B 4GB. Има някои проблеми с използването на Pi Zero W поради това, че процесорът не борави правилно с VM на Java. В момента се опитвам да го накарам да работи на Zero W и ще актуализирам инструкциите, ако успея. Нямам Pi 1 или 2 за тестване, така че това може или не може да работи с тях.

Опитах се да направя този урок лесен за следване за хора от всички нива на умения, така че може да има неща, които вече знаете.

Ако вече знаете как да инсталирате Raspbian и да се свържете с вашия Pi, преминете към стъпка 6

Ако имате опит с настройката на PYX сървър и просто искате да знаете редакциите, необходими, за да може той да работи при Pi, преминете към стъпка 13

Отказ от отговорност: Не съм създал „Преструвай се, че си Xyzzy“или клиентското приложение за Android.

Кредит за създаването на „Преструвай се, че си Xyzzy“отива при потребителя на GitHub ajanata (https://github.com/ajanata/PretendYoureXyzzy)

Кредит за създаването на Client For Pretend You Xyzzy е на Gianlu (https://play.google.com/store/apps/dev?id=8675761046824387020)

Ако има някой, който съм пропуснал, моля да ме уведомите.

Консумативи

Хардуер:

Raspberry Pi 3 или 4

Micro SD карта (Използвам 32GB micro SD карти, защото това е, което имам под ръка. Вероятно можете да се справите само с 2GB, но бих препоръчал поне 4GB.)

Компютър с четец на SD карти (Използвам Windows за този урок. Ако използвате Linux, вероятно вече сте запознати с много от тези неща, така че коригирайте инструкциите според нуждите.)

Софтуер:

Raspbian изображение: https://www.raspberrypi.org/downloads/raspbian/ (Всеки трябва да работи. Използвам Raspbian Buster Lite по време на писането.)

Win32 Disk Imager: https://sourceforge.net/projects/win32diskimager/ (Има и други програми, които можете да използвате, за да мигате Raspbian изображението, но това е моето лично предпочитание.)

Шпакловка:

Стъпка 1: Прехвърлете Raspbian на вашата SD карта

Флаш Raspbian на вашата SD карта
Флаш Raspbian на вашата SD карта

Поставете вашата SD карта в четеца на карти на вашия компютър, преди да отворите Win32 Disk Imager. След това изберете вашето Raspbian изображение и буквата на устройството на вашата SD карта и кликнете върху „Write“.

ВНИМАНИЕ: Всичко на SD картата ще бъде изтрито и презаписано. Ако на SD картата има важни данни, първо ги архивирайте. Също така се уверете, че сте избрали правилната буква на устройството за вашата SD карта. В противен случай бихте могли по невнимание да изтриете/презапишете грешния диск

След като приключи, ще имате две отделни устройства на вашата SD карта. Веднъж наречен boot и такъв, който Windows не може да прочете. Вероятно ще получите изскачащ прозорец в Windows с молба да форматирате картата. Просто щракнете върху отмени. Ако го форматирате, ще трябва да мигате Raspbian отново.

Стъпка 2: Създайте текстов файл с име „wpa_supplicant.conf“на зареждащото устройство

Създайте текстов файл с име
Създайте текстов файл с име

На зареждащото устройство на SD картата създайте текстов файл с име wpa_supplicant.conf и поставете кода по -долу вътре. Заменете „име на wifi“и „парола“с действителното име и парола на wifi, но запазете кавичките около тях. Запазете файла.

Това ще позволи на вашия Pi да се свърже с вашия wifi. Ако използвате Ethernet кабел за свързване на вашия Pi към вашата мрежа, вероятно можете да пропуснете тази стъпка.

Уверете се, че разширението на файла е правилно. Трябва да е wpa_supplicant.conf, а не wpa_supplicant.conf.txt

държава = usupdate_config = 1 ctrl_interface =/var/run/wpa_supplicant

мрежа = {

scan_ssid = 1 ssid = "име на wifi" psk = "парола"}

Стъпка 3: Създайте празен файл с име „ssh“на зареждащото устройство

Създайте празен файл с име
Създайте празен файл с име

На зареждащото устройство на SD картата създайте празен файл с име ssh

Не е нужно да има нищо в него, просто трябва да бъде наименувано правилно.

Това ще активира ssh на вашия Pi, което ще ви позволи да се свържете с него чрез Putty.

Уверете се, че файлът е просто кръстен ssh без разширение. Не ssh.txt и т.н

Стъпка 4: Извадете SD картата от вашия компютър, поставете я във вашия Pi и включете Pi

Извадете SD картата от вашия компютър, поставете я във вашия Pi и включете Pi.

Ако всичко работи, вашият Pi ще се зареди и ще се свърже с вашия wifi.

Дайте му няколко минути, за да премине през първоначалната настройка.

Стъпка 5: Свържете се с вашия Pi с помощта на замазка

Свържете се с вашия Pi с помощта на замазка
Свържете се с вашия Pi с помощта на замазка
Свържете се с вашия Pi с помощта на замазка
Свържете се с вашия Pi с помощта на замазка

Отворете Putty и в полето Име на хоста въведете raspberrypi, като се уверите, че типът на връзката е SSH, а портът е 22. Ако се свърже, ще бъдете отведени до черен екран с текст, известен като терминал. Той ще поиска вашето потребителско име и парола. Потребителското име по подразбиране е "pi", а паролата по подразбиране е "raspberry". Силно се препоръчва да промените паролата, особено ако планирате да изложите своя Pi в интернет. За да направите това, въведете „passwd“, след като сте влезли, и следвайте подканите. Не забравяйте да изберете парола, която ще запомните.

Ако не се свърже, може да се наложи да намерите IP адреса, който вашият Pi използва. Има няколко начина да направите това, но лично просто влизам в маршрутизатора си и проверявам списъка с свързани устройства. След като намерите IP на вашия тип Pi в полето за име на хост в Putty вместо в raspberrypi и опитайте да се свържете отново.

Ако все още не можете да се свържете, може да не сте създали правилно ssh файла. Прочетете предишните стъпки и проверете отново всичко.

Стъпка 6: По избор: Променете името на хоста на вашия Pi

По избор: Променете името на хоста на вашия Pi
По избор: Променете името на хоста на вашия Pi
По избор: Променете името на хоста на вашия Pi
По избор: Променете името на хоста на вашия Pi
По избор: Променете името на хоста на вашия Pi
По избор: Променете името на хоста на вашия Pi

Това не е необходимо, но предпочитам да имам името на хоста на моя Pi като нещо релевантно за това, за което се използва, а не просто като родово „raspberrypi“. В този случай го нарекох "xyzzypi", но можете да го наречете както искате.

За да промените типа име на хост:

sudo raspi-config

Изберете Мрежови опции

Изберете Име на хост

Въведете каквото име на хост искате

Изберете Край

Той ще ви попита дали искате да рестартирате Pi сега. Новото име на хост няма да влезе в сила, докато не рестартирате. Ако го направите, вашата сесия на замазка ще се прекъсне. След като приключи рестартирането, ще трябва да използвате новото име на хост, което сте задали, за да се свържете отново с Putty. Ако се свързвахте с помощта на IP адреса вместо името на хоста, то той трябва да е същият.

Има много други опции, които можете да зададете с помощта на инструмента raspi-config, но вече има много уроци за това онлайн, така че няма да ги разглеждам тук.

Стъпка 7: Актуализирайте своите пакети за приложения

Актуализирайте своите пакети за приложения
Актуализирайте своите пакети за приложения

Актуализирайте своите пакети с приложения, като използвате следната команда:

sudo apt-get update

Оставете го да работи, докато свърши.

Забележка: Технически вече не е нужно да въвеждате „apt-get“, можете просто да напишете „apt“. Въпреки това съм толкова свикнал да пиша „apt-get“, че това е просто мускулна памет за мен в този момент.

Стъпка 8: Инсталирайте Git

Инсталирайте Git
Инсталирайте Git

След като пакетите с приложения приключат с актуализирането, инсталирайте Git, като използвате следната команда:

sudo apt -get -y install git

Оставете го да работи, докато свърши.

Стъпка 9: Инсталирайте Maven

Инсталирайте Maven
Инсталирайте Maven

Инсталирайте Maven, като използвате следната команда:

sudo apt -get -y инсталирате maven

Оставете го да работи, докато свърши

Стъпка 10: Изтеглете файловете за сърфиране на Xyzzy

Изтеглете файловете за сървъра на Xyzzy
Изтеглете файловете за сървъра на Xyzzy

Изтеглете сървърните файлове Pretend You Xyzzy, като използвате следната команда:

git клониране git: //github.com/ajanata/PretendYoureXyzzy.git

Това ще създаде директория на вашия Pi на име PretendYoureXyzzy и ще изтегли файловете в нея.

Оставете го да работи, докато свърши.

Стъпка 11: Променете директорията PretendYoureXyzzy

Променете директорията PretendYoureXyzzy
Променете директорията PretendYoureXyzzy

Преминете към директорията PretendYoureXyzzy, като използвате следната команда:

cd PretendYoureXyzzy

Забележка: Командите на Linux са чувствителни към регистъра, така че cd PretendYoureXyzzy ще работи, но cd pretendyourexyzzy няма.

Стъпка 12: Отворете и редактирайте файла „build.properties.example“и го запазете като „build.properties“

Отворете и редактирайте
Отворете и редактирайте
Отворете и редактирайте
Отворете и редактирайте
Отворете и редактирайте
Отворете и редактирайте

Отворете файла build.properties.example с нано текстов редактор, като използвате следната команда:

sudo nano build.properties.example

Използването на терминален текстов редактор може да изглежда малко плашещо за тези, които не са свикнали с него, но това, което правим, е много просто.

Използвайте клавиша със стрелка надолу, за да превъртите надолу, докато намерите разделите, които казват „hibernate.username“и „hibernate.password“.

Използвайте клавиша със стрелка надясно, за да преминете към края на тези редове и променете потребителското име и паролата на нещо друго. Честно казано не знам дали дори е наистина необходимо, но не ми е удобно да ги оставя на потребителското име и паролата по подразбиране, с които са дошли.

След като ги промените, натиснете ctrl+o, за да изведете диалоговия прозорец за запазване.

Backspace, за да премахнете „.example“от края на името на файла, така че да останете само с „build.properties“

Той ще ви попита дали искате да запишете файла под друго име. Натиснете y за да.

Натиснете ctrl+x, за да затворите нано текстов редактор.

Стъпка 13: Отворете и редактирайте файла "pom.xml" (ТОВА ГО РАБОТИ НА PI)

Отворете и редактирайте
Отворете и редактирайте
Отворете и редактирайте
Отворете и редактирайте

Отворете pom.xml файла с нано текстов редактор, като използвате следната команда:

sudo nano pom.xml

Превъртете надолу, както преди. Този път редът, който търсите, е sqlite-jdbc

Точно под този ред е ред с номер на версия. Трябва да промените този номер на 3.28.0, така че да изглежда така:

3.28.0

След като редактирате номера на версията, натиснете ctrl+o, за да изведете диалоговия прозорец за запазване.

Запазете името на файла като "pom.xml" и го запазете.

След като бъде записан, натиснете ctrl+x, за да затворите нано текстов редактор.

Това е редактирането, което кара сървъра Pretend You Xyzzy да работи на Pi. Версията sqlite-jdbc, която се предлага, няма да работи правилно на Pi. Версия 3.28.0 работи чудесно в моите тестове досега

Стъпка 14: Стартирайте Prettend You Xyzzy Server и се уверете, че работи

Стартирайте преструването, че сте Xyzzy сървър и се уверете, че работи
Стартирайте преструването, че сте Xyzzy сървър и се уверете, че работи
Стартирайте преструването, че сте Xyzzy сървър и се уверете, че работи
Стартирайте преструването, че сте Xyzzy сървър и се уверете, че работи
Стартирайте преструването, че сте Xyzzy сървър и се уверете, че работи
Стартирайте преструването, че сте Xyzzy сървър и се уверете, че работи

Сега, след като сте направили необходимите редакции, за да стартирате сървър Pretend You Xyzzy на вашия Pi, нека го стартираме и да видим дали всичко работи. Стартирайте сървъра, като използвате следната команда:

mvn чист пакет война: взривен кей: run -Dmaven.buildNumber.doCheck = false -Dmaven.buildNumber.doUpdate = false

Той ще изтегли някои допълнителни файлове, ще ги компилира и ще стартира сървъра. Това вероятно ще отнеме няколко минути.

Забележка: В момента това е единственият начин да знам как да накарам сървъра да работи, така че той да се компилира всеки път, когато го стартирате.

Ще разберете, че това е направено, когато получите съобщение „Презареждането на конзолата е АКТИВИРАНО. Натиснете ENTER на конзолата, за да рестартирате контекста.“

На този етап можете да отворите браузъра си и да въведете името на хоста (или IP адреса) на Pi добавящия порт 8080 в края. Име на хост: 8080 или IP: 8080

Ако сте използвали xyzzypi като име на хост, ще бъде xyzzypi: 8080 или в моя случай, използвайки IP, ще бъде 192.168.1.189:8080

Ако всичко работи, ще бъдете отведени до главната страница на „Преструвайте се на Xyzzy“.

Честито! Ти го направи

Въпреки това в момента той ще се изпълнява само ако влезете във вашия Pi с Putty и изпълните командата по -горе, за да стартирате сървъра. След като затворите Putty, сървърът ще спре. Това може да е добре за някои хора, но може да искате сървърът да се преструвате, че сте Xyzzy да се стартира автоматично всеки път, когато Pi се стартира или рестартира, без да се налага да влизате в системата. Следващите стъпки ще обхващат това да работи.

Стъпка 15: Направете скрипт, за да започнете да се преструвате, че сте Xyzzy сървър

Направете скрипт, за да започнете да се преструвате, че сте Xyzzy сървър
Направете скрипт, за да започнете да се преструвате, че сте Xyzzy сървър
Направете скрипт, за да започнете да се преструвате, че сте Xyzzy сървър
Направете скрипт, за да започнете да се преструвате, че сте Xyzzy сървър

Ако искаме сървърът „Преструвай се, че си Xyzzy“да се стартира автоматично, когато Pi се стартира или рестартира, първото нещо, което трябва да направим, е да създадем скрипт.

Натиснете ctrl+c, за да спрете сървъра.

След като спре, въведете следната команда:

sudo nano xyzzy.sh

Забележка: Нарекох моя скрипт xyzzy.sh, но можете да го наречете както искате. Просто се уверете, че има.sh като разширение на файла.

Използвайки nano текстов редактор, въведете или поставете следното във файла:

#!/bin/bashcd/home/pi/PretendYoureXyzzy mvn война с чисти пакети: взривен кей: run -Dmaven.buildNumber.doCheck = false -Dmaven.buildNumber.doUpdate = false

Натиснете ctrl+o, за да изведете диалоговия прозорец за запазване

Запазете файла и натиснете ctrl+x, за да затворите nano

Стъпка 16: Направете вашия скрипт изпълним

Направете вашия скрипт изпълним
Направете вашия скрипт изпълним

Трябва да направим скрипта изпълним с помощта на следната команда:

sudo chmod 755 xyzzy.sh

Забележка: Ако сте нарекли скрипта си нещо различно в предишната стъпка, използвайте това име на файла вместо това.

Стъпка 17: Създайте Crontab запис за автоматично стартиране на вашия скрипт при зареждане

Създайте Crontab запис за автоматично стартиране на вашия скрипт при зареждане
Създайте Crontab запис за автоматично стартиране на вашия скрипт при зареждане
Създайте Crontab запис за автоматично стартиране на вашия скрипт при зареждане
Създайте Crontab запис за автоматично стартиране на вашия скрипт при зареждане
Създайте Crontab запис за автоматично стартиране на вашия скрипт при зареждане
Създайте Crontab запис за автоматично стартиране на вашия скрипт при зареждане

Има няколко начина да накарате скрипта да се изпълнява при зареждане. Използвам crontab тук.

Редактирайте таблиците crontab, като използвате следната команда:

crontab -е

Ще ви попита кой редактор искате да използвате. Въведете 1 и натиснете enter, за да използвате nano.

След като се отвори, превъртете докрай до дъното и добавете следния ред:

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

Забележка: Отново, ако вместо това сте използвали различно име на файл за вашия тип скрипт.

Натиснете ctrl+o, за да изведете диалоговия прозорец за запазване.

Запазете и натиснете ctrl+x, за да затворите nano.

Стъпка 18: Рестартирайте Pi и вижте дали можете да се свържете, за да се преструвате, че сте Xyzzy

Рестартирайте Pi и вижте дали можете да се свържете, за да се преструвате, че сте Xyzzy
Рестартирайте Pi и вижте дали можете да се свържете, за да се преструвате, че сте Xyzzy

Сега, когато сте настроили вашия сървър Pretend You Xyzzy да работи при зареждане, можете да рестартирате Pi и да се уверите, че всичко работи.

Рестартирайте, като използвате следната команда:

sudo рестартиране

След като се стартира Pi, ще отнеме няколко минути, за да прекомпилирате всичко за сървъра. Дайте му време и след това опитайте отново да се свържете в браузъра, като използвате името на хоста или IP на порта за добавяне на Pi 8080 в края.

xyzzypi: 8080 или IP адрес: 8080

Ако всичко работи, ще бъдете отведени на страницата „Преструвай се, че си Xyzzy“.

Честито! Вече имате сървър Pretend You Xyzzy, който работи автоматично на Raspberry Pi

Стъпка 19: По избор: Препратете портовете, за да разрешите достъп до вашия преструвате, че сте Xyzzy сървър през Интернет

Така че сега имате работещ сървър „Представете се, че сте Xyzzy“, но в момента той е достъпен само във вашата локална мрежа. Това работи добре, ако имате група приятели, които да играят в дома ви, но хората извън вашата локална мрежа няма да могат да се свържат.

Ще трябва да потърсите инструкции за пренасочване на портове за вашия конкретен рутер, ако още не знаете как. Преструвайте се, че Xyzzy използва порт 8080, така че това е портът, който искате да препратите. След като го настроите, ще можете да дадете на приятелите си външния си IP адрес и порт и те ще могат да се свържат с вашия сървър през интернет.

Ако искате, можете също да настроите динамичен DNS, така че да имате свой собствен URL адрес (нещо като JoesPYXserver.noip.com), който да дадете на приятели, за да се свържат с вашия сървър. Вече има много уроци за такива неща.

Препоръчано: