Оглавление:

Представьте, что вы сервер Xyzzy на Raspberry Pi: 19 шагов
Представьте, что вы сервер Xyzzy на Raspberry Pi: 19 шагов

Видео: Представьте, что вы сервер Xyzzy на Raspberry Pi: 19 шагов

Видео: Представьте, что вы сервер Xyzzy на Raspberry Pi: 19 шагов
Видео: 05. Сетевой уровень: связность и целевая маршрутизация (эфир) 2024, Ноябрь
Anonim
Представьте, что вы сервер Xyzzy на Raspberry Pi
Представьте, что вы сервер Xyzzy на Raspberry Pi

Это руководство покажет вам, как настроить сервер Pretend You're Xyzzy (PYX) на Raspberry Pi. Я называю это XyzzyPi

Представьте, что вы Xyzzy - это онлайн-клон Cards Against Humanity с открытым исходным кодом, в который можно играть в веб-браузере.

На Android вы также можете использовать клиент для приложения «Представьте, что вы Xyzzy».

Когда я начал заниматься настройкой своего собственного PYX-сервера, мне было трудно найти инструкции, которые не были устаревшими и которым было легко следовать. Казалось, что большинство из них написано для людей, которые уже имели некоторый опыт настройки PYX-сервера. Мне удалось во всем разобраться, но я хотел создать пошаговое руководство для тех, кто менее разбирается в технологиях или не имеет большого опыта в таких вещах. Кроме того, я не смог найти никаких инструкций по запуску его на Raspberry Pi. После некоторых проб и ошибок мне удалось запустить сервер PYX на Pi с небольшими изменениями файлов. Надеюсь, это сэкономит время тем, кому интересно.

Я сделал это на Pi 3 модели B + и Pi 4 модели B 4 ГБ. При использовании Pi Zero W возникают некоторые проблемы из-за того, что процессор неправильно обрабатывает виртуальную машину Java. В настоящее время я пытаюсь заставить его работать на Zero W и обновлю инструкции, если мне это удастся. У меня нет Pi 1 или 2 для тестирования, поэтому это может работать или не работать с ними.

Я постарался сделать это руководство удобным для людей с любым уровнем подготовки, так что здесь может быть что-то, что вы уже знаете.

Если вы уже знаете, как установить Raspbian и подключиться к вашему Pi, перейдите к шагу 6

Если у вас есть опыт настройки сервера PYX и вы просто хотите узнать, какие изменения необходимы, чтобы он работал на Pi, перейдите к шагу 13

Заявление об ограничении ответственности: я не создавал приложение Pretend You're Xyzzy или клиентское приложение для Android.

Кредит за создание «Представьте, что вы Xyzzy» получил пользователь GitHub ajanata (https://github.com/ajanata/PretendYoureXyzzy)

Благодарим за создание клиента для игры «Представьте, что вы Xyzzy» Джанлу (https://play.google.com/store/apps/dev?id=8675761046824387020)

Если есть кто-то, кого я скучал, дайте мне знать.

Запасы

Аппаратное обеспечение:

Raspberry Pi 3 или 4

Карта Micro SD (я использую карты Micro SD на 32 ГБ, потому что это то, что у меня есть под рукой. Вероятно, вы можете обойтись всего с 2 ГБ, но я бы рекомендовал как минимум 4 ГБ).

ПК с устройством чтения 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-карты и нажмите «Написать».

ВНИМАНИЕ: Все данные на SD-карте будут удалены и перезаписаны. Если на SD-карте есть важные данные, сначала сделайте их резервную копию. Также убедитесь, что вы выбрали правильную букву диска для вашей SD-карты. В противном случае вы можете случайно стереть / перезаписать не тот диск

По завершении у вас будет два отдельных диска на SD-карте. Один раз вызвал загрузку и тот, который Windows не может прочитать. Вероятно, в Windows появится всплывающее окно с просьбой отформатировать карту. Просто нажмите "Отмена". Если вы его отформатируете, вам придется снова прошить Raspbian.

Шаг 2. Создайте текстовый файл с именем «wpa_supplicant.conf» на загрузочном диске

Создать текстовый файл с именем
Создать текстовый файл с именем

На загрузочном диске SD-карты создайте текстовый файл с именем wpa_supplicant.conf и вставьте внутрь код, указанный ниже. Замените «имя Wi-Fi» и «пароль» на свое настоящее имя и пароль Wi-Fi, но оставьте их в кавычках. Сохраните файл.

Это позволит вашему Pi подключиться к вашему Wi-Fi. Если вы используете кабель Ethernet для подключения Pi к своей сети, вы, вероятно, можете пропустить этот шаг.

Убедитесь, что расширение файла правильное. Это должен быть wpa_supplicant.conf, а не wpa_supplicant.conf.txt

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

network = {

scan_ssid = 1 ssid = "имя Wi-Fi" psk = "пароль"}

Шаг 3. Создайте пустой файл с именем ssh на загрузочном диске

Создать пустой файл с именем
Создать пустой файл с именем

На загрузочном диске SD-карты создайте пустой файл с именем ssh

В нем ничего не должно быть, просто нужно правильно назвать.

Это включит ssh на вашем Pi, что позволит вам подключиться к нему с помощью Putty.

Убедитесь, что файл называется просто ssh без расширения. Не ssh.txt и т. Д

Шаг 4: Извлеките SD-карту из вашего ПК, вставьте ее в свой Pi и включите свой Pi

Извлеките SD-карту из вашего ПК, вставьте ее в свой Pi и включите свой Pi.

Если все работает, ваш Pi загрузится и подключится к вашему Wi-Fi.

Дайте ему пару минут, чтобы выполнить первоначальную настройку.

Шаг 5: подключитесь к вашему Pi с помощью Putty

Подключитесь к вашему Pi с помощью Putty
Подключитесь к вашему Pi с помощью Putty
Подключитесь к вашему Pi с помощью Putty
Подключитесь к вашему Pi с помощью Putty

Откройте Putty и в поле Host Name введите raspberrypi, убедившись, что тип подключения - SSH, а порт - 22. Если он подключается, вы попадете на черный экран с текстом на нем, известный как терминал. Он запросит ваше имя пользователя и пароль. Имя пользователя по умолчанию - «пи», а пароль по умолчанию - «малина». Настоятельно рекомендуется изменить пароль, особенно если вы планируете, что ваш Pi будет доступен в Интернете. Для этого введите «passwd» после входа в систему и следуйте инструкциям. Обязательно выберите пароль, который вы запомните.

Если он не подключается, вам может потребоваться найти IP-адрес, который использует ваш Pi. Есть несколько способов сделать это, но лично я просто вхожу в свой маршрутизатор и проверяю список подключенных устройств. Как только вы найдете IP-адрес своего типа Pi в поле Host Name в Putty вместо raspberrypi, попробуйте подключиться снова.

Если вы по-прежнему не можете подключиться, возможно, вы создали файл ssh неправильно. Прочтите предыдущие шаги и дважды проверьте все.

Шаг 6: Необязательно: измените имя хоста вашего Pi

Необязательно: измените имя хоста вашего Pi
Необязательно: измените имя хоста вашего Pi
Необязательно: измените имя хоста вашего Pi
Необязательно: измените имя хоста вашего Pi
Необязательно: измените имя хоста вашего Pi
Необязательно: измените имя хоста вашего Pi

В этом нет необходимости, но я предпочитаю иметь имя хоста моего Pi как нечто относящееся к тому, для чего он используется, а не просто общее «raspberrypi». В данном случае я назвал его «xyzzypi», но вы можете называть его как хотите.

Чтобы изменить тип имени хоста:

sudo raspi-config

Выберите параметры сети

Выберите имя хоста

Введите любое имя хоста, которое хотите

Выберите Готово

Он спросит, хотите ли вы перезагрузить Pi сейчас. Новое имя хоста не вступит в силу, пока вы не перезагрузитесь. Если вы это сделаете, ваш сеанс Putty отключится. После завершения перезагрузки вам нужно будет использовать новое имя хоста, которое вы установили для повторного подключения с Putty. Если вы подключались с использованием IP-адреса вместо имени хоста, он все равно должен быть таким же.

Есть много других параметров, которые вы можете установить с помощью инструмента raspi-config, но в Интернете уже есть множество руководств по этому поводу, поэтому я не буду вдаваться в них здесь.

Шаг 7. Обновите пакеты приложений

Обновите пакеты приложений
Обновите пакеты приложений

Обновите пакеты приложений, используя следующую команду:

sudo apt-get update

Дайте ему поработать, пока он не закончится.

Примечание. Технически вам больше не нужно набирать «apt-get», вы можете просто набирать «apt». Однако я так привык набирать «apt-get», что сейчас для меня это просто мышечная память.

Шаг 8: установите Git

Установить Git
Установить Git

После завершения обновления пакетов приложений установите Git с помощью следующей команды:

sudo apt-get -y установить git

Дайте ему поработать, пока он не закончится.

Шаг 9: установите Maven

Установить Maven
Установить Maven

Установите Maven с помощью следующей команды:

sudo apt-get -y установить maven

Пусть работает, пока не закончит

Шаг 10: Загрузите файлы «Представьте, что вы Xyzzy Server»

Загрузите файлы «Представьте, что вы Xyzzy Server»
Загрузите файлы «Представьте, что вы Xyzzy Server»

Загрузите файлы сервера «Представьте, что вы Xyzzy», используя следующую команду:

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

Это создаст на вашем Pi каталог с именем PretendYoureXyzzy и загрузит в него файлы.

Дайте ему поработать, пока он не закончится.

Шаг 11: перейдите в каталог PretendYoureXyzzy

Перейдите в каталог PretendYoureXyzzy
Перейдите в каталог PretendYoureXyzzy

Перейдите в каталог PretendYoureXyzzy, используя следующую команду:

компакт-диск PretendYoureXyzzy

Примечание. Команды Linux чувствительны к регистру, поэтому cd PretendYoureXyzzy будет работать, а cd pretendyourexyzzy - нет.

Шаг 12. Откройте и отредактируйте файл build.properties.example и сохраните его как build.properties

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

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

sudo nano build.properties.example

Использование текстового редактора на основе терминала может показаться немного пугающим для тех, кто к нему не привык, но то, что мы делаем, очень просто.

Используйте клавишу со стрелкой вниз для прокрутки вниз, пока не найдете разделы, в которых написано «hibernate.username» и «hibernate.password».

Используйте клавишу со стрелкой вправо, чтобы перейти к концу этих строк и изменить имя пользователя и пароль на другие. Честно говоря, я не знаю, действительно ли это необходимо, но мне неудобно оставлять для них имя пользователя и пароль по умолчанию, с которыми они пришли.

После того, как вы их изменили, нажмите ctrl + o, чтобы открыть диалоговое окно сохранения.

Backspace, чтобы удалить ".example" в конце имени файла, чтобы у вас остался только "build.properties"

Он спросит, хотите ли вы сохранить файл под другим именем. Нажмите y для подтверждения.

Нажмите ctrl + x, чтобы закрыть текстовый редактор nano.

Шаг 13: Откройте и отредактируйте файл «pom.xml» (ЭТО ТАКОЕ ДЕЙСТВИТЕЛЬНО ЗАПУСКАЕТСЯ НА PI)

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

Откройте файл pom.xml в текстовом редакторе nano, используя следующую команду:

sudo nano pom.xml

Прокрутите вниз, как раньше. На этот раз строка, которую вы ищете, - sqlite-jdbc

Чуть ниже этой строки находится строка с номером версии. Вам нужно изменить это число на 3.28.0, чтобы оно выглядело так:

3.28.0

После редактирования номера версии нажмите ctrl + o, чтобы открыть диалоговое окно сохранения.

Сохраните имя файла как «pom.xml» и сохраните его.

После сохранения нажмите ctrl + x, чтобы закрыть текстовый редактор nano.

Это редактирование, которое заставляет сервер Pretend You're Xyzzy работать на Pi. Версия sqlite-jdbc, с которой он поставляется, не будет работать должным образом на Pi. Версия 3.28.0 пока отлично работает в моих тестах

Шаг 14: Запустите сервер «Представьте, что вы Xyzzy» и убедитесь, что он работает

Запустите сервер, представьте, что вы Xyzzy, и убедитесь, что он работает
Запустите сервер, представьте, что вы Xyzzy, и убедитесь, что он работает
Запустите сервер, представьте, что вы Xyzzy, и убедитесь, что он работает
Запустите сервер, представьте, что вы Xyzzy, и убедитесь, что он работает
Запустите сервер, представьте, что вы Xyzzy, и убедитесь, что он работает
Запустите сервер, представьте, что вы Xyzzy, и убедитесь, что он работает

Теперь, когда вы внесли необходимые изменения, чтобы запустить сервер «Представьте, что вы Xyzzy» на своем Pi, давайте запустим его и посмотрим, все ли работает. Запустите сервер с помощью следующей команды:

mvn clean package war: взорванный причал: 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

Если мы хотим, чтобы сервер Pretend You're Xyzzy запускался автоматически при загрузке или перезагрузке Pi, первое, что нам нужно сделать, это создать скрипт.

Нажмите ctrl + c, чтобы остановить сервер.

Как только он остановится, введите следующую команду:

sudo nano xyzzy.sh

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

В текстовом редакторе nano введите или вставьте в файл следующее:

#! / bin / bashcd / home / pi / PretendYoureXyzzy mvn clean package war: взорванный причал: 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 -e

Он спросит, какой редактор вы хотите использовать. Введите 1 и нажмите Enter, чтобы использовать nano.

Как только он откроется, прокрутите до конца и добавьте следующую строку:

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

Примечание: Опять же, если вы использовали другое имя файла для своего типа скрипта, вместо этого.

Нажмите ctrl + o, чтобы открыть диалоговое окно сохранения.

Сохраните и нажмите ctrl + x, чтобы закрыть nano.

Шаг 18: перезагрузите Pi и посмотрите, сможете ли вы подключиться, чтобы притвориться, что вы Xyzzy

Перезагрузите свой Pi и посмотрите, сможете ли вы подключиться, чтобы притвориться, что вы Xyzzy
Перезагрузите свой Pi и посмотрите, сможете ли вы подключиться, чтобы притвориться, что вы Xyzzy

Теперь, когда у вас есть сервер «Представьте, что вы Xyzzy» настроен на запуск при загрузке, вы можете перезагрузить Pi и убедиться, что все работает.

Перезагрузитесь с помощью следующей команды:

перезагрузка sudo

После того, как Pi загрузится, потребуется пара минут, чтобы перекомпилировать все для сервера. Дайте ему время, а затем попробуйте снова подключиться в браузере, используя имя хоста или IP-адрес Pi, добавив порт 8080 в конце.

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

Если все работает, вы попадете на страницу «Представьте, что вы Xyzzy».

Поздравляю! Теперь у вас есть сервер «Представьте, что вы Xyzzy», который автоматически запускается на Raspberry Pi

Шаг 19: Необязательно: перенаправьте порты, чтобы разрешить доступ к вашему серверу Xyzzy через Интернет

Итак, теперь у вас есть рабочий сервер Pretend You're Xyzzy, но на данный момент он доступен только в вашей локальной сети. Это отлично работает, если у вас есть группа друзей, чтобы поиграть у вас дома, но люди за пределами вашей локальной сети не смогут подключиться.

Вам нужно будет найти инструкции по переадресации портов для вашего конкретного маршрутизатора, если вы еще не знаете, как это сделать. Представьте, что вы Xyzzy использует порт 8080, так что это порт, который вы хотите перенаправить. После того, как вы его настроите, вы сможете дать своим друзьям свой внешний IP-адрес и порт, и они смогут подключаться к вашему серверу через Интернет.

Если вы хотите, вы также можете настроить динамический DNS, чтобы у вас был собственный URL-адрес (что-то вроде JoesPYXserver.noip.com), который вы можете раздавать друзьям для подключения к вашему серверу. Для такого рода вещей уже существует множество руководств.

Рекомендуемые: