Короткий фак основанный на моём ответе г-ну CHIEF с Форемана. Некоторые из ответов потеряют свою актуальность в первом релизе.
Нужна фактически только БД (PostreSQL желательно для простоты установки) и выделенный сервер, всё остальное идёт с ним.Давай по пунктам для тупых:
1.Порядок установки Демона (Сам архив , какие доп.программы нужны?)
В папке cfg лежат daemon.properties, в котором нужно поменять "il2ds.folder" на путь по которому демон будет искать выделенный сервер (запомни что символ '\' в пути к серверу должен дублироватся). Ещё нужно будет поменять GameConsole.PORT и GameConsole.URL - порт и хост для соединения с консолью выделенного сервера.2.Какой файл отвечает за конфигурацию Демона(где пишется путь к серверу и путь к демону)?
Файл hibernate.cfg.xml отвечает за конфигурацию БД. Если пользоваться PostgreSQL то нужно поменять только " connection.url", "connection.username" и "connection.password".
Путь к карте (относительно папки Missions выделенного сервера) указывается в файле конфигурации для миссии (см. simple-mission.conf, [MAIN]->location).3.Как прописать путь до карты(есть-ли маплист) ?
Для начала нужно инициализировать БД необходимыми данными. Для этого копируется daemon.bat в init.bat и строка:4.Как его запускать ?
java -cp "%CLASSPATH%" ivanobulo.gametools.il2.daemon.impl.Daemon %*
меняется на:
java -cp "%CLASSPATH%" FillDataToDB
и запускается.
Если всё пройдёт без ошибки то и демон запущенный с помощью:
daemon.bat <список конфигураций для миссий через пробел>
5.Есть-ли ini файл для миссии , или что-то подобное где хранятся и настпаиваются параметы миссии(число доступных крафтов, число целей, приоритет целей, какая цель для какой команды(красная/синяя))?
Пока вроде все как запущу ,вопросы еще появятся....
Всё описывается в конфигурационном файле миссии. simple-mission.conf лучший пример.
Фактически минимальным конфигурационным файлом может быть такой:
[MAIN]
;Main mission settings
name=Simple mission
location=Net/dogfight/daemon/simple-mission.mis
teams=Red,Blue
mission_time=1200
;Team descriptions
[Red]
id=1
[Blue]
id=2
По этим пунктам думаю объеснения лишни - названия говорят сами за себя.
Что касается ресурсов. Есть 3 типа ресурсов:
1. playerResources - перечисляет секции (через запятую) для описания ресурсов игроков для всей карты или для какой-либо конкрутной местности. Для кажной секции доступны 3 свойства:
* 1. amount - кол-во
* 2. vital - true или false. Если true то миссия закончиться если этот ресурс будет полностью уничтожен.
* 3. location - формат "x y r". x,y - позиция, r - радиус
2. typeResources - перечисляет секции (через запятую) для описания ресурсов типов. Доступны такие свойства для секций:
* 1. type - тип ресурса. Все типы перечислены и будут искаться в табличке unit_type
* 2. amount - кол-во
* 3. vital - true или false. тоже что и для "playerResources"
* 4. location - тоже что и для "playerResources"
3. concreteTypeResources - почти тоже что и typeResources только вместо "type" у секции есть свойство "gameId" где чётко указывается ИДЕНТИФИКАТОР типа (таблица в базе unit_descriptor, поле game_id). Также есть свойство "weapon" где можно указать название оружия ("U3-MK108", "1sc500" и т.д.)
В секции команды (Blue, Red...) можно также указать свойство "objectiveDescriptors". В нём через запятую указаны секции описывающие задание для данной команды. В каждой такой секции доступны такие свойства:
1. target - само задание в формате записи ИЛа ("<задача (1 уничтожить, 6 защитить)> <тип (0-главная, 1 - дополнительная, 2 - скрытая)> <ждать/не ждать (0/1)> <сколько ждать в мин> <сколько процентов (500 - 50%)> <x> <y> <r>")
2. time_limit - лимит по времени (в минутах)
3. stopMissionIfComplete - (true|yes|no|false) Если "yes" или "true" то миссия закончится если данное задание будет выполнено
4. completePoints - сколько очков получит команда если выполнит это задание
5. failPenaltyPoints - сколько очков вычтут если провалит задание.
Есть ещё свойства но их пока лучше не использовать пока не доделаю поэтому их не описываю.