1. Соблюдайте Правила форума и проявляйте уважение к другим участникам беседы.

[как?] ubuntu\linux установочный гайд по ghost++

Тема в разделе 'Мануалы', создана пользователем JiLiZART, 9 фев 2009.

Статус темы:
Закрыта.
  1. JiLiZART Администрация

    Сообщения:
    815
    Спасибы:
    35
    Сборка бота GHost:
    Ghost++ 17.1
    Дата начала использования бота:
    12.12.04
    Привет всем.
    В данном туториале я раскажу вам всю, пошаговую настройку Ghost++ для linux (также для Ubuntu сервера.) компьютера.
    Для данного проекта я использовал свежоустановленный Ubuntu 8.10 сервер, другие версии Linux также применимы, правда некоторые вещи поменяются такие как bot_war3path в конфиг файле. Как говорится, приступим.

    Подготовка машины
    Первое что вам нужно сделать это собрать build-essentials. Этот пакет позволит вам компилировать различные исходные файлы, это нам нужно сделать чтобы скомпилировать Ghost++. Большинство серверов уже имеют этот пакет, но если он голый, то это необходимо. Также нам нужно чтобы был установлен GMP iчтобы скомпилировать bncsutil библиотеку, и нам нужно M4 чтобы скомпилировать GMP библиотеку. Но перво наперво нам нужно zlib и libbz2 для StormLib. Итак давайте начнём с сборки build-essentials, m4, zlib и libbz2. Для установки просто используем apt.

    Код:
    sudo apt-get install build-essential m4 zlib1g-dev libbz2-dev libgmp3-dev
    Далее нужно установить GMP.
    Берём последний tarball с ихнего сайта. ftp://ftp.gnu.org/gnu/gmp/

    Код:
    wget ftp://ftp.gnu.org/gnu/gmp/gmp-x.x.x.tar.bz2
    (замените на нужную версию)
    Для извлечения tarball, вводим

    Код:
    tar -jxvf gmp-x.x.x.tar.bz2
    Переходим в gmp папку, настраиваем, собираем, и устанавливаем.

    Код:
    cd gmp-x.x.x
    sudo ./configure
    sudo make
    sudo make install
    GMP должна спросить вас, проверить сборку. Соглашаемся. Это займёт секунду  и это избавит вас от гемороя если вы что то сделает нетак. Просто вводим 'make check'.

    Компилим Boost
    Новые версии бота требуют установленную boost библиотеку, последние версии можно всегда скачать с boost.org

    Скачать Boost 1.38.0
    Код:
    wget http://downloads.sourceforge.net/project/boost/boost/1.38.0/boost_1_38_0.tar.gz
    Распаковать
    Код:
    tar -zxf boost_1_38_0.tar.gz
    cd boost_1_38_0
    Выполнить
    Код:
    ./configure --prefix=/usr --with-libraries=date_time,thread,system,filesystem,regex
    Отредактировать Makefile
    BJAM_CONFIG=
    (2 строка)
    заменить на:
    BJAM_CONFIG= --layout=system

    после чего
    Код:
    make
    sudo make install
    Компилим Storm и BNC
    Теперь мы можем перейти к работе с ghost++. Для начала возмём исходники ghost++ ( http://code.google.com/p/ghostplusplus/ ). Я запускаю ghost++ Из моей Home папки. Вы можете положить его куда вам угодно, но для этого туториала я положу его здесь.

    Код:
    cd ~/
    wget http://ghostplusplus.googlecode.com/files/ghostplusplus_xx.xx.zip
    unzip ghostplusplus_xx.xx.zip
    Хорошо, теперь мы готовы к сборке компонентов нужных для запуска ghost++ :  battle.net клиентская библиотека (bncsutil) и StormLib. Давайте начнём с bncsutil.

    Код:
    cd ~/ghost/bncsutil/src/bncsutil/
    sudo make
    sudo make install
    Оно должно скомпилицо без ошибок. Если нет, дважды проверяем установлен ли правильно build-essentials, GMP, и m4. Далее нам нужно скомпилировать наш StormLib.

    Код:
    cd ~/ghost/StormLib/stormlib
    sudo make
    sudo make install
    
    Опять же, убедитесь что он скомпилировался без ощибок, в противном слушчае проверяем и смотрим установлены ли правильно build-essentials, zlib, и libbz2.


    Компиляция GHost++
    Мы почти готовы к компиляции ghost++, но сначала нам нужно немного изменить его чтобы он смог работать под linux. используем vim для добавления

    Для старых версий
    Код:
    cd ~/ghost/ghost
    sudo make
    
    Давайте перейдём в root папку проверим имеет ли доступ бот к конфигу.

    Код:
    cp ~/ghost/ghost/ghost++ ~/ghost/ghost++

    Настройка GHost++
    Теперь давайте протестируем правдо ли он запущен. Он ещё не готов но мы в одном шаге от этого

    Код:
    ./ghost++
    При запуске должна появицо линия, [GHOST] GHost++ Version xx.xx. Вот что мы ищем. Жмём ctrl+c чтобы убить сервер. Запомните у нас нет установленного wc3 на linux, так что нам нужно предоставить ghost++ несколько файлов из стандартного warcraft 3. Давайте начнём, идём в вашу Warcraft 3 . Копируем файлы game.dll, Storm.dll, и war3.exe в отдельную папку. Убедитесь что вы переименовали ваши папки и файлы в нижний регистр ( пример. Storm.dll --> storm.dll ). Перекидываем содержимое папки в ubuntu box в /usr/lib/.
    Если вы используете выделенный сервер как мой, конечно мы не можем указать пальцом чтобы скопировать туда файлы. Но зато можем использовать программу pscp для создания scp трансфера на ваш сервер. Загружаем pscp тут http://www.chiark.greenend.org.uk/~sgta ... nload.html , и ложим exe файл в папку с Windows ( C:\Windows  ). Открываем командную строку в windows box, переходим к папке и пишем.

    Код:
    pscp * root@YOUR_SERVERS_IP:/usr/lib
    Теперь ghost должен иметь доступ к своим файлам.
    Переходим к конфиг файлу. Основное различие заключается в том, что пути должны быть адаптированы к Linux.

    Код:
    bot_war3path = /usr/lib/
    bot_mapcfgpath = mapcfgs/
    bot_savegamepath = savegames/
    bot_mappath = maps/
    bot_replaypath = replays/
    
    После этого, заполняем нужные поля в конфиге (b.net акк, пароль, cd keys, и т.д.) теперь давайте запустим ghost, переходим к нему в папку (cd ~/ghost/ если вы уже тут) и пишем

    Код:
    ./ghost++
    Готово! Если всё настроено правилно он должен зайти на  bnet. Вау!


    Разное
    Также если вы заходите через ssh, но хотелось бы оставить бота запущенным на сервер, просто используем screen.

    sudo apt-get install screen
    Если вы он у вас уже есть. Вводим

    Код:
    screen
    ./ghost++
    Далее нажимаем комбинацию клавиш
    CTRL+A D

    Это отключит вас от screen и оставит его запущенным в фоновом режиме. Для возврата пишем
    Код:
    screen -r
  2. Anonymous Guest

    Сообщения:
    0
    Спасибы:
    0
    cd ~/ghost/bncsutil/src/bncsutil/
    sudo make

    тут ошибочка ...

    надо еще sudo make install
  3. Anonymous Guest

    Сообщения:
    0
    Спасибы:
    0
    Всем привет !

    У меня простой вопрос  ;). Как избавиться от спама бота? Сообщает, сколько игроков еще осталось набрать до старта  ::).
  4. Anonymous Guest

    Сообщения:
    0
    Спасибы:
    0
    2knyaz, sudo вобще убрать нужно. Кто же в домашней папке компилирует от рута? Это "make install" нужно от суперпользователя исполнять...
    w1sh, никак. Только ковырянием исходника.
  5. makar47 Ньюфаг

    Сообщения:
    6
    Спасибы:
    0
    Хелп. есть комп с убунтой. на ней 2 сетевые - 1 в инет (реальный ИП), 2-я в локалку. все собралось и запустилось без проблем, в консоли вижу чат на канале (PvP). Но когда запускаю вар на локальной машине (винда) - не вижу созданной админской игры (хотя в консоле есть сообщение о том что игра создана). В чем проблема?
  6. Anonymous Guest

    Сообщения:
    0
    Спасибы:
    0
    при компиляции ghost'а появилось данное:
    g++ -o game.o  -O3  -I. -I../bncsutil/src/ -I../StormLib/ -c game.cpp
    game.cpp:38:10: warning: missing terminating > character
    game.cpp:38:10: error: #include expects "FILENAME" or <FILENAME>
    game.cpp:39:10: warning: missing terminating > character
    game.cpp:39:10: error: #include expects "FILENAME" or <FILENAME>
    game.cpp: In destructor ‘virtual CBaseGame::~CBaseGame()’:
    game.cpp:139: ошибка: нет декларации ‘memset’ в этой области видимости
    make: *** [game.o] Ошибка 1
    подскажите, где я оплошал?
  7. Anonymous Guest

    Сообщения:
    0
    Спасибы:
    0
    2makar47, админ. игра видна только в локальной сети.
    2Xander, признавайся, ковырял исходник?
  8. Anonymous Guest

    Сообщения:
    0
    Спасибы:
    0
    to bohdan4ik:
    если честно, я его даже не открывал( так что - теперь всё по новой или могут быть другие варианты?
  9. makar47 Ньюфаг

    Сообщения:
    6
    Спасибы:
    0
    так у меня эти машины и есть в локальной сети. Только бот на убунте, а вар - на винде. Но ничего не видно
  10. LEXX Ньюфаг

    Сообщения:
    1
    Спасибы:
    0
    не работает команда sudo пишет command not found
  11. Anonymous Guest

    Сообщения:
    0
    Спасибы:
    0
    с такими проблемами лучше уж не пытаться ничего настроить...
  12. Neggod Ньюфаг

    Сообщения:
    2
    Спасибы:
    0
    Код:
    "Makefile", line 10: Missing dependency operator
    "Makefile", line 13: Missing dependency operator
    "Makefile", line 16: Missing dependency operator
    make: fatal errors encountered -- cannot continue
    при сборе бнц  на FreeBSD. не подскажете как это исправить? ::)
  13. JiLiZART Администрация

    Сообщения:
    815
    Спасибы:
    35
    Сборка бота GHost:
    Ghost++ 17.1
    Дата начала использования бота:
    12.12.04
    Скорее зависимости.
    Посмотрите тут.
    http://forum.codelain.com/index.php?topic=852.45 - Откомпилированные версии. Может там встретите проблему
  14. Neggod Ньюфаг

    Сообщения:
    2
    Спасибы:
    0
    Теперь
    Код:
    make: don't know how to make %.o:. Stop
    выдает, я так понял проблема в исходниках. В любом случае спасибо.
  15. LeiDruid Ньюфаг

    Сообщения:
    4
    Спасибы:
    0
    Нужно ещё добавить в мануал в секцию подготовки установку Boost (без нее не собирается):

    скачать Boost 1.38.0
    Код:
    wget http://downloads.sourceforge.net/project/boost/boost/1.38.0/boost_1_38_0.tar.gz
    распаковать:
    Код:
    tar -zxf boost_1_38_0.tar.gz
    cd boost_1_38_0
    Выполнить
    Код:
    ./configure --prefix=/usr --with-libraries=date_time,thread,system,filesystem,regex
    Отредактировать Makefile
    BJAM_CONFIG=
    (2 строка)
    заменить на:
    BJAM_CONFIG= --layout=system

    после чего
    Код:
    make
    sudo make install
  16. WarikoZ123 Ньюфаг

    Сообщения:
    40
    Спасибы:
    0
    Дата начала использования бота:
    14.06.2012
    нечаянно буст в гмп установил) как удалить и заного выбрать дерикторию?
    root@hivede8-1812:~/gmp-5.0.5/boost_1_51_0#
  17. JiLiZART Администрация

    Сообщения:
    815
    Спасибы:
    35
    Сборка бота GHost:
    Ghost++ 17.1
    Дата начала использования бота:
    12.12.04
    make install ставит буст в систему, не нужно беспокоиться о том где лежат исходники самого буста
  18. Mefix Наш человек

    Сообщения:
    114
    Спасибы:
    3
    Добрый день. Побудем некрофилом. Решил под freebsd 9.0 x64 скомпилить бота. Но что-то не зашло. С первых пакетов. Не могу обнаружить ни в портах, ни в пакетах ессно тоже:
    build-essential zlib1g-dev libbz2-dev libgmp3-dev

    Кто подскажет в комплект каких пакетов они включены? А то туплю что-то жёско...
  19. MuP .

    Сообщения:
    653
    Спасибы:
    202
    Сборка бота GHost:
    Ghost++ rev 579
    Дата начала использования бота:
    00.00.0000
    Фряха не бубунта, там имена пакетов чутка различаются. К примеру libbz2-devel. Вообще как будет время обновим инструкцию под фряху.
    Вам в 1 очередь сюда. В названии FreeBSD лишнее, убрал
    Mefix нравится это.
  20. Mefix Наш человек

    Сообщения:
    114
    Спасибы:
    3
    Я понимаю что может быть разное, но я даже похожих не нашёл. по названию. В портах пусто, как и в пакетах, ессно обновлял. http://clip2net.com/clip/m107208/1370018675-clip-2kb.png. Разве что это libb64-(тут версия).tbz. Для 64-битки соответственно. Просто сейчас надо бы побыстрее мне это всё дело перенести. Так то мне в принципе подскажут какие пакеты это могут быть, но дай бог что на выходных с человеком встречюсь. Я подумал что в той теме должно быть. Но ссылка на lb сгорела, да и вроде в архиве там тупо закомпилинные бинарники были. А мне надо свои компильнуть. Если возможно списаться в аське, и помочь разобраться с отсутствующими пакетами, я инструкцию сам тогда напишу и в ту тему кину. Хотя сомневаюсь что под фряхой кто будет его запускать. Но по стабильности и по скорости работы с вебом и БД она меня радует.
Статус темы:
Закрыта.