|
|
www.lissyara.su
—> статьи
—> FreeBSD
—> Games Servers
—> PVPGN
Игровой сервер Battle.net (StarCraft, Warcraft 3) на основе pvpgn + mysql на FreeBSD
Автор: helloworld.
Сразу скажу, что эта статья НЕ описывает настройку сервера для Diablo2, ибо у меня нет желания ставить wine на сервер только из-за Диаблы.
Сервер, железо, ос:
Pentium 3 - 800 mhz, 256 RAM, 15 gb HDD, 100 mbit\s 3com iface
# uname -a
FreeBSD area52 6.1-RELEASE-p20 FreeBSD 6.1-RELEASE-p20
|
# cd /usr/ports/games/pvpgn/
# make install clean
| Выбираем в менюшке только mysql.
Все супер, скачалось поставилось. Далее:
# cd /usr/local/etc/pvpgn
| Там видим кучу файлов типа *.conf-sample. Переименовываем ВСЕ в вид *.conf
Редактируем главный файл настроек bnetd.conf
Видим:
effective_user = bnetd
effective_group = bnetd
| Здесь bnetd - пользователь от которого будем запускать наш Battle.net, убедитесь сначала в /etc/passwd есть ли таковой.
Далее редактируем строку:
storage_path = file:mode=plain;dir=/usr/local/share/pvpgn/users;clan=/usr/local/share/pvpgn/clans;
team=/usr/local/share/pvpgn/teams;default=/usr/local/etc/pvpgn/bnetd_default_user.plain
|
На это:
storage_path = sql:mode=mysql;host=127.0.0.1;name=pvpgn;user=pvpgn;pass=pvpgn;default=0;prefix=pvpgn_
|
Где mode - БД mysql, host - хост где висит БД, name - название БД, user - пользователь БД, у когорого есть все права на БД pvpgn, pass - пароль пользователя.
Ищем строку
и пишем следующее :
loglevels = fatal,error,warn,info
| Далее правим эти строки:
skip_versioncheck = true
allow_bad_version = true
allow_unknown_version = true
| Ну и последнее:
ladder_games = "topvbot,oneonone,melee,ffa"
| Весело сохраняем bnetd.conf
После этого выставим права на пользователя bnetd
# chown -R bnetd: bnetd /usr/local/etc/pvpgn
# chmod -R 644 /usr/local/etc/pvpgn
| В /etc/rc.conf пишем
Основная часть работы с pvpgn закочилась.
Нужно создать пользователя pvpgn с паролем pvpgn и со всеми правами на базу данных pvpgn
Я это делал через phpmyadmin. Думаю это составит большого труда.
Тестируем:
#/usr/local/etc/rc.d/bnet start
И сразу смотрим логи /var/log/pvpgn
# cat /var/log/pvpgn/bnetd.log
| Если есть последние записи типа
Nov 29 21:41:13 [info ] _setup_listensock: listening for bnet connections on 0.0.0.0:6112 TCP
Nov 29 21:41:13 [info ] _setup_listensock: listening for w3route connections on 0.0.0.0:6200 TCP
|
Значит сервер запущен и работает.
Если подобных вещей нет и командой netstat -na нет открытых портов *:6112 *:6200 то какие то проблемы. Изучайте английский и читайте лог файл /var/log/pvpgn/bnetd.log
Дополнение №1: Pvpgn очень много кладет логов при присоединении игроков к серверу, созданию игр и тд, место на /var может быстро закончиться, рекомендую поставить
в файле /usr/local/etc/pvpgn/bnetd.conf если сервер работает стабильно и без проблем.
Дополнение №2: Нам же нужно как то администрировать процесс игры на сервере. После удачного запуска pvpgn создайте первую учетную запись через Warcraft\Starcraft(прописав ip адрес вашего батлнета в список серверов в игре(например используя программу BNetGatewayEditor)). Так как все логины\пароли храняться в БД mysql то лезем туда через phpmyadmin:
Выбираем нашу бд pvpgn, далее слева pvpgn_BNET, обзор(browse), ищем логин предполагаемого первого администратора, жмем кнопку редактировать запись, выставляем возле auth_operator: true и auth_admin: true. Сохраняем. Через 300 секундЁ ваши изменения вступят в силу.
ps: статья описывает МИНИМУМ необходимый для поднятия сервера Battle.net в локальной сети. Вы смело можете покапаться в настройках bnetd.conf и выставить параметры как считаете нужным.
Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=8477.
размещено: 2007-12-07,
последнее обновление: 2007-12-07,
автор: helloworld
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
|
Статистика сайта
|
Сейчас на сайте находится: 39 чел.
|
За последние 30 мин было: 227 человек
|
За сегодня было 3253 показов, 827 уникальных IP
|
|
|
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
|
|
|
Комментарии пользователей [8 шт.]