PvPGN сервер + ghost one хост бот под linux

Тема в разделе "Server side", создана пользователем jesuspunk, 5 янв 2017.

  1. jesuspunk

    jesuspunk Администратор Команда форума

    Для себя на память, а то уже забыл как поднимать и запускать и может кому понадобиться, кто не может собрать из исходников. В архивах готовые рабочие скомпилированные версии файлов pvpgn-1.85 сервера и хост бота ghost one для него под линукс. Все скомпилировано под debian 6 i386, т.е. 32 битная версия, для работы под 64 битной версии(debian 6) нужно установить библиотеки:

    apt-get install ia32-libs

    Для старших 64 разрядный версий debian(7,8) нужно выполнить следующие команды:

    dpkg --add-architecture i386
    apt-get update
    apt-get install ia32-libs-i386

    Установка и запуск скомпилированной версии pvpgn 1.85 сервера:

    1. Распаковать архив строго в папку: /usr/local
    2. Запускать через файл /usr/local/pvpgn185/sbin/bnetd
    3. Проверить работает ли процесс: ps aux | grep bnetd
    4. Если не запустилось посмотреть лог файл /usr/local/pvpgn185/var/bnetd.log
    5. Файлы настроек лежат в папке:/usr/local/pvpgn185/etc
    6. Выключить:killall bnetd
    Установка, запуск и настройки бота ghost one 17.0 под linux:

    1. Распаковать архив куда вам угодно.
    2. Скопировать библиотеки из папки copy_to_usr_lib в папку /usr/lib
    3. В ghost.cfg изменить пути к файлам, логин, пароль учетки от bnet(pvpgn) сервера и адрес самого сервера.
    4. Запуск через ghost++

    Символ с которого начинается команда настраивается в ghost.cfg, в данном архиве с точки "."
    Список команд.

    Параметры заключенные в [ ] скобки НЕ обязательные, параметры в < > скобках Обязательны, параметры с применением N и N+1 подразумевают что можно использовать несколько однотипных значений:
    !hold player1 player2 player3

    В battle.net (локальный чат или в лс боту):

    !addadmin <имя> добавить нового админа в базу для данного сервера
    !addban <имя> [причина] добавить бан в базу для данного сервера
    !addfriend добавить друга
    !announce <сек> <сообщение> установить сообщение обьявления (бот будет писать <сообщение> каждые <сек> секунд в лобби), используйте "off" для отключения
    !autohost автоматически создавать игр, автоматически стартовать когда наберётся игроков , установить имя игры, используйте "off" для отключения
    !autostart <игроки> автоматически стартовать игру, когда наберётся определённое число игрков, используйте "off" для отключения
    !ban псевдоним для !addban
    !channel <имя> изменить battle.net канал
    !checkadmin <имя> проверить является ли пользователь админом для данного сервера
    !checkban <имя> проверить является ли пользователь забаненым для данного сервера
    !close <числоN> [числоN+1] закрыть слот
    !closeall закрыть все открытые слоты
    !countadmins отобразить число текущих админов для данного сервера
    !countbans показать текущее число банов для данного сервера
    !deladmin <имя> удалить админа с базы для данного сервера
    !delban <имя> удалить бан с базы для всех серверов
    !disable отключить создание новых игр
    !enable включить создание новых игр
    !end <число> окончить текущую игру (отключает каждого)
    !exit [force] выключить ghost++, опционально пишим [force] для пропуска проверок
    !getclan обновить текущий лист клана
    !getfriends обновить текущий лист друзей
    !getgame <число> отобразить информацию о игре в процессе
    !getgames отобразить информацию о всех играх в процессе
    !hold <имя> [имя] зарезервировать слот для кого либо
    !hostsg <имя> создать сохранённую игру
    !load загрузить фаил конфигурации (для изменения карты), оставьте пустым для просмотра текущей карты, ".cfg" автоматически добавляется в конец файла, писать его не нужно
    !loadsg загрузить сохранённую игру
    !map псевдоним для !load
    !open <числоN> [числоN+1] открыть слот
    !openall открыть все закрытые слоты
    !priv <имя> создать приватную игру
    !privby <владелец> <имя> создать приватную игру для другого игрока (даёт <владелец> доступ админа к лобби и в самой игре)
    !pub <имя> создать публичную игру
    !pubby <владелец> <имя> создать публичную игру для другого игрока (даёт <владелец> доступ админа к лобби и в самой игре)
    !quit [force] псевдоним для !exit
    !say <текст> отправить <текст> на battle.net как чат комманду
    !saygame <число> <текст> отправить <текст> для определённой игры в процессе
    !saygames <текст> отправить <текст> во все игры
    !sp разбросать игроков (принцип работы такой же как и у мода -sp в DotA картах)
    !start [force] стартовать игру, опционально добавьте [force] для пропуска проверок
    !stats [имя] отобразить базовую статистику игрока, опционально добавльте [имя] для отображения статистики другого игрока (может быть использовано НЕ админами)
    !statsdota [имя] отобразить DotA статистику игрока, опционально добавьте [имя] для отображения статистики другого игрока (может быть использовано НЕ админами)
    !swap поменять слоты местами
    !unban псевдоним для !delban
    !unhost завершить игру в лобби
    !version отобразить информацию о версии ( может использовться НЕ админами)

    В лобби (Перед игрой):

    !a псевдоним для !abort
    !abort отменить счётчик
    !addban <имя> <причина> добавить новый бан в базу (он пытается сделать частичное соответствие)
    !announce <сек> <сообщение> установить анонс (бот будет отображать <сообщение> каждые <сек> ), оставьте пустым или "off" для отключения
    !autostart <игроки> автоматически стартует игру если войдёт <игроки> число игроков, оставьте пустым или "off" для отключения автостарта
    !autosave Включить или выключить автосохранение
    !ban псевдоним для !addban
    !check <имя> проверить статус пользователя (оставьте пустым чтобы проверить свой статус)
    !checkban <имя> проверить является ли пользователь забаненым на сервере
    !checkme проверить свой статус (может быть использованно НЕ админами, отправляет приватное сообщение видимое только игроку)
    !close <числоN> [числоN+1] закрыть слот
    !closeall закрыть все открытые слоты
    !comp <слот> <скилл> создать компьютера в слоте <слот> со скилом <скилл> (скил - 0 для лёгкого, 1 нормальный, 2 сложный)
    !compcolour изменить цвет компьютера в слоте на (c начинается с 1 до 12)
    !comphandicap изменить хандикап компьютера в слоте to (h это 50, 60, 70, 80, 90, или 100)
    !comprace изменить расу компьютера в слоте to (r это "human", "orc", "night elf", "undead", или "random")
    !compteam изменить команду компьютера в слоте to (t начинается с 1 до # команд)
    !dl <имя> псевдоним для !download
    !download <имя> разрешить игроку начать загрузку карты (используется только для опциональной загрузки карты, ищет по частичному соответствию)
    !from отобразит страну игрока
    !hold <имя> [имя] зарезервировать место для когонибудь
    !kick <имя> кикнуть игрока (ищет по частичному соответствию)
    !latency <число> установить задержку (50-500), оставьте пустым для просмотра текущей задержки
    !lock заблокировать игру, только владелец может использовать команды
    !mute <имя> заблокировать чат игрока (ищет по частичному соответствию)
    !open <числоN> [числоN+1] открыть слот
    !openall открыть все закрытые слоты
    !owner [имя] cделать себя владельцом, опционально добавляем [имя] чтобы дать владельца комунибудь другому
    !ping [число] пропинговать игроков, опционально добавляем [число] чтобы кикнуть игроков с пингом выше [число]
    !priv <имя> пересоздать как приватную игру
    !pub <имя> пересоздать как публичную игру
    !refresh включить или выключить сообщения обновления
    !sendlan [port] отправить LAN пакет на IP адрес и порт [port], по умолчанию порт 6112 если не определён
    !sp разбросать игроков
    !start [force] начать игру, опционально добавляем [force] для пропуска проверок
    !stats [имя] отобразить базовую статистику игрока, опционально добавляем [имя] чтобы отобразить статистику для другого игрока (может быть использованно НЕ админами)
    !statsdota [имя] отобразить DotA статистику игрока, опционально добавляем [имя] чтобы отобразить статистику для другого игрока (может быть использованно НЕ админами)
    !swap поменять слоты местами
    !synclimit <число> установить лимит синхронизации пакетов (10-10000), оставьте пустым для просмотра текущего лимита синхронизации
    !unhost завершить игру
    !unlock разблокировать игру
    !unmute <имя> разблокировать чат игрока (ищет по частичному соответствию)
    !version отобразить информацию о версии (может быть использованно НЕ админами, отправляет приватное сообщение видимое только игроку)
    !virtualhost <имя> изменить виртуальное имя хоста
    !votecancel отменить голосование
    !votekick <имя> начать голосование за кик игрока (ищет по частичному соответствию, может быть использованно НЕ админами)
    !yes зарегистрировать голос (может быть использованно НЕ админами)

    В игре:

    !addban <имя> <причина> добавить бан в базу (ищет по частичному соответствию)

    !autosave включить или выключить автосохранение

    !ban псевдоним для !addban

    !banlast <причина> забанить последнего ливера

    !check <имя> проверить статус пользователя (оставьте пустым чтобы проверить ваш собственный статус)

    !checkban <имя> проверить является ли пользователь забаненым на этом сервере

    !checkme проверить проверить ваш статус (может быть использованно НЕ админами, отправляет приватное сообщение видимое только игроку)

    !drop выкинуть всех лагающих игроков

    !end заверщить игру (дисконект всех)

    !from отобразить страну игрока

    !kick <имя> кикнуть игрока (ищет по частичному соответствию)

    !latency <число> установить задержку (50-500), оставьте пустым для просмотра текущей задержки

    !lock заблокировать игру, только владелец может использовать команды

    !mute <имя> заблокировать чат игрока (ищет по частичному соответствию)

    !muteall заблокировать глобальный чат (дружеский и приватный чат будет работать)

    !owner [имя] сделать себя владельцем игры, опционально добавляем [имя] чтобы установить владельцем кого нибудь другого

    !ping пропинговать игроков

    !stats [имя] отобразить Базовую статистику игрока, опционально добавляем [имя] to отобразить статистику для другого игрока (может быть использованно НЕ админами)

    !statsdota [имя] отобразить DotA статистику игрока, опционально добавляем [имя] to отобразить статистику для другого игрока (может быть использованно НЕ админами)

    !synclimit <число> установить лимит синхронизации для Лаг экрана (10-10000), оставьте пустым для просмотра текущего значения

    !unlock разблокировать игру

    !unmute <имя> разблокировать чат игрока (ищет по частичному соответствию)

    !unmuteall разблокировать глобальный чат

    !version отобразить информацию о версии (может быть использованно НЕ админами, отправляет приватное сообщение видимое только игроку)

    !votecancel отменить голосование

    !votekick <имя> стартовать голосование за кик игрока (ищет по частичному соответствию, может быть использованно НЕ админами)

    !yes зарегистрировать голос (может быть использованно НЕ админами)

    В Лобби Админ игры:

    !addadmin <имя> добавить админа в базу для определённого сервера (если определён в конфиге только один, использует его)

    !autohost автоматически создать игр, авто старт когда игроков присоединится, с именем , используйте "off" для отключения Авто Хостинга

    !checkadmin <имя> проверить является ли пользователь админом для определённого сервера (если определён в конфиге только один, использует его)

    !countadmins отобразить общее количество админов для определённого сервера (если определён в конфиге только один, использует его)

    !deladmin <имя> удалить админа из базы для определённого сервера (если определён в конфиге только один, использует его)

    !disable выключить создание новых игр

    !enable включить создание новых игр

    !end <число> завершить игру в процессе (дисконект всех)

    !exit [force] закрыть ghost++, опционально добавляем [force] для пропуска проверок

    !getgame <число> отобразить информацию о игре в процессе

    !getgames отобразить информацию о всех играх

    !hostsg <имя> создать сохранённую игру

    !load загрузить фаил конфигурации карты , оставьте пустым для просмотра текущей карты - ".cfg" автоматически подставляется в конец файла

    !loadsg загрузить сохранённую игру

    !map псевдоним для !load

    !password логин (пароль установленный в ghost.cfg с admingame_password)

    !priv <имя> создать приватную игру

    !privby <владелец> <имя> создать приватную игру для другого игрока (даёт доступ <владелец> к админ коммандам в лобби и в игре )

    !pub <имя> создать публичную игру

    !pubby <владелец> <имя> создать публичную игру для другого игрока (даёт доступ <владелец> к админ коммандам в лобби и в игре)

    !quit [force] псевдоним для !exit

    !saygame <число> <текст> отправить <текст> для определённой игры в процессе

    !saygames <текст> отправить <текст> во все игры

    !unhost завершить игру

    Ghost++ One Комманды

    В Battle.net (локальный чат или лс боту):

    !acc [name] [cmd] [acc] команда доступа для админов, !acc лист доступных комманд, !acc name 1/0 - доступ ко всем/никаким коммандам

    !autohostxx работает также как и autohost ток пускает xxxx страны

    !autohostg автохост с доступом только для garena + админы

    !delfriend удалить имя из списка друзей

    !dlinfo [on/off] отобразить информацию о текущих загрузках

    !dlinfotime интервал в секундах по которому показывать информацию

    !dlmax максимальное число игроков которым разрешено качать одновременно, остальным будет доступна скачака пока ктонить не закончит.

    !dltspeed установить текущую скорость скачки (KB/s) доступную для всех клиентов одновременно, если установить в 1024, 4 получать по 256 каждый

    !dlspeed установить максимальную скорость скачки (KB/s) доступную для одного клиента

    !downloads включить\выключить загрузку карты

    !dmaps динамический лист карт

    !dload динамическая загрузка карты

    !endn завершить текущую игру, без счётчика

    !ends остановить счётчик завершения игры

    !fadd добавить друга

    !fdel удалить друга

    !holds ... забронировать определённый слот для игрока

    !language перегрузить language.cfg

    !loadl загрузить конфиг файл (для изменения карт), оставьте пустым для просмотра текущей карты - ".cfg" подставляется автоматически

    !mapl альтернатива !load

    !mute блокирует чат игрока (ищет по частичному значению)

    !unmute разблокирует чат игрока (ищет по частичному значению)

    !pubg [name] создаёт публичную игру доступную только для garena + админы

    !pubdl создаёт публичную игру только для загрузки, кикает игроков кто загрузил карту, нету лимита времени завершения игры.

    !reloadcfg перезагрузить ghost.cfg

    !sl проверить есть ли игрок в белом списке

    !sladd добавить игрока в белый список

    !sla добавить игрока в белый список

    !sldel удалить игрока из белого списка

    !sld удалить игрока из белого списка

    !slr удалить игрока из белого списка

    !startn стартовать игру немедленно! (без счётчика)

    !sd [name] отобразить DotA сатистику игрока за игру, опционально добавьте [name]

    !top top10, просчитайте в GHost One сначала

    !top10 top10, просчитайте в GHost One сначала

    !pubnxxxx [gamename] Пример: !pubnbrru dota - запретить br ru страны

    !pubxxxxxx [gamename] Пример: !pubroes dota - разрешить только ro es страны

    !verbose отображать информацию о попытке игрока зайти в игру.

    В лобби (Перед игрой):

    !acc [name] [cmd] [acc] команда доступа для админов, !acc лист доступных комманд, !acc name 1/0 - доступ ко всем/никаким коммандам

    !commands переключить не админские комманды

    !dl альтернатива !download

    !dlinfo [on/off] отобразить информацию о текущих загрузках

    !dlinfotime интервал в секундах по которому показывать информацию

    !dlmax максимальное число игроков которым разрешено качать одновременно,
    остальным будет доступна скачака пока ктонить не закончит.

    !dltspeed установить текущую скорость скачки (KB/s) доступную для всех клиентов одновременно, если установить в 1024, 4 получать по 256 каждый

    !dlspeed установить максимальную скорость скачки (KB/s) доступную для одного клиента

    !fromp отобразить страну с которой игрок + провайдер.

    !garena переключить к разрешению garena (и админы) или все

    !gn показать текущее имя игры

    !holds ... забронировать определённый слот для игрока

    !ips показать IP всех игроков

    !only xx xx xx определить разрешённые страны, Пример: !only RO ES или !only чтобы очистить лист

    !no xx xx xx определить запрещённые страны, Пример: !no BR RU или !no чтобы очистить лист

    !onlyp xx xx xx определить разрешённые провайдеры (частичное значение), Пример: ! onlyp RDS, !onlyp чтобы очистить лист

    !nop xx xx xx определить запрещённые провайдеры (частичное значение), Пример:
    !nop telecom,!nop чтобы очистить лист

    !l отобразить пинг и страну последнего присоединившегося игрока

    !dr альтернатива latency

    !sl проверить есть ли игрок в белом списке

    !sladd добавить игрока в белый список

    !sla добавить игрока в белый список

    !sldel удалить игрока из белого списка

    !sld удалить игрока из белого списка

    !slr удалить игрока из белого списка

    !sd [name] отобразить DotA сатистику игрока за игру, опционально добавьте [name]
    !top top10, просчитайте в GHost One сначала
    !top10 top10, просчитайте в GHost One сначала

    Скачать PvpGN сервер 1.85: http://non-steam.ru/?dl_id=260

    Скачать ghost one 17.0 бота: http://non-steam.ru/?dl_id=261

    Скомпилированная чистая версия ghostone 17.1 ghost++17.rar
    Скомпилированная версия ghostone by zlobwar ghost++zlobwar.rar
     

    Вложения:

    Последнее редактирование: 5 янв 2017
  2. jesuspunk

    jesuspunk Администратор Команда форума

    apt-get install build-essential libmysqlclient-dev libmysql++-dev wget libbz2-dev libgmp3-dev subversion
    Качаем boost, распаковываем
    wget http://switch.dl.sourceforge.net/project/boost/boost/1.47.0/boost_1_47_0.tar.bz2
    Собираем boost
    ./bootstrap.sh
    ./bjam --layout=tagged --prefix=/usr --exec-prefix=/usr --libdir=/usr/lib --includedir=/usr/include --with-date_time --with-thread --with-system --with-filesystem threading=multi install
    Компилим bncsutil,stormlib
    копируем библиотеки в /usr/lib
    Копируем исходники bncsutil,stormlib в папку с исходниками ghost бота
    Компилим ghost (make)