Главная » Статьи » Учебник: практика

Установка Panda3D, на сервер Ubuntu
    Здравствуйте, рано или поздно встает необходимость установить панду на сервер. Причины бывают разные, основная причина для ознакомления с сетевыми возможностями панды. Если вы планируете разрабатывать игры с поддержкой сети, это будет разумным выбором, так как вы сразу окунетесь в сетевые проблемы.

    И так сервер, может быть VDS, или выделенный. В качестве операционной системы я выбирал из семейства unix, для которых есть пакеты панды, остановился на Ubuntu. Спросите, почему под unix? Ответ очень прост, она не страдает прожорливостью, мало весит, по крайней мере как WINDOWS XP, имеется на борту питон с предустановленными пакетами. Куча бесплатных программ и многое другое. Да стоимость под управлением OS unix, серверов намного ниже. В то время под Windows они значительно дороже, из-за лицензии.

    После того как вы выполнили формальности аренды сервера, хостер вам даст данные доступа к серверу. Так же сообщит клиент, например PuTTY, для доступа по протоколу SSH, его нужно скачать и установить. Что является наилучшим выбором, так например, использовать UltraVNC Viewer, не очень удобно. Банально не нашел как скопировать пароль в терминал. А набирать вслепую, меня как то жизнь не готовила, дело в том, что в unix системах, при наборе пароля даже звездочки не отображаются, можно конечно аккуратно, но доблестная система через некоторое время выводит поле для ввода логина. И после громких матов, я протер от слюней монитор, и перешел на PuTTY. Стоить заметить, что у разных хостеров, разные клиенты для доступа. Но у всех принцип одинаковый, всегда нужны следующие данные.

(Пример)
IP адрес: 41.216.191.109
Login: root
Password: H74Jwe83UIe3
Port: 22

    Это дело все сохраните в текстовый документ, для того чтоб при необходимости скопировать. И так сервер вам выдали, операционная система стоит Ubuntu, у меня, например версия 16.04.1 LTS Запускаем PuTTY, прописываем в окошке IP адрес, так же обратите внимание на номер порта, там должен стоять в нашем случае 22.



    После чего жмем соединиться, и если сервер ответил, то появится предложение ввести логин.

Цитата Консоль
login as:


    Скопируем логин из файла, знаю, вы удивитесь этому предложению, ведь ввести четыре символа с клавиатуры быстрей. Но есть одна загвоздка, может только у меня, что было введено вручную не принимается, даже если сохранить в настройках программы, то рано или поздно консоль не примет эти данные. Стоит сказать про особенность работы с консолью, для того чтоб вставить, что ни будь. Просто щёлкните правой кнопкой мыши, то произойдет вставка. Если хотите скопировать из консоли что либо, то выделите мышью нужный текст, и нажмите левую кнопку, и произойдет копирование в буфер. Очень удобная система для работы с текстом вызывает привыкание, и порой удивляешься, чего это под Windows она не работает. Далее нажмите Enter и введите таким же образом пароль, но будьте готовы, что ни чего не произойдёт, просто опять Enter.

Цитата Консоль
login as: root
root@41.216.191.109's password:


    После запуститься терминал Ubuntu.

Цитата Консоль
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 3.13.0-24-generic x86_64)

* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
root@localhost:~#


    Теперь нужно узнать кодовое имя ядра, нашей системы, для тех, кто не знает. Выполните эту команду:

Цитата Консоль
root@localhost:~# lsb_release –a


    Результат.

Цитата Консоль
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial


    После чего установим панду для нашего ядра - xenial , для этого нам нужно её скачать. Будем закачивать через консоль, программой wget. Просто скопировав нужную ссылку со страницы загрузки на сайте.

    Набираете эту команду, добавив ссылку и нажмите ввод(Enter).

Цитата Консоль
root@localhost:~# wget http://www.panda3d.org/download/panda3d-1.9.2/panda3d1.9_1.9.2~xenial_amd64.deb


    Результат.

Цитата Консоль
1.9.2~xenial_amd64.deb http://www.panda3d.org/download/panda3d-1.9.2/panda3d1.9
--2016-10-23 21:59:35-- http://www.panda3d.org/download/panda3d-1.9.2/panda3d1b
Resolving www.panda3d.org (www.panda3d.org)... 128.2.236.234
Connecting to www.panda3d.org (www.panda3d.org)|128.2.236.234|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 31670474 (30M) [application/x-debian-package]
Saving to: ‘panda3d1.9_1.9.2~xenial_amd64.deb’

panda3d1.9_1.9.2~xe 100%[===================>] 30.20M 3.06MB/s in 15s

2016-10-23 21:59:51 (2.00 MB/s) - ‘panda3d1.9_1.9.2~xenial_amd64.deb’ saved [31]


    Стоит сказать, что пакет панды был загружен в папку root. Теперь можно перейти непосредственно к установке. Выполнив команду для установки:

Цитата Консоль
root@localhost:~# dpkg -i /root/panda3d1.9_1.9.2~xenial_amd64.deb


    Результат.

Цитата Консоль
(Reading database ... 123109 files and directories currently installed.)
Preparing to unpack .../panda3d1.9_1.9.2~xenial_amd64.deb ...
Unpacking panda3d1.9 (1.9.2~xenial) over (1.9.2~xenial) ...
running ldconfig
dpkg: dependency problems prevent configuration of panda3d1.9:
panda3d1.9 depends on libavcodec-ffmpeg56 (>= 7:2.4) | libavcodec-ffmpeg-extra:
Package libavcodec-ffmpeg56 is not installed.
Package libavcodec-ffmpeg-extra56 is not installed.
panda3d1.9 depends on libavformat-ffmpeg56 (>= 7:2.4); however:
Package libavformat-ffmpeg56 is not installed.
panda3d1.9 depends on libavutil-ffmpeg54 (>= 7:2.4); however:
Package libavutil-ffmpeg54 is not installed.
panda3d1.9 depends on libbulletcollision2.83.6; however:
Package libbulletcollision2.83.6 is not installed.
panda3d1.9 depends on libbulletdynamics2.83.6; however:
Package libbulletdynamics2.83.6 is not installed.
panda3d1.9 depends on libbulletsoftbody2.83.6; however:
Package libbulletsoftbody2.83.6 is not installed.
panda3d1.9 depends on libcg (>= 3.0.0007); however:
Package libcg is not installed.
panda3d1.9 depends on libcggl (>= 3.1.0010); however:
Package libcggl is not installed.
panda3d1.9 depends on libgl1-
dpkg: error processing package panda3d1.9 (--install):
dependency problems - leaving unconfigured
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for shared-mime-info (1.5-2ubuntu0.1) ...
Processing triggers for libc-bin (2.23-0ubuntu3) ...
Errors were encountered while processing:
panda3d1.9


    Это значит установка запнулась об зависимости. Настало время следующей команды.

Цитата Консоль
root@localhost:~# apt-get -f install


    Результат.



    Отвечаем Y, и жмем Enter. Дальше будет много текста о скачивании и распаковке. Не забывайте сначала переключить клавиатуру на английский, перед ответом.



    Заново повторяем установку, командой:

Цитата Консоль
root@localhost:~# dpkg -i /root/panda3d1.9_1.9.2~xenial_amd64.deb


    Результат.

Цитата Консоль
(Reading database ... 123960 files and directories currently installed.)
Preparing to unpack .../panda3d1.9_1.9.2~xenial_amd64.deb ...
Unpacking panda3d1.9 (1.9.2~xenial) over (1.9.2~xenial) ...
running ldconfig
Setting up panda3d1.9 (1.9.2~xenial) ...
running ldconfig
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for shared-mime-info (1.5-2ubuntu0.1) ...
Processing triggers for libc-bin (2.23-0ubuntu3) ...


    Теперь нужно выполнить обновление установленных пакетов:

Цитата Консоль
root@localhost:~# apt-get update


    Результат.



    Теперь нужно установить dev пакеты для python. Выполним команду:

Цитата Консоль
root@localhost:~# apt-get install python-dev


    Результат.



    Опять вопрос продолжить? Естественно Y.



    Осталось выполнить контрольную проверку.

Цитата Консоль
root@localhost:~# locate libpython2.7.so.1.0


    Результат.

Цитата Консоль
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0


    И вот все готово, можно закрыть программу PuTTY.

    Настал второй этап, теперь нужно обзавестись собственно сервером игры, идем по ссылке и скачиваем архив под статьей. Распаковываем, скажем, на диск D. Далее скачиваем и устанавливаем FTP клиент FileZilla, по ссылке. После как установили, в левом окошке ищем нашу папку с сервером игры. Должно быть так как на скриншоте.



    Теперь, где хост вводим наш IP сервера и дальше все данные из текстового файла по порядку. И жмем быстрое соединение. При успешном подключении появится структура нашего сервера из папок справа.



    Здесь видим скаченный пакет Панды. Но нам нужно пройти по этому пути, хотя не обязательно, можно вбить адресной строке правого окна: /usr/share/panda3d/samples и мы попадем в папку с примерами.

    Теперь, нажимаем правую кнопку мыши и создаем каталог с именем server, после заходим в папку. И легким движением мыши перетаскиваем файл rawServer.py из левого окна в правое, должно получится так.



    Вот и все второй этап закончен. Осталось запустить сервер, снова запустим прогу PuTTY. И выполним вход в Ubuntu. Далее введем команду:

Цитата Консоль
root@localhost:~# cd /usr/share/panda3d/samples/server


    После:

Цитата Консоль
root@localhost:/usr/share/panda3d/samples/server# python rawServer.py & exit


    И увы не увидим как наш сервер стартовал, из за команды exit. Она нужна для того чтоб наш сервер не остановился при выходе из PuTTY. Теперь настало время проверить это дело клиентом, который был в архиве вместе сервером. Для этого отредактируем эту строчку:

    clnt = MyClient("127.0.0.1", 9099)

    изменим её, прописав адрес своего сервера:

    clnt = MyClient("41.216.191.109", 9099)

    И можно запускать файл, rawClient.py

    Финишем должно стать, сообщение в консоли Hello, Server!

    Ну и все, не успели начать как уже закончили.
Категория: Учебник: практика | Добавил: serg-kkz (23.10.2016)
Просмотров: 1447 | Теги: ubuntu, Panda3D, Сервер | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Онлайн всего: 1
Гостей: 1
Пользователей: 0