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

[ВСЕ] FAQ - ЧАсто задаваемые ВОпросы

Тема в разделе 'Мануалы', создана пользователем Sandro, 19 июл 2009.

Статус темы:
Закрыта.
  1. Sandro Парнишка с небывалым умом

    Сообщения:
    158
    Спасибы:
    3
    Ghost++ Основы

    Вопрос: Что такое Ghost++?
    Ответ: Ghost++ предназначен для хоста игр Warcraft III. Это конвертация оригинального проекта Ghost на C++ (портирована Тревором Хоганом).
    Оригинальный проект Ghost можно найти здесь: http://codelain.com/

    Вопрос:
    Где я могу скачать Ghost?
    Ответ: Последнюю версию Ghost++ можно найти в разделе Скачать

    Вопрос:
    Там много различных версий: GHost++, GhostOne и др. Какую выбрать?
    Ответ:
    • GHost++ - оригинальный проект, минимум функционала, багов нету, все время в развитии.
    • GHost++ Custom Build - бот с UI(консольным). UI основан на ncurses, также добавлены некоторые доп функции. Проект закрыт и не развивается.
    • GHostOne - Бот со множеством дополнительных функций и оконным интерфейсом(оболчкой). Возможны баги. Проект закрыт и больше не развивается
    • GHostBrt - продолжение проекта GhostOne, более стабильный. В данным момент развивается
    Вопрос: Как мне настроить Ghost под себя
    Ответ: Читаем этот мануал Настройка Ghost

    Вопрос: У меня есть только один CD-key. Как я могу использовать Ghost ++?
    Ответ:
    Вопрос: Я только что прочитал весь материал об админ игре, но до сих пор не понял.
    Ответ: После включения режима админ игры в ghost.cfg, когда Ghost запускается, он будет автоматически подключаться к любому battle.net/PvPGN серверу. После подключения он будет транслировать интерфейс в локальную сеть, которая и называется админ игрой. Вы будете подключены к battle.net игры Ghost++ через локальную сеть. Затем:
    1) Введите свой пароль
    2) Загрузите конфигурационный файл карты
    3) Прочитайте раздел команд в readme.txt, который был включен в Ghost++, чтобы понять, как использовать их.
    4) Создайте карту, используя одну из следующих команд:!priv !pub or !autohost
    5) Покиньте админ игру и вернитесь к LAN играм, подождите некоторое время и созданная игра должна показаться.
    6) Присоединитесь к игре.

    Вопрос: Как я могу использовать Ghost++ или любые из команд?
    Ответ: Прочтите readme.txt, который был включен в ghost++.

    Вопрос: Как я могу использовать Ghost++ на многих реалмах?
    Ответ: 1.) Когда Ghost++ запускается, он читает до 9 наборов соединений battle.net из ghost.cfg.
    2.) Набор соединений battle.net содержит следующие настройки:
    a.) *_server (обязательно)
    b.) *_cdkeyroc (обязательно)
    c.) *_cdkeytft (обязательно)
    d.) *_username (обязательно)
    e.) *_password (обязательно)
    f.) *_firstchannel
    g.) *_rootadmin
    h.) *_commandtrigger
    i.) *_custom_war3version
    j.) *_custom_exeversion
    k.) *_custom_exeversionhash
    l.) *_custom_passwordhashtype
    m.) *_custom_countryabbrev
    n.) *_custom_country
    3.) Ghost++ будет искать информацию по соединениям battle.net путем замены "*" в каждом ключе на "bnet_", затем "bnet2_", затем "bnet3_" и так далее до "bnet9_".
    4.) Если Ghost++ не найдет ключа * _SERVER, он остановит поиск дальнейших соединений battle.net.
    5.) Если какой-либо из требуемых ключей отсутствует, Ghost++ будет пропускать этот набор информации о соединении battle.net и начнет поиски следующего.

    Вопрос: Как узнать какие есть PVPGN(неофициальные) Battle.net сервера
    Ответ: Список серверов можно посмотреть тут

    Вопрос: Я сделал или загрузил конфигурационный файл карты, но создается другая карта. Что мне делать?
    Ответ: Что ж, похоже вы не знаете, как использовать Ghost++ команды правильно.
    1) Читайте readme.txt о том, как использовать команды !load или !map.
    2) Попробуй изучить это руководство: Создаем файл конфигурации карты

    Вопрос: Я мог хостить мою карту нормально, но теперь она сломалась. Что я делал не так?
    Ответ: Может быть несколько причин, по которым это происходит:

    * В вашем конфиг файле карты могут быть значения, которые работают только в старых версиях Warcraft III. Очистите эти значения и Ghost сгенерирует их снова(Наверно у вас нет значения map_sha1)
    * map_size =
    * map_info =
    * map_crc =
    * map_sha1 =
    * map_width =
    * map_height =
    * player slots information

    Кроме того, начиная с версии Warcraft III 1.23, имена карт не могут быть длиннее 35 символов, и никто не сможет вступить в игру.

    Вопрос: У меня огромные лаги в лобби и в игре или мой пинг в лобби 1000+, но я уверен, что Ghost++ настроен правильно. Что я могу сделать?
    Ответ: Здесь приведен список советов, которые могут помочь.

    Если вы используете портативный компьютер, убедитесь, что он находится в режиме высокой производительности
    Если Вы запускаете ghost через локальную сеть с выходом в интернет, попросите всех не использовать сеть Интернет
    Для проверки попробуйте непосредственное подключение к Интернет (без участия маршрутизатора\роутера\модема)
    Установите Ghost.exe высокий приоритет в диспетчере задач
    В Ghost.cfg установите макс скорость загрузки меньше, чем скорость вашего канала.

    Вопрос: Я хочу, чтобы бот загружал карту, которую я хочу при запуске. Как я могу это сделать?
    Ответ: Вы должны изменить это значение в ghost.cfg
    Код:
    bot_defaultmap =
    
    И задать имя конфигурации карты (без .cfg), которое вы хотите загружать при старте.

    Вопрос: Я сделал всех моих друзей админами, но мне кажется, они не могут использовать команды. Что я делаю неправильно?
    Ответ: Для того, чтобы использовать команды, они должны пройти spoofcheck(проверку на спуфера), Ghost++ автоматически проверяет игроков. Нужно либо выключить эту проверку, или вручную доказать боту что вы не спуфер, написав /w (Botaccount) spoofcheck. Теперь бот должен напечатать что-то вроде "Spoof check accepted for USER on server SERVER" или "USER опознан"
    Следующие значения в конфиге бота отвечают за spoofcheck:

    Вопрос: Какие файлы требуются, чтобы запустить Ghost++?
    Ответ: Если Вы хотите подключаться к battle.net:
    "Game.dll" в вашем bot_war3path
    "Storm.dll" в вашем bot_war3path (На заметку Linux пользователям: Ghost++ ищет этот файл в нижнем регистре)
    "War3.exe" в вашем bot_war3path
    Если вы хотите, чтобы Ghost++ автоматически извлекал blizzard.j и common.j при старте (используется для автоматического расчета значений карт):
    "War3Patch.mpq" в вашем bot_war3path
    Если вы хотите, чтобы Ghost++ автоматически рассчитывал значения карт:
    "Blizzard.j" в вашем bot_mapcfgpath
    "Common.j" в вашем bot_mapcfgpath
    Doterok, Daniil и rost нравится это.
  2. MuP .

    Сообщения:
    653
    Спасибы:
    202
    Сборка бота GHost:
    Ghost++ rev 579
    Дата начала использования бота:
    00.00.0000
    Програмные ошибки Ghost++ (зарегистрированные в Ghost.log)

    Вопрос: "This application has failed to start beacuse the application configuration is incorrect. Reinstalling the application may fix this problem"("Приложению не удалось запуститься, поскольку применение конфигурации является неверным. Переустановка приложения может исправить эту проблему") или ошибка"side by side configuration"

    Ответ: Загрузите и установите Visual C++ 2008 Redistributable Package (x86)

    Вопрос: Я получаю следующую ошибку в окне Ghost, и он не подключается к battle.net.“warning - no battle.net connection found and no admin game created”. Что случилось?

    Ответ: Вы не указали ни 1 Battle.net соединения. Откройте Ghost.cfg с помощью текстового редактора и перейдите к разделу

    Убедитесь, что вы заполнили все опции в этом разделе конфига хотя бы для одного сервера.

    Вопрос: Unable to create game[ gamename ]. The currently loaded map config file is invalid.(Невозможно создать игру. Загруженный конфиг файл карты неверен).

    Ответ: Эта ошибка может возникнуть в следующих ситуациях:

    Ghost не смог найти карту, и поэтому не смог создать значения конфиг файла. Ошибка может быть исправлена правкой имени файла в конфиге карты(map_path & map_localpath) или правкой пути к папке с картами в ghost.cfg(bot_mappath).

    или

    GHost не смог сгенерировать значения всех необходимых параметров. Возможно, что у вас нет всей необходимой информации в конфиге карты, либо значения некоторых параметров неверные и GHost не смог прочитать их правильно.

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

    Вопрос: Я просто попытался зафиксировать конфиг карты, но теперь при загрузке карты вылазит ошибка "map configuration is invalid". Что случилось?

    Ответ: Ошибка "The currently loaded map config is invalid"("В настоящее время загруженный конфиг карты является недействительным") появляется когда GHost не может найти карту, чтобы закончить вычисление параметров карты. Просмотрите Ghost.log, в котором будет показано, что бот пытается сделать. Изменение ghost.cfg (bot_mappath) возможно может решить проблему. (укажите параметру bot_mappath папку, где лежат карты)

    Вопрос: Я получаю код ошибки 3 (Error Code 3) при создании варден сервера с Ghost++. Что я делаю неправильно?

    Ответ: По задумке, при первом подключении к серверу BNLS, когда у GHost'a еще нет необходимого варден модуля, он вернет код ошибки 3 и загрузит обновление, поэтому при переподключении к battle.net варден модуль будет загружен и будет лежать в папке BNLS.

    Модули изменяются, в среднем, примерно каждые 8 часов.

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

    Вы также можете попробовать следущее:
    1. Убедитесь, что у вас есть новый "WardenUpdater.exe"
    2. Закройте BNLS.exe и Ghost.exe
    3. Изменить CDKey в Updater.ini, а затем запустить WardenUpdater.exe.
    4. После ожидания в течение одной минуты, откройте BNLS.exe
    5. Откройте Ghost.exe
    Вопрос: Ошибки "[TCPSOCKET] Closed By Remote Host" или "[GAME: gamename ] deleting player [ username ]: has lost the connection (connection closed by remote host)" показываются, когда я пытаюсь использовать Ghost++. Почему?

    Ответ: Эти ошибки могут всплывать в силу различных причин, так что во-первых нужно проверить, когда это произошло, и прочитать описание возможных причин.

    1. Возможно что ник бота или ваш IP адрес забанен на Battle.net сервере. Если вы можете войти в battle.net из Warcraft III на этом же реалме, то вы не забанены battle.net.Убедитесь в том, чо вы не забанены на Battle.net сервере. Если вы забанены, то вам придется изменить свой внешний IP-адрес или подождать, пока этот запрет истечет. Запреты дляться от нескольких минут до бесконечности. Для более точной информации связывайтесь с администрацией Battle.net сервера.

    2. Вы хостите карту, но другие игроки не могут зайти в игру:
    • Рекомендую Вам еще раз проверить настройки ghost.cfg, вероятно, что ваша проблема находится там. Дважды проверьте ваши значения bot_mappath и bnet_customexe(если таковые имеются).
    • Проверьте конфиг вашей карты, если она сделана в домашних условиях. Возможно ошибка там.
    • Проверьте порты, отключите файрвол или добавьте исключения. ТАкже настройте WC3 порт отличным от портов гхоста и админ игры
    4. Вы сделали некоторые изменения в вашем коде. Если вы не уверены, изменяйте код только так, как описано на форуме.

    Вопрос: Я использую GHost версии 12 (или выше) и пытаюсь подсоединиться к оффициальному серверу battle.net, но он по-прежнему пишет, что я использую невеную версию. Что я делаю неправильно?

    Ответ: Во-первых, вы должны убедиться в том, что файлы Warcraft III обновлены до последней версии и что Ghost.cfg указывает на папку с Wc3 в параметре bot_war3path. Убедитесь, что вы внесли следующие изменения в Ghost.cfg:
    • bot_war3path = указать путь к Wc3 (напр. C: \ Program Files \ Warcraft III \)
    • bnet_custom_war3version =
    • bnet_custom_exeversion =
    • bnet_custom_exeversionhash =
    • bnet_custom_passwordhashtype =
    Если вы используете GhostOne, вам, возможно, потребуется внести дополнительные изменения, посетите GhostOne для получения более подробной информации. Изменение Ghost.cfg добавлением следующей строки :

    Код:
     bot_patch23ornewer = 1
    Вопрос: Ошибка"CD KEY in use by [Ghost]"

    Ответ: Попробуйте следующее:
    1. Убедитесь, что Ghost++ закрыт, а затем попробуйте запустить снова.
    2. Если GHost аварийно завершил работу, battle.net не успел зарегистрировать его выход, и вас заблокировало на несколько минут.
    3. Ghost работает в фоновом режиме. Перезагрузите компьютер и попробуйте снова.
    4. Вы пытаетесь использовать один и тот же CD ключ для Ghost++ и Warcraft III, и не можете войти в battle.net напрямую. Используйте режим админ игры для входа.
    5. Вы используете CD ключ вместе с кем то или кто то украл его.
    Вопрос: "[TCPSOCKET] error (recv) – ECONNABORTED"

    Ответ: Я предлагаю вам проверить ваш маршрутизатор, брандмауэр и/или программное обеспечение. Это также может произойти, если вы используете тот же аккаунт для Wc3, как и для бота.

    Вопрос: Ошибка "lang_ ####", когда я использую команду. Что мне теперь делать?

    Ответ: Бот печатает эти Lang коды, когда существует проблема загрузки файла language.cfg, убедитесь, что ваш language.cfg правильный и находится в нужном месте(обычно корень GHost).

    Вопрос: "[TCPSOCKET] error (recv) - ECONNRESET"

    Ответ: Вы были отключены от сервера. Как правило, эта ошибка возникает в следующих случаях:
    1. Если подключение к серверу battle.net безуспешно, ваш IP забанен (временно).
    2. Если вы подключаетесь к серверу battle.net и вас отключает, то у вас неправильно настроен варден сервер, или он не обновлен. Вы должны получить код ошибки 3 до отсоединения, если проблема в этом.
    Вопрос: “[TCPCLIENT] error (gethostbyname)”. Что я наделал?!

    Ответ: Бот не может преобразовать доменное имя сервера в IP адрес. Я рекомендую вам проверить значение параметра bnet_server в ghost.cfg и если возможно указывать IP адрес, а не доменное имя. Или же у вас некорректно работает DNS сервер, попробуйте указать DNS сервера 8.8.8.8 и 8.8.4.4
    Doterok, Guard, LongMan и ещё 1-му нравится это.
  3. MuP .

    Сообщения:
    653
    Спасибы:
    202
    Сборка бота GHost:
    Ghost++ rev 579
    Дата начала использования бота:
    00.00.0000
    Общие вопросы по настройке

    Вопрос: Иногда я хочу хостить игры, чтобы играть одному, и когда я создаю вторую игру, я не могу к ней присоединиться! В чем дело?
    Ответ: Вы должны попробовать эти настройки:
    bot_hostport = 6113
    admingame_port = 6114
    При условии что клиент Warcraft настроен на 6112 порт

    Вопрос: Как я могу настроить Loopback адаптер?
    Ответ: Для настройки Loopback адаптера, вам нужно установить Microsoft Loopback Adapter.
    Руководство по установке Loopback Adapter в Windows XP
    Руководство по настройке Loopback адаптера

    Вопрос: Я хочу чтобы карта хостилась автоматом без моего участия.
    Ответ: Заполните данную секцию в конфигурации бота:
    Или вручную после запуска введите команду !autohost <m> <p> <n>
    где <m> - максимальное количество игр, которое создаст бот автохостом.
    <p> - минимум игроков, необходимых для старта
    <n> - Имя игры для автохоста.

    !Внимание. Настройка автохоста для Ghost++ и GHostOne могут различаться.

    Вопрос: Я использую autohost для карт DotA, но я хочу, чтобы робот вводил при загрузке мод. Как я могу это сделать?
    Ответ: Указывайте мод через HCL в конфигурации карты, что это такое смотрите тут.

    Вопрос: “[GAMEPROTO] invalid parameters passed to SEND_W3GS_PLAYERINFO”

    Ответ: Вы изменили код неправильно, это происходит, когда вы устанавливаете параметру m_VirtualHostName значение более 15 символов. Помните, что название учетной записи не может быть длиннее 15 символов (включая код цвета), учитывайте что 1 русская буква идет за 2 латинские, т.е. максимально 7 русских букв.

    Дополнительные вопросы по Ghost

    Вопрос: Как работают PID и SID?
    Ответ: Краткая суть поста от Varlock'a:

    PID представляет собой уникальный номер, используемый для идентификации игрока (или "поддельного" игрока, такого, как виртуальный хост). Функция, которая присваивает каждому свой PID, GetNewPID - это функция, которая, если я правильно помню, начинается с 1 и повышается до 12. Если вы попытаетесь увеличить этот лимит, начнут происходить "странные вещи", а уменьшив лимит, вы ограничите количество игроков, которые могут присоединиться к игре. Вот почему виртуальный хост выходит из игры, когда присоединяется 12 игрок. Он должен освободить свой PID для этого игрока.

    Ghost++ назначает PID'ы начиная с 1, поднимая в том порядке, в котором игроки вступили в игру (игрок с виртуального хоста получит PID 1, а первый реальный игрок получить PID 2). Если игрок уходит, то его PID освобождается и назначется следующему вошедшему игроку. Поэтому PID не имеет ничего общего с тем, сколько слотов имеется на карте, особенно в пользовательских играх, где можно двигаться между слотами.

    А SID - это лишь индекс массива m_Slots . Первый слот имеет SID 0, второй имеет SID 1, и т.д... Действующими SID'ами являются SID'ы от 0 до m_Slots.size() - 1.

    Если вы пытаетесь найти PID для использования в fromPID аргумента SendAllChat, то сначала нужно решить, от кого вы хотите отправлять сообщения. Наилучший способ состоит в том, чтобы, используя вектор m_Players, выбрать нужного игрока по любому из атрибутов игрока (например, их названия) и использовать функцию GetPID, чтобы получить их PID. Кроме того, можно попытаться использовать PID виртуальный хоста, хотя он будет работать только в лобби, и лишь тогда, когда там менее 12 игроков (переменная m_VirtualHostPID будет установлена в 255, когда виртуальный хост не доступен). Взгляните на функцию GetHostPID, которая используется для определения игрока, отправляющего все сообщения бота , когда он использует SendAllChat

    Вопрос: Я хочу изменить бота, добавив или убрав некоторые функции, а в конфигурации бота это не настраивается.

    Ответ: Скорее всего вам придется менять исходный код бота. Для более детальной информации советую обратиться в эту ветку форума. После внесения изменений придется перекомпилировать бота, способ зависит от ОС, которую вы используете. Просмотрите раздел "Мануалы" внимательно, там есть готовые решения для всех популярных ОС.


    Вопрос: Почему по команде !statsdota (!sd) бот отвечает, что не сыграно ни одной DotA игры, при этом по команде !stats бот возвращает общее количество сыгранных игр?

    Ответ: Здесь возможны следующие причины:
    • В конфигурационном файле карты отсутствует либо не имеет значения директива, отвечающая за тип карты - map_type.
    • Карта загружается посредством команды !map, а не через специально подготовленный конфигурационный файл.
    Для корректного отслеживания и сохранения ботом игровой статистики для карт типа DotA, должны быть соблюдены следующие условия:
    1. Для карты должен быть создан специальный конфигурационный файл, в котором, кроме всего прочего, явным образом должен быть указан тип карты со значением dota:
      Код:
      map_type = dota
    2. Загрузка карты должна производиться путём загрузки её конфигурационного файла:
      Код:
      !load название_конфигурационного_файла
    Вопрос: Почему при попытке создать новую игру бот сразу же её закрывает, при этом в лог записывается следующая ошибка?
    Код:
    [TCPSERVER] error (bind) - EADDRINUSE
    [GAME: DotA ap Pro go!] error listening on port 6112
    Ответ:
    Данная ошибка указывает на то, что здесь имеете место быть конфликт портов. К примеру, конфликт может возникнуть, когда:
    • GHost бот располагается на машине (домашний компьютер), на которой, так же, запускается Warcraft III клиент, при этом порты обоих приложений не были изменены на уникальные.
    • На одной машине запущено несколько GHost ботов с неизменёнными портами, которые были заданы в их конфигурационных файлах по умолчанию.
    • На машине, где запущен бот, имеется PvPGN сервер, слушающий на тот же IP-адрес и порт, что и GHost бот.
    Также в случае, если на машине присутствует несколько активных сетевых интерфейсов (сетевые карты), рекомендуется явным образом привязывать бота на прослушивание того, с которым предполагается работа, используя директиву bot_bindaddress.
    Вопрос: я хочу изменить надпись, которая показывается игроку при входе в лобби, а также надпись которая появляется после старта игры.
    Ответ: файл с текстом, который покажут игроку в лобби определяется в конфигурации бота, параметр
    а файл, текст из которого выведется после игры, определяется парамертром

    Если данные параметры не определены, бот использует motd.txt и gameloaded.txt соотвественно.

    Стоит учитывать, что бот берёт только первые восемь строчек из файла. Для корректного отображения русского текста надо сохранять в кодировке UTF-8 без BOM
    naineten, AlexGhost, Mr_LiSa и 5 другим нравится это.
Статус темы:
Закрыта.