GHost++ использует файлы конфигурации карт для определения некоторых режимов игры и слотов для каждой карты. Начиная с версии 7.0 GHost++ может автоматически рассчитывать некоторые значения карты если существует реальный фаил данной карты.Он может определять следующее:
map_size
размер карты.map_info
CRC32 значение карты).map_crc
генерирует значение по другому алгоритму, отличному от CRC.map_width
играбельная ширина карты.map_height
играбельная высота карты.map_numplayers
число игроков - используется только для карт на развитие.map_numteams
число комманд - используется только для карт на развитие.map_slotN
структура слотов.
GHost++ определяет следующие вещи перед началом:
1.) Бот открывает War3Patch.mpq
расположеный в дирректории bnet_war3path
.
2.) Если фаил найден, он извлекает Scripts\common.j
и Scripts\blizzard.j
и сохраняет их в папку в bot_mapcfgpath.
НЕ является ошибкой если бот не нашёл
War3Patch.mpq
и не смог извлеч файлы. Если вы уже скопировалиcommon.j
иblizzard.j
вbot_mapcfgpath
папку. Если вы не нуждаетесь в автоматическом расчетеmap_crc
.
GHost++ определяет следующие значения когда загружает фаил конфигурации карты:
- Открывает указанный cfg фаил карты.
- Пытается открыть реальный фаил карты который определяется из
bot_mappath + map_localpath
. - Если всё прошло успешно то вычисляется
map_size
иmap_info
. - Пытается открыть
common.j
в дирректории указанной вbot_mapcfgpath
. Если это невозможно, он прекращяет процесс вычисленмя map_crc. - Пытается открыть
blizzard.j
в дирректории указанной вbot_mapcfgpath
. Если это невозможно, он прекращяет процесс вычисленмя map_crc. - Пытается открыть реальный фаил карты как MPQ архив.
- Если успешно автоматически вычисляет map_crc. IЕсли это невозможно, он прекращяет процесс вычисленмя map_crc.
- Если может открыть MPQ архив то он извлекает
war3map.w3i
(он ложит это фаил в память). - Если всё прошло успешно автоматически вычисляет
map_width
,map_height
,map_slotN
,map_numplayers
, иmap_numteams
. - Если какие либо из вычисляемых параметров определены в файле конфигурации карты, он перезаписывает их ВМЕСТО автоматически вычисленных значений.
Вы можете удивиться почему common.j
и blizzard.j
не включены в поставку и извлекаются из WC3
Это потому что common.j
и blizzard.j
официальные файлы Blizzard и они защищены авторским правом.
Если вы не хотите чтобы GHost++ извлекал common.j и blizzard.j то вручную скопируйте их в bot_mapcfgpath.
Это особенно касается Linux пользователей которые не хотят копировать 25 MB фаил на GHost++ сервер.
Итак:
Если вы хотите позволить скачивать карту:
- убедитесь что у вас есть реальный фаил карты расположенный в
bot_mappath + map_localpath
. - убедитесь что выставлен
bot_allowdownloads = 1
Если вы хотите чтобы GHost++ автоматически вычислял map_size
и map_info
:
- убедитесь что у вас есть реальный фаил карты расположенный в
bot_mappath + map_localpath
.
Если вы хотите чтобы GHost++ автоматически вычислял map_crc:
- убедитесь что у вас есть копия common.j и blizzard.j извлечённых из
War3Patch.mpq
вbot_mapcfgpath
. - убедитесь что у вас есть реальный фаил карты расположенный в
bot_mappath + map_localpath
.
Если вы хотите чтобы GHost++ автоматически вычислял map_width
, map_height
, map_slotN
, map_numplayers
, и map_numteams
:
- убедитесь что у вас есть реальный фаил карты расположенный в
bot_mappath + map_localpath
.
Если вы хотите чтобы GHost++ автоматически извлекал common.j
и blizzard.j
из War3Patch.mpq
:
- убедитесь что у вас есть копия файла
War3Patch.mpq
вbnet_war3path
перед запуском.
Некоторые карты "защищены" и в некоторых случаях StormLib не может прочитать их. Это означает что бот может вычислять не верные значения.