The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Установка сервера PvPGN на NetBSD (netbsd game)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: netbsd, game,  (найти похожие документы)
From: Михаил Сгибнев <mixa(@).dreamcatcher.ru> Date: 2006-09-13 16:22:42 Subject: Установка сервера PvPGN на NetBSD
Автор: Сгибнев Михаил

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

Данная статья имеет целью ознакомить читателя с методикой развертывания сервера PvPGN, обеспечивающего реализацию возможностей BattleNet. В качестве операционной системы используется NetBSD 2.0.2

Установка сервера Apache

В данной статье я не преследую цели выполнить оптимальную настройку Apache, MySQL или PHP, но устанавливать эти продукты из системы портов было бы слишком просто. Поэтому, все будем компилировать из исходных текстов.

Итак, первым у нас на очереди вэб-сервер Apache, который займется у нас отображением статистики игры. Текущей, на момент написания статьи, была версия 2.0.54:
    
    tar xvzf httpd-2.0.54.tar.gz
    cd httpd-2.0.54
    ./configure  --prefix=/opt2/apache2  --enable-so --enable-ssl --enable-cgi
    make
    make install
    
    

Установка сервера MySQL

Тут нам будет немного труднее. Необходимо создать группу и пользователся, с правами которого будет выполняться сервер.
    
    groupadd mysql
    useradd -g mysql mysql
    
    
Распаковываем архив, компилируем и устанавливаем сервер:
    
    tar xvzf mysql-4.1.14.tar.gz
    cd mysql-4.1.14
    ./configure --prefix=/opt2/mysql
    make 
    make install
    cp support-files/my-medium.cnf /etc/my.cnf
    
    
Первый запуск:
    
    /opt2/mysql/bin/mysql_install_db --user=mysql
    chown -R root  .
    chown -R mysql var
    chgrp -R mysql .
    bin/mysqld_safe --user=mysql &
    /opt2/mysql/bin/mysqladmin -u root password new-password
    
    
Необходимо убедиться в том, что сервер баз данных запустился и готов принимать запросы:
    
    root@netbsd:netstat -an
    Active Internet connections (including servers)
    Proto Recv-Q Send-Q  Local Address          Foreign Address        State
    ...
    tcp        0      0  *.3306                 *.*                    LISTEN
    ...
    
    
или
    
    root@netbsd:ps -aux | grep mysql
    root   20364  0.0  0.0   152     4 p0- IW    1:25PM 0:00.03 /bin/sh /opt2/mysql/bin/mysqld_safe --user=mysql
    mysql  25919  0.0  0.0 42136  4028 p0- IWa   1:25PM 5:44.66 /opt2/mysql/libexec/mysqld --basedir=/opt2/mysql 
    
    
Теперь необходимо создать базу данных для нашего игрового сервера:
    
    mysql -u root -p
    mysql> create database pvpgn;
    mysql> grant all on pvpgn.* to pvpgn@'localhost' identified by "password";
    
    

Установка PHP

Здесь все просто:
    
    tar xvzf php-5.0.4.tar.gz
    cd php-5.0.4
    ./configure --with-apxs2=/opt2/apache2/bin/apxs --with-mysql=/opt2/mysql/ --prefix=/opt2/php --disable-libxml
    make 
    make install
    
    

Установка сервера PvPGN

Вот мы и подошли к самому захватывающему.
    
    tar xvzf pvpgn-1.7.8.tar.gz
    cd pvpgn-1.7.8/src
    
    
Местоположение хедеров и библиотек MySQL можно указать через аргументы LDFLAGS и CPPFLAGS, я предпочел внести изменеия непосредственно в файл configure, где добавил соответствующие пути к переменным mysql_try_libs и mysql_try_includes. Далее нам необходимо сделать ход конем:
    
    cp /usr/pkg/lib/mysql/libmysqlclient.so.14 /usr/lib/
    
    
иначе, мы получим ошибку при выполнении ./configure. Далее, нам понадобится GNU версия утилиты make, которую я поставил из прекомпилированных пакетов:
    
    pkg_add gmake-3.80nb4.tgz
    
    
Заключительный этап установки:
    
    ./configure --prefix="/opt2/bnetd" --disable-d2cs --disable-d2dbs --with-mysql
    gmake
    gmake install
    
    

Настройка сервера PvPGN и отображение статистики игр

Для обеспечения работоспособности сервера необходим пакет pvpgn-support-1.0. Здесь все предельно ясно:
    
    tar xvzf pvpgn-support-1.0.tar.gz
    cp -r pvpgn-support-1.0/* /opt2/bnetd/var/files/
    
    
В файле конфигурации /opt2/bnetd/etc/bnetd.conf необходимо раскомментировать и исправить следующую строку:
    
    storage_path = sql:mode=mysql;host=localhost;name=pvpgn;user=pvpgn;pass=password;default=0
    
    
Запускаем сервер:
    
    /opt2/bnetd/sbin/bnetd
    
    
Проверяем правильность работы:
    
    root@netbsd:netstat -an
    Active Internet connections (including servers)
    Proto Recv-Q Send-Q  Local Address          Foreign Address        State
    tcp        0      0  *.6200                 *.*                    LISTEN
    tcp        0      0  *.6112                 *.*                    LISTEN
    tcp        0      0  *.3306                 *.*                    LISTEN
    udp        0      0  *.6112                 *.*
    
    
Исследуем журнальный файл:
    
    Sep 12 17:08:17 [info ] eventlog_startup: logging event levels: fatal,error,warn,info,debug,trace
    Sep 12 17:08:17 [debug] give_up_root_privileges: about to give up root privileges
    Sep 12 17:08:17 [info ] pvpgn_greeting: PvPGN BnetD Mod version 1.7.8 process 29451
    Sep 12 17:08:17 [info ] storage_init: initializing storage layer (available drivers: file, sql)
    Sep 12 17:08:17 [info ] sql_dbcreator: Creating missing tables and columns (if any)
    Sep 12 17:08:18 [info ] sql_dbcreator: added missing table BNET to DB
    Sep 12 17:08:18 [info ] sql_dbcreator: added missing column uid int NOT NULL PRIMARY KEY to table BNET
    Sep 12 17:08:18 [info ] sql_dbcreator: added missing column acct_username varchar(32) to table BNET
    Sep 12 17:08:18 [info ] sql_dbcreator: added missing column username varchar(32) to table BNET
    Sep 12 17:08:18 [info ] sql_dbcreator: sucessfully issued: && UPDATE BNET SET username = lower(acct_username)
    ...
    Sep 12 17:09:13 [info ] sql_dbcreator: added missing default account to table arrangedteam
    Sep 12 17:09:13 [info ] sql_dbcreator: finished adding missing tables and columns
    Sep 12 17:09:13 [info ] storage_init: using sql storage driver
    Sep 12 17:09:13 [info ] fdw_kqueue_init: fdwatch kqueue() based layer initialized (max 1000 sockets)
    
    
Это указывает нам на то, что база данных игры была нормально создана и сервер запущен и выполняется.

В качестве финального аккорда настроим отображение статистики:
    
    tar xvzf pvpgn-stats-2.3.20.tar.gz
    mkdir /opt2/apache2/htdocs/stat
    cp -r pvpgn-stats-2.3.20/* /opt2/apache2/htdocs/stat
    
    
Отредактируйте файл /opt2/apache2/htdocs/stat/config.inc.php и все, дело сделано :-) Наиболее полно все вопросы функционирования и настройки сервера PvPGN рассмотрены на сайте http://pvpgn.berlios.de/.

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

Обсуждение [ RSS ]
 
  • 1, JAZZ, 16:47, 09/06/2009 [ответить] [смотреть все]
  • +/
    Я установил сервер,у себя на компе, БД с MySQL  не связана, настроил его,всё конектится и игроки с локалки заходят на него, на когда кто-то создаёт игру ,её почему то не видно,как решить эту проблему ?
     
  • 2, index, 23:13, 23/11/2009 [ответить] [смотреть все]
  • +/
    предлагаю готовый настраиваемый сервер Battle.net на freebsd, установка занимает не более 5 сек, www.arunta.ru
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:





      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor