-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
как прогресс? уже можно юзать в опытной эксплуатации? :) Есть ли интеграция с dcg? идеальным был бы вариант - dcg генерит миссии по своим правилам, а демон следит за самолетами/пилотами/критически важными объектами и если что принудлителньо заставляет dcg перегенерить миссию.
еще добавить
- количественно распределение самолетов по званиям (среди тех что вставит dcg)
- учет этих самых званий пилотов
И получается мега система для не супер хардкорных серверов с уклоном к серьезной войне.
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
В принципе должно быть уже юзабельно, но пока не провели публичного тестирования ничего гарантировать не могу. Но пока, к сожалению :(, для этого не хватает времени.
В сторону DCG ничего не делалось. Мне более знаком FBMission в этом вопросе так что когда буду зтачивать под генератор то это будет скорее всего последний.
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
IvanoBulo
В принципе должно быть уже юзабельно, но пока не провели публичного тестирования ничего гарантировать не могу. Но пока, к сожалению :(, для этого не хватает времени.
В сторону DCG ничего не делалось. Мне более знаком FBMission в этом вопросе так что когда буду зтачивать под генератор то это будет скорее всего последний.
FBMission мы как раз сейчас используем. Но насколько я понял он просто двигает фронт по фидам. Превысили разницу в очках наземки (считается по всему фронту) - захватили ближайший филд. Отсюда невозможность организовать "локальное преимущество" когда целенаправлено выносим участок фронта и по итогам миссии фронт там сдвигается.
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
IvanoBulo
В принципе должно быть уже юзабельно, но пока не провели публичного тестирования ничего гарантировать не могу.
Какой прогноз по времени?
Неожиданно к серверу проявил народ интерес. Даже удивительно.
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
На днях исправил несколько багов и в принципе считаю что всё должно работать нормально. Пока что нет статистики, над ней работает Бакс. Если статистика не очень нужна могу собрать пре-альфа версию демона с краткой инструкцией по инсталяции.
Вопрос ко всем заинтересованным. Какие из перечисленных функций наиболее интересны (в скобках трудоёмкость)?
1. (3) Отслеживание игроков с высоким пингом или с низким коннектом
2. (2) Голосование за смену карты
3. (2) Отслеживание игроков уничтожающих своих
4. (4) Интеграция с DCG/FBMission
5. (5) Графический интерфейс (в данный момент только командная строка и конфигурационные файлы)
Буду имплементировать в зависимости от ваших приоритетов. Также жду новых предложений. Первая версия демона будет выпущена примерно в то же время что и статистика.
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
IvanoBulo
На днях исправил несколько багов и в принципе считаю что всё должно работать нормально. Пока что нет статистики, над ней работает Бакс. Если статистика не очень нужна могу собрать пре-альфа версию демона с краткой инструкцией по инсталяции.
Вопрос ко всем заинтересованным. Какие из перечисленных функций наиболее интересны (в скобках трудоёмкость)?
1. (3) Отслеживание игроков с высоким пингом или с низким коннектом
2. (2) Голосование за смену карты
3. (2) Отслеживание игроков уничтожающих своих
4. (4) Интеграция с DCG/FBMission
5. (5) Графический интерфейс (в данный момент только командная строка и конфигурационные файлы)
Буду имплементировать в зависимости от ваших приоритетов. Также жду новых предложений. Первая версия демона будет выпущена примерно в то же время что и статистика.
3, 1, 2, 4, 5 -совсем не надо
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Наибольший интерес представляет поддержка плагинов, как это сделано в OpenCommander -произвольно написанная прога цепляется к "движку" и слушает уже отпарсенные события из разных источников (лог + чат) и реагирует на это как вздумается.
Учитывая то что сейчас весь функционал судя по всему сделан монолитно, видимо это самая трудоемкая задача =(
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
MoHaX
Наибольший интерес представляет поддержка плагинов, как это сделано в OpenCommander -произвольно написанная прога цепляется к "движку" и слушает уже отпарсенные события из разных источников (лог + чат) и реагирует на это как вздумается.
Учитывая то что сейчас весь функционал судя по всему сделан монолитно, видимо это самая трудоемкая задача =(
Я не вижу необходимости в этом. Что может дать такая поддержка? Будет реализован отчёт о миссии в XML формате. Будет возможность определять через параметры выбор из нескольких альтернатив на более высокоуровневые события, как то давать или запрещать взлёт неавторизированым игрокам взлететь, получить тот или иной самолёт. К тому же так как исходники все есть, то что мешает заменить тот или иной код на произвольный?
Иными словами, моя цель создать достаточный уровень гибкости для того чтобы не нужно было разрабатывать ещё какие-то плагины.
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Все очень просто: можно будет неограниченно расширять функционал. Добавлять новыее команды чата, по своему их обрабатывать, можно будет писать какие угодно по сложности войнушки, не заморчаиваясь на низкоуровневую коммуникацию (типа соединения с сервером, парсинг событий, преобразование в уникод и пр.) - ведь просто разбирая высокоуровневые события игры можно сконцентрироваться именно на своих задачах. Как пример: сделать начисление званий и раздачу самолетов по званиям. Через XML это не прописать, до тех пор пока Вы не добавите такой функционал в сам демон. А это потеря гибкости и бОльшая нагрузка на Вас. Поскольку писать плагин не заботясь ни о чем и ковырять сам код демона не одно и то же - в первом случае жизнь стороннего разработчика сильно облегчается.
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Дык вроде проблем особых нет... например смотрим сюда
http://jaydaemon.svn.sourceforge.net...2/daemon/impl/
Тут реализация всех команд и реакций на события...
Например вот команда list-missions
http://jaydaemon.svn.sourceforge.net...97&view=markup
Ничего не мешает написать свою kill-em-all и добавить тут. (думаю чуть пожже добавится возможность конфигурирования этого через конфиг)
http://jaydaemon.svn.sourceforge.net...98&view=markup
По идее даже можно замутить некий generic-groovy/python-command который будет исполнять произвольный скрипт на нужном языке...
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от MoHaX
Как пример: сделать начисление званий и раздачу самолетов по званиям
Я лично противник такого потому как в реальности такого не было. Был полк укомплектованный конкретным типом самолётов и это было бы самоубийством если было бы как ты предлагаешь. Ну как ты себе представляешь что ведущий летит на Як-9У а его ведомый на Як-7? Что может сделать такая боевая единица? Только умереть...
Тем не менее будет возможность добавления некого своего делегата который будет извещён что такой-то пилот пробует влететь на таком-то самолёте, а там делай что хочешь, пиши всё что в голову придёт...
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Хорошо, добавить обработчик чата действительно просто (но сам факт ковыряния основного кода все равно не добавляет радости). Но я имел ввиду другое. Сразу скажу что по ка в вашем командере не копался, по этому сужу просто по тому что мельком увидел.
Для примера стоит взглянуть на обработчики событий игры,а не чата. Например возьмем TakeoffEventHandler - он парсит строку напрямую из лога и записывает состояние пилота. Задача: если взлет был меньше чем через минуту после смерти то кикнуть игрока. Сейчас это надо реализовывать прям в том же хендлере, дописывая внизу проверки и реакции. Так понаписав кучу обработчиков в разных хендлерах поддержка всего этого превращается в головняк (ведь вы тоже продолжаете развивать свой продукт). Я прошу рассмотреть возможность сделать вот что - все события обработанные вот этими хэндлерами потом экспортировать ввиде событий, на который могут подписывать (на все или только на некоторые) разные внешние модули и обрабатывать их по-своему (естественно им надо будет предоставить некий API для обратной связи, например в нашем примере что б можно было кикать пилота).
Если я не до конца усек (а я полагаю что это так) дизайн демона и добавлять высокоуровневые (не парсеры строчек из лога) обработчики тоже довольно просто тогда поддержку плагинов можно будет реализовать меньшими силами чем я предполагал ранее
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
IvanoBulo
Тем не менее будет возможность добавления некого своего делегата который будет извещён что такой-то пилот пробует влететь на таком-то самолёте, а там делай что хочешь, пиши всё что в голову придёт...
Вот про это я и говорю. Не только кто на чем взлетел, а вообще все события игры представить в удобоваримом виде (кто прыгнул, кто где танк уничтожил и т.д.). Сейчас делать что хочешь не получится, потому как можно написать такой функционал который будет конфликтовать с существующим, зашитым в код. Для развязывания рук надо иметь возможность отключать то что уже есть. Самое красивое если демон будет представлять движок, целью которого станет:
1) коммуникация с игрой
2) разбор событий и экспорт их в удобоваримом виде для плагинов
3) разные удобные классы типа pilot, plane, mission, server и т.д. (API в общем)
4) стандартные плагины, которые реализуют виденье авторов о том, какой должен быть функционал демона. Заодно будут служить примером другим плагинописателям
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
tovarisch_Ko
3, 1, 2, 4, 5 -совсем не надо
+1
-
Вложений: 1
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Запустил демона под линуксом :)
Как не странно но работает всё как-то лучше... (субъективно)
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
IvanoBulo
Запустил демона под линуксом :)
Как не странно но работает всё как-то лучше... (субъективно)
Дык я его так и девелопил :)
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
IvanoBulo
Тем не менее будет возможность добавления некого своего делегата который будет извещён что такой-то пилот пробует влететь на таком-то самолёте, а там делай что хочешь, пиши всё что в голову придёт...
Будет даже больше. При создании самолёта/юнита некий Observer будет об этом оповещён, а в нём вешайте слушатели на этот самолёт/юнит. Можно будет реагировать на любое из событий, вроде взлетел, сел, уничтожен, ранен а также узнать где и когда и кем
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
IvanoBulo
Будет даже больше. При создании самолёта/юнита некий Observer будет об этом оповещён, а в нём вешайте слушатели на этот самолёт/юнит. Можно будет реагировать на любое из событий, вроде взлетел, сел, уничтожен, ранен а также узнать где и когда и кем
Вот за этот приоритет голосую :) По вашей шкале насколько это трудоемко?
Как будет решен конфликтов функционала. Гипотетический пример: если у вас уже реализован кик, если не введен корректный пароль, а я хочу написать свой модуль который в случае взлета без пароля будет выводить в течение минуты предупреждения на экран и только потом кикать - на лицо конфликт, т.к. ваш встроенный функционал уже кикнет игрока, пока мой модуль будет только готовиться к этому :)
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
IvanoBulo
Будет даже больше. При создании самолёта/юнита некий Observer будет об этом оповещён, а в нём вешайте слушатели на этот самолёт/юнит. Можно будет реагировать на любое из событий, вроде взлетел, сел, уничтожен, ранен а также узнать где и когда и кем
А если я ему захочу сказать пару словечек? Не предусмотренных в твоем коде?
PS MoHaX первый спросил. Почти тож самое. :)
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
MoHaX
Вот за этот приоритет голосую :) По вашей шкале насколько это трудоемко?
Менее 2-ух часов, т.е. "очень легко". Фактически уже почти зделано.
Цитата:
Сообщение от
MoHaX
Как будет решен конфликтов функционала. Гипотетический пример: если у вас уже реализован кик, если не введен корректный пароль, а я хочу написать свой модуль который в случае взлета без пароля будет выводить в течение минуты предупреждения на экран и только потом кикать - на лицо конфликт, т.к. ваш встроенный функционал уже кикнет игрока, пока мой модуль будет только готовиться к этому :)
С такими взглядами из любой ситуации можно "высосать" конфликт ;)
Конфликта не будет, потому как Вашему observer'у будет доступен лишь метод "kick(Player player, String reason)". Одним словом "чужой" код будет довольствоваться тем малым что не сможет вызвать конфликта интересов :)
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
boRada
А если я ему захочу сказать пару словечек? Не предусмотренных в твоем коде?
PS MoHaX первый спросил. Почти тож самое. :)
будет метод "sendMessage(Player player, String msg)"
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
IvanoBulo
С такими взглядами из любой ситуации можно "высосать" конфликт ;)
Конфликта не будет, потому как Вашему observer'у будет доступен лишь метод "kick(Player player, String reason)". Одним словом "чужой" код будет довольствоваться тем малым что не сможет вызвать конфликта интересов :)
И все равно, если вернуться к моему примеру - мой observer не будет кикать сразу, а будет раз в 10 секунд слать sendmessage(), после 6 циклов пошлет kick(), в то же время ваш встроенный функционал кикнет забывичвого игрока сразу же в момент отрыва от земли. Если подумать то таких конфликтов может быть много. Вопрос ИМХО можно решить просто: достаточно ввести конфигурационный файл с параметрами типа bool где весь встроеный функционал будет включаться или отключаться.
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
MoHaX
И все равно, если вернуться к моему примеру - мой observer не будет кикать сразу, а будет раз в 10 секунд слать sendmessage(), после 6 циклов пошлет kick(), в то же время ваш встроенный функционал кикнет забывичвого игрока сразу же в момент отрыва от земли. Если подумать то таких конфликтов может быть много. Вопрос ИМХО можно решить просто: достаточно ввести конфигурационный файл с параметрами типа bool где весь встроеный функционал будет включаться или отключаться.
Никаких асинхронных операций в чужом коде. Это будет в документации. Кто так делать не будет сам себе злой Буратино.
С другой стороны твой встроенный цикл на 10 секунд остановит обработку событий чата и евентлога на это время, так что будешь вдвойне сам себе злой Буратино.
И это вовсе не из-за моих принципов а из-за того что транзакции имеют начало и конец, открывается при получении сообщения из консоли или лога и закрывается после его обработки. Любая твоя асинхронная операция попросту не попадает в транзакцию и ломает всю твою логику. Так что как бы не хотелось придётся мирится с некоторыми ограничениями и пользоваться только тем что разрешено.
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Как говориться "по просьбам трудящихся", добавил Plug-in API и как пример реализация команды <vote. API как понимаете далеко от финального и будет изменять до выхода первого релиза но для ознакомления вполне подходит
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Ещё один плагин для отслеживания и "награждения" штрафными очками игроков с низкими настройками сети.
ЗЫ: "Юбилейный" 100-ый коммит в репозиторий :thx:
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
IvanoBulo
Ещё один плагин
Так когда попробовать то можно будет?
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
На этих выходных хотим протестировать демона в более-менее реальных условиях и думаю на следующей неделе можно будет пробовать (серьёзные баги вроде бы уже отловил). Правда без статистики. Над ней сейчас Бакс активно работает.
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Отслеживания игроков стреляющих по своим реализован в виде ещё одного плагина. Так что из списка пятидневной давности нереализованными фичами остались пункты 4 и 5. Займусь наверное интеграцией с DCG, а графический интерфейс не скоро появится...
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Запущен тестовый сервер. il2.degunino.net:21001
В ближайшее время там будет нормальная миссия (сейчас там что под рукой было) и еще чуть дальше начнет появляться стата...
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
Baks
Запущен тестовый сервер. il2.degunino.net:21001
А остальным попробовать не судьба?
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
akirill
А остальным попробовать не судьба?
Пока, к сожалению, релиз не готов, по этому только тестовая эксплуатация, чтобы явные баги ловить...
Руководства нет. Инсталятора нет. Исходники известно где. Из них все собирается и работает.
Пока все собирано руками и руками же все запущено...
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
Baks
Пока все собирано руками и руками же все запущено...
А кратенько описать, за что руками браться никак?
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
akirill
А кратенько описать, за что руками браться никак?
Опишу. Сейчас тестируется с тренировочной картой, которая войдет как пример в альфу, которую можно будет покрутить руками. И будет микро-ридми. Если получится, сегодня будет, если нет, тогда в выходные...
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
Baks
Если получится, сегодня будет, если нет, тогда в выходные...
Если чего, я помогу с созданием документации по установке и эксплуатации для неподготовленных пользователей.
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Записываюсь в бета(альфа :) )-тестеры
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Короткий фак основанный на моём ответе г-ну CHIEF с Форемана. Некоторые из ответов потеряют свою актуальность в первом релизе.
Цитата:
Давай по пунктам для тупых:
1.Порядок установки Демона (Сам архив , какие доп.программы нужны?)
Нужна фактически только БД (PostreSQL желательно для простоты установки) и выделенный сервер, всё остальное идёт с ним.
Цитата:
2.Какой файл отвечает за конфигурацию Демона(где пишется путь к серверу и путь к демону)?
В папке cfg лежат daemon.properties, в котором нужно поменять "il2ds.folder" на путь по которому демон будет искать выделенный сервер (запомни что символ '\' в пути к серверу должен дублироватся). Ещё нужно будет поменять GameConsole.PORT и GameConsole.URL - порт и хост для соединения с консолью выделенного сервера.
Файл hibernate.cfg.xml отвечает за конфигурацию БД. Если пользоваться PostgreSQL то нужно поменять только " connection.url", "connection.username" и "connection.password".
Цитата:
3.Как прописать путь до карты(есть-ли маплист) ?
Путь к карте (относительно папки Missions выделенного сервера) указывается в файле конфигурации для миссии (см. simple-mission.conf, [MAIN]->location).
Цитата:
4.Как его запускать ?
Для начала нужно инициализировать БД необходимыми данными. Для этого копируется daemon.bat в init.bat и строка:
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 - сколько очков вычтут если провалит задание.
Есть ещё свойства но их пока лучше не использовать пока не доделаю поэтому их не описываю.
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Поправочки, которые уже будут в альфа релизе
1. Бд может быть на данный момент любая из
HSQDB (потом скорее всего ее не будет, но для тестов нет необходимости в выделенном сервере)
MySQL
PostgreSQL
4. Для запуска 2 скрипта (для линукса соотвественно .sh)
instdb.bat - инициализация бд (типа инсталятора)
daemon.bat - запуск демона
ну и нужна Java >= 1.5
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Не имею возможности выкладывать на sourceforge, по этому на webfile... будет лежать 14 дней, но думаю раньше мы его все таки в dowloads на sf положим ;)
Изменения, никаких скриптов, запускать daemon.exe со списком conf файлов карт. initdb.exe - инициализация бд (не забыть в hibernate.conf.xml раскоментировать параметер
<property name="hbm2ddl.auto">update</property>
Для рабочей системы лучше его обратно закоментировать (демон быстрее будет стартовать и не убьет базу если ему вдруг покажется, что схема изменилась :) ).
http://www.webfile.ru/1185433
... а ну еще драйвер соотвествующего jdbc кинуть в libs (например mysql connector/j 5.0)
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
IvanoBulo
Файл hibernate.cfg.xml отвечает за конфигурацию БД. Если пользоваться PostgreSQL то нужно поменять только " connection.url", "connection.username" и "connection.password".
А как будет выглядеть этот файл для работы с MySQL?
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
akirill
А как будет выглядеть этот файл для работы с MySQL?
Он там как раз для MySQL идет в поставке.
Цитата:
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost/jaydaemon?zeroDateTimeBehavior=convertToNull&characterEncoding=utf-8</property>
<property name="connection.username">user</property>
<property name="connection.password">password</property>
Синим - имя схемы в MySQL (базы)
Красным - хост, обычно localhost
user и passwrod - соотвественно логин пароль в бд
Драйвер - это jar из архива, скачанный с mysql.org
Но на выходных сделаю раздельные пакеты:
1. Демон
2. Библиотеки
3. Настройки для
- MySQL
- HSQLDB
- PostgreSQL
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
Baks
Он там как раз для MySQL идет в поставке.
Я по svn забирал, там про постгрес речь. Мне надо под линуха.
Попробую сейчас руками переписать.
Есть ли, либо намечаются, различия в функционале версий MySQL и PostgeSQL? Постгрес то я поставил, но неохота на одной машине держать и мускуль и постгрес.
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
akirill
Я по svn забирал, там про постгрес речь. Мне надо под линуха.
Попробую сейчас руками переписать.
Есть ли, либо намечаются, различия в функционале версий MySQL и PostgeSQL? Постгрес то я поставил, но неохота на одной машине держать и мускуль и постгрес.
Вероятно только в стате... там где будут сложные запросы... в самом демоне думаю различий не будет (во всяком случае бум стараться этого недопустить).
Для линуха все просто: в переменная CLASSPATH должна содержать cfg, data, patch/*.jar, modules/*.jar, libs/*.jar через ':' (звездочки быть не должно, нужно перечисления всего что есть, если есть perl/python, то может проще даже на нем написать, чем шел мучить) . Просто почему-то подумал, что нужна именно win версия (там к стати в svn линуховый скрипт есть, так что можно и им пускать, только вот там раскладка jar-ов другая)
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Чего то не прет.
Пока добился только "Exception in thread "main" java.lang.NoClassDefFoundError: FillDataToDB"
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
akirill
Чего то не прет.
Пока добился только "Exception in thread "main" java.lang.NoClassDefFoundError: FillDataToDB"
Скачай с webfile'a, скопируй и запусти daemon.sh
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
IvanoBulo
Скачай с webfile'a, скопируй и запусти daemon.sh
Неа, не фурычит
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Вот такой daemon.sh должен работать
Цитата:
#!/bin/sh
CLASSPATH="cfg:data"
for m in "patches modules libs"; do
for i in `find $m`; do
CLASSPATH="$CLASSPATH:$i"
done
done
echo $CLASSPATH
java -cp $CLASSPATH ivanobulo.gametools.il2.daemon.impl.Daemon $*
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Блин, мистика, вчера ругался, сегодня все заново сделал - почти работает.
На текущий момент:
1. Не находил eventlog. Нашел, как он должен называться, создал руками eventlog.lst. У меня такого файла нет ни на сервере, ни в игре. Возможно, этот лог отключаем, я просто не помню за давностью лет.
2. Пока остановился на: [main] ERROR ivanobulo.gametools.il2.daemon.impl.Daemon - org.hibernate.HibernateException: hibernate.cfg.xml not found
-
Вложений: 2
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
akirill
Блин, мистика, вчера ругался, сегодня все заново сделал - почти работает.
На текущий момент:
1. Не находил eventlog. Нашел, как он должен называться, создал руками eventlog.lst. У меня такого файла нет ни на сервере, ни в игре. Возможно, этот лог отключаем, я просто не помню за давностью лет.
2. Пока остановился на: [main] ERROR ivanobulo.gametools.il2.daemon.impl.Daemon - org.hibernate.HibernateException: hibernate.cfg.xml not found
1. Попробуй конифг confs.ini приаттаченый
2. положи daemon.zip под именем daemon.jar в modules и hibernate.cfg.xml.template переименуй в hibernate.cfg.xml
ну и соотвественно, демон не стартует сервер il2, сначала надо сервер запустить руками.
-
Вложений: 1
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Ура, завелось.
Цитата:
Сообщение от
Baks
1. Попробуй конифг confs.ini приаттаченый
Внес в свой недостающую секцию
Цитата:
Сообщение от
Baks
2. положи daemon.zip под именем daemon.jar в modules
Не понял этого шага. Там есть соответствующий файл, байт в байт
Цитата:
Сообщение от
Baks
и hibernate.cfg.xml.template переименуй в hibernate.cfg.xml
Тут я откровенно сослил и ступил. После того, как переделывал утром, забыл переименовать файл, внести правильные значения для доступа к базе (постгрес), порта консоли сервера. Не захотел коннектиться по localhost, в явном виде указал ИП сервера. Почему так, не захотел разбираться.
Цитата:
Сообщение от
Baks
ну и соотвественно, демон не стартует сервер il2, сначала надо сервер запустить руками.
Это понятно.
-
Re: JayDaemon - новый OpenSource демон от IvanoBulo
Цитата:
Сообщение от
akirill
Не понял этого шага. Там есть соответствующий файл, байт в байт
Форум не захотел jar цеплять :). Там небольшой апдейт.
Ну теперь надо ему в командную строку конфиг миссии указать и оно должно заработать :)
типа $ daemon.sh my-super-mission.conf