Собираюсь пускать сервер под Linux, как продвигаются дела с Jay Daemon?
Вид для печати
Собираюсь пускать сервер под Linux, как продвигаются дела с Jay Daemon?
Под линухом сервер работает некорректно (ИЛ-2 сервер), грузит процессор на 100%. Так что только винда :(.Цитата:
Сообщение от MoHaX
Пока работа над демоном "замёрзла" из-за нехватки времени. А вообще есть идея дождаться выхода Java 6 в которой появиться поддержка скриптовых языков чтобы дать возможность более гибкого "тюнинга" демона админами серверов.Цитата:
Сообщение от MoHaX
Нормально он там работает. Проценты отдает не торгуясь, когда просят у него :)Цитата:
Сообщение от KBaks
У меня на одной машине (Целерон какой то) крутится Ил-2, Тракмания, Батлфилд2 и еще какие то статистики и прочая мелочевка. Ни на одном из игровых серверов не жалуются на тормоза.
Ну надо же! Перл, поди, поддерживаться будет?Цитата:
Сообщение от IvanoBulo
Может проще дождаться версии джава, в которой уже будет поддержка управления сервером Ил-2? :)
Все, ухожу-ухожу-ухожу...
Зачем же так грубо? Просто в данный момент получается так что менеджмент ресурсов, обработка некоторых событий довольно сложна и чтобы её подменить под конкретную идею конкретного сервера нужно долго копаться в исходниках чтобы что-то поменять. Тем более что релиз Java 6 должен состояться в этом году. И раньше чем через 2 месяца ремонт в квартире сделать не успею...
Извини, обидеть не хотел. Когда меня грубо выпихивали из топика, я не обижался, поскольку считал себя правым. Ну да это лирика.Цитата:
Сообщение от IvanoBulo
Может все же сначала ТЗ написать, и смакетировать в скриптовых языках? В том же горячо любимом Питоне?Цитата:
Сообщение от IvanoBulo
Обкатать идею, посмотреть на фидбэк. А там уж можно реализовывать на чем больше нравится.
На самом деле, совершенно неважно, когда джава выйдет. Все равно, предположительно, до второго патча будет непотребно.Цитата:
Сообщение от IvanoBulo
Вот ремонт, это серьезно.
Прими мою моральную поддержку.
Макетировать в скриптовых языках что-то большее чем ротация карт - дольше и сложнее чем написать все сразу на ООП яыке высокого уровня.Цитата:
Сообщение от akirill
Смешно. Пацаны то и не знают.Цитата:
Сообщение от akirill
Вообще-то это вторая версия :). На первой Nullwar вертиттцо. (точнее это уже не совсем та, первая, ее ребята из nullwar конкретно переделали).Цитата:
Сообщение от akirill
http://www.nullwar.com/info/soft/
Хмм... я вот ужо год на 1.6 сижу ... нормально работает... или ты о JayDaemon? :)Цитата:
Сообщение от akirill
И все же, хотелось бы послушать начальника транспортного цеха.Цитата:
Сообщение от tahorg
ООП (это не язык, кстати, а парадигма) не панацея. Нуу, или можете разубедить меня, приведя фрагмент ТЗ, по которому без абстракции данных, наследования, полиморфизма и инкапсуляции не обойтись :D
Смейтесь на здоровье. Смех продлевает жизнь.Цитата:
Сообщение от tahorg
А про пацанов... Я красноглазые аргументы не приемлю, с такими аргументами на ЛОР, анонимусом. Или в биореактор имени Луговского :)
Мне этот софт показался непотребным для воспроизводства функционала нулвара на своем сервере. Непонятная страсть к виндузячим приблудам и монстрообразной Зопе (как пишу, так смеюсь :) ), слабо распространенным, вдобавок.Цитата:
Сообщение от KBaks
Чет я совсем не понял... Уточни пожалста какое ТЗ и что именно подразумевается под инкапсуляцией, полиморфизмом и наследованием :).Цитата:
Сообщение от akirill
Вот, например, такой кусочек можно сразу к трем отнести:
"Демон должен обеспечивать работу с БД: MySQL, PostgreSQL и SQLite. Необходимо иметь возможность реализации доступа к другим БД".
Из этой строчки приходим к стандартному паттерну DAO :).
Инкапсуляция - POJO для доступа к данным (чтоб самому из query их не вытаскивать)
Полиморфизм - например PlayerDAO с методом getPlayers(PlayerCriteria crit) обспечивает вытаскивание списка Player по критерию из любой базы (т.к. SQL спрятан в реализации PlayerDAOImpl или вообще в какомнибудь ibatis/hibernate/...
Наследование - В базе будут разные объекты, например StaticObject. Но есть еще специальные объекты типа AirplaneStaticObject, которые ведут себя немного по другому, но имею общие черты со всеми StaticObject. Вот тут мы и унаследуемси.
Это то, что ты хотел? :D
К стати, в linux kernel этого ООП до .... "ну вам по пояс будет"(с). :old:
Был приведен как пример "прототипа на скриптовом языке". Если сравнишь с кодом http://svn.sourceforge.net/viewvc/jaydaemon/ увидишь много похожего.Цитата:
Сообщение от akirill
А где ты там вантузячие приблуды увидал? Обычный FireBird. Но так как у многих ил-2 на вантузе вертитцо, соответсвенно и заточено слегка под него (во всяком случае под Debian все эти пакеты есть и ставятся под zope из под apt-get без проблем).
В общем малость складывается впечатление, что ""Сексом я не занималась, но я о нем читала - мне не понравилось!" (с) Новодворская. ;)
Опа?!? А за слова ответить? Требую указать ЛЮБОЙ компонент из нашего софта, привязанный к Винде.Цитата:
Сообщение от akirill
"Монстрообразная" Зопа работает 2 года (серверу всего 3) без единого сбоя и нареканий. И занимается только ОТОБРАЖЕНИЕМ статистики. Что само по себе означает, что выводить её можете хоть на ассемблере, если Zope Вас не устраивает.
К стати, по поводу малораспространенной :), SGI и НАТО настолько маленикие и глупые конторы, что стали использовать этого монстра вместо правильного LAMP. Ага :DЦитата:
Сообщение от akirill
Ну.... если только саму страничку http://www.nullwar.com/info/soft/. Она точно под вантуз заточена :umora:Цитата:
Сообщение от ROA_McFris
Что ты используешь для статистики сервера ИЛ-2? У меня IL2SC не запустился под wine 0.9.19 =(Цитата:
Сообщение от akirill
Сейчас ничего. Летает пока 3,5 человекаЦитата:
Сообщение от MoHaX
Было немнjго времени завершил давно начатое: добавил возможность описывать доступные ресурсы для миссии. Описать можно почти что угодно %) Например такое:
К сожалению сам контроллер миссии с этими данными пока не работает но это гораздо меньший объём работы.Цитата:
;Red resources
[RedPlayerResources]
amount=70
;Blue resources
[BluePlayerResources]
amount=50
;There will be twenty Bf109G6's
[Bf109G6Resource]
gameId=Bf-109G-6
amount=20
;There will be only five Bf109G6's with 'U3-MK108' weapon
[Bf109G6MK108Resource]
gameId=Bf-109G-6
weapon=U3-MK108
amount=5
В каком состоянии сейчас JayDaemon? что он уже позволяет делать?
В данный момент демон позволяет запустить набор миссий. Ротации не происходит но ротацию не сложно добавить. Демон поддерживает аутентификацию и авторизацию пользователей. По умолчанию включена авторегистрация пользователя. Админу доступны команды: "list-missions", "restart-mission" и "next-mission #" (# номер из списка миссий, немедля загружает след. миссию). Конфигурационный файл для миссии обязателен, посмотреть пример можно тут. Поддержки управления ресурсами миссии ещё нет, есть только на уровне конфигурации (~20-25 человеко-часов осталось),
Поддержка "задач миссии" уже реализована. Задача можеть быть главной, второстепенной и скрытой. Типы задач: уничтожить/защитить в определённом районе, уничтожить/защитить конкретный объект, процент выполнения, ограничение по времени, запуск/остановка других задач при выполнении или провале задачи
Демон поддерживает проверку слишком быстрой "новой попытки" (после прыжка 10 сеукнд надо ждать прежде чем это сделать). Обходит баг Ила когда после ПК не даёться победа при выходе противника.
Поддерживает многоязыковость в зависимости от предпочтения игрока и установок сервера - в данный момент только англ и русский.
Запись событий игры в БД реализована в полной мере.
Веб-статистика в зародышном состоянии. Если кто желает помочь "милости просим" ;)
Кстати, если будут у кого пожелания оставляйте их в "Feature requests" на сайте проекта
Вот же.. а нельзя что-нибудь попонятнее да на русском? Не всеж грамотеи по англицки.Цитата:
Сообщение от IvanoBulo
Да хоть попросится к кому-нибудть на сайт. Иль даж рядом с Тахоргом. И нам, простым руским пилотам, проще просматривать, отслеживать, общаться... :confused:
Наверно я с Луны свалился. Последние мемори лик и буфер оверфлоу в своей жизни ляпал лет в 23-25. Уже лет 5 не делал таких ошибок. А софт писать приходится и такой, что работает без обслуживания и перегрузок годами и сложность этого софта такая, что регулярно плакать хочется.Цитата:
Сообщение от akirill
Непонимаю программистов, боящихся детских ошибок. Уж извените, но специалист потому и называется специалистом, что знает где есть тонкие места, и знает как их обходить. А то как в анегдоте все:
Родители строят планы насчет будущего их сына.
Отец:
- Окончит с отличием физико-математическую спецшколу, поступит в университет, потом в аспирантуру, серьезно займется наукой, будет выдвигать смелые
гипотезы, ставить численные эксперименты, считать на компьютере, писать программы...
Мать:
- Что, будет программистом?! Ни за что!!! Он закончит музыкальную школу по классу фортепиано, будет выступать на конкурсах, будет развивать новые
направления в музыке, искать свежее звучание, моделировать и обрабатывать треки на компьютере, писать программы...
Отец:
- Что, будет программистом?! Никогда!!!
Сын выходит из своей комнаты.
- Предки, кончайте кластеры забивать! Школу я бросил, из музыкалки выгнали...
Родители:
- И что же ты будешь делать?!
- Буду программистом...
Просто времени итак совсем мало, а так придёться ещё и форумы проглядывать.Цитата:
Сообщение от boRada
Можно также в эту ветку предложения вносить. Всё ж на Сухом бываю почти ежедневно.
<offtop>Каждому-своё. Я например, хочу концентрироваться на самой программе а не на ньюансах языка. Как то пришлось на С++ где-то с месяц писать так я за этот месяц чуть с ума не сошёл... Я понимаю что всё дело привычки но всё же зачем над собой издеваться? Я знаю несколько человек ушедших с С++ на Java и C# и все они говорят "слава богу!"</offtop>Цитата:
Наверно я с Луны свалился. Последние мемори лик и буфер оверфлоу в своей жизни ляпал лет в 23-25. Уже лет 5 не делал таких ошибок. А софт писать приходится и такой, что работает без обслуживания и перегрузок годами и сложность этого софта такая, что регулярно плакать хочется.
Непонимаю программистов, боящихся детских ошибок. Уж извените, но специалист потому и называется специалистом, что знает где есть тонкие места, и знает как их обходить
Медокс Геймс ? :uh-e: :DЦитата:
Сообщение от IvanoBulo
Вообще-то они от Java к C# перешли.Цитата:
Сообщение от Zyxel
Не видать занчит BoB под Linux как своих ушей =(Цитата:
Сообщение от IvanoBulo
Я уже спрашивал... сказали, что не планируется, так как там "затачивать немерено". При чем похоже не планируется ни сервер ни естественно клиент.Цитата:
Сообщение от MoHaX
http://www.sukhoi.ru/forum/showpost....&postcount=103
Провёл огромное количество изменений в код. Основная масса изменений это реализация менеджмента ресурсов. Осталось добавить запрет на взлёт на тех самолётах кол-во которых исчерпалось (но это не много работы). Контроль кол-ва убитых пилотов и исчерпание так называемых "vital" (жизненно важных) ресурсов уже работает. Также исправлено несколько ошибок.
Ближайшим временем займусь определением победившей команды. Собственно все данные для этого есть, но есть делема в том что допустим, одна команда выполнила 90% основного задания но потеряла всех пилотов, а другая выполнила задачу на 10% но потеряла половину пилотов. Кто победил? Мне кажеться что первая, но ведь в других командерах победитем будет признана вторая в подобной ситуации.
Может кто предложит хороший алгоритм?
После этого демон начнёт обрастать "фичами": определение вынужденной посадки, новые команды, генерация XML отчёта о миссии для внешних "тулзений", контроль скорости соединения/пинга т.д...
А мисси для твоей тулзы надо вручную составлять? Или генератор тоже уже имеется?
Генератора нету
IvanoBulo, как я понимаю будет и эмулятор коопа? :)
Со временем возможно и будет. Хотя даже с той функциональностью что есть можно создать очень интересные миссии.
Разделить задачи (все чем игрок не управляет сам) и средства (ну в нашем случае это самолеты и пилоты, может еще что).
Определить в условных очках все - процент выполнения задачи (очевидно работа по целям, не важно каким), все свои потери. Определить бонусы и пенальти СТОРОН, т.е. все что не относится к целям - расставить приоритеты.
Потом все это суммировать и очень возможно, что в вышеприведенном случае победят вторые, впрочем это зависит, какие будут расставлены приоритеты.
Для режима "миccия на догфайтном сервере" нужно бы тулзу смастрячить ... всё руки не дойдут...
Я уже придумал как организовать эту фичу ("миccия на догфайтном сервере") для моего демона.
Фактически нужно будет создать ресурсы самолётов ограниченные по времени и запретить взлёт на такое-же время. И это будет выглядеть так что все зайдут, возьмут самолёты и например 5 мин не смогут взлететь (будут выстраиваться на полосе) а потом "Старт" и понеслось :)
А после старта ресурс как бы кончиться и взять самолёт будет нельзя.
Это тоже можно...
Но ещё надо что-то типа спец- редактора .mis файлов
Менеджмент ресурсов полностью закодирован :) Сделал так что если на для аєродрома прописано 10 чел, то именно столько с него и взлетит. Сядет пилот в поле - ресурс аэродрома не пополнится. Нужно будет вернуться где был :) Иными словами, допустим есть 10 пилотов ресурса для конкретного аэродрома, взлетело 10. 11-ый не взлетит пока один из взлетевших ранее не вернёться. Сядут эти 10 на другом аэродроме - проиграют миссию если этот ресурс был "vital".
Также заложил возможность создания задания для перегона самолётов с одного аэродрома на другой. Думаю это добавит интереса в онлайне :)
Угон не так уж и просто реализовать так что это будет одна из самых низкоприоритетных фич.
А теперь по статусу разработки. Реализовал проверку посадки на чужой территории, добавил новые команды для того чтобы посмотреть сколько каких ресурсов осталось.
Собственно чтобы сделать первую бету осталось добавить команды для получения инфы о состоянии заданий и система определения победителя. Ну и небольной рефакторинг системы обработки команд, потому как старый меня перестал устраивать... Может ещё напишу утилитку чтобы импортировать миссии командера Генадича.
Блин... все бы вам рассказать.
Ну ладно, частично раскрою карты
Ставим синий филд с красными самолетами на красной территории в сторонке, делаем ему маленький радиус, ставим за радиус красную артиллерию по вкусу..
А теперь желающие попробовать рождаются на филде, и под огнем взлетают. Удалось улететь - угнал, не удалось - вечная память.
Ух, скажу я вам прикольно. Разрыв слева, разрыв справа, ща в вилку возьмут, уклоняешься в сторону, проскакиваешь мимо ангара, стекло уже в дырах, кажется что самолет нагружен сотней тонн баласта.. отрыв.. а фиг вам! Мотор чихая поет победную песню.. Бдымс.. какой-то алкач забубенил 88мм в правое колесо... оно лопнуло и кусками покрышки снесо все крыло. По самый хвост...
" ыгу-ыгу ыыыыы" (с)
Вообщем для первой беты почти всё готово. Осталось определение победителя. Товарищь Ко был единственным кто предложил свои идеи по этому поводу, поэтому в принципе примерно так и будет. А именно:
* За выполнение главной задачи команде будет даваться 100 очков, второстепенной и скрытой - по 50
* За провал задачи минус столько же
* За потерю единицы "жизненно-важного" ("vital") ресурса -1 очко
Будет предоставлена возможность указывать другие значения в конфигурации миссии.
Ещё вот думаю что если после этого получиться разница в 20(30) очков или результат команды набравшей больше очков будет меньше 10 то считать ничью.
Уточнение, очки за задачи будут даватся именно за выполнения задачи, т.е. если задача была выполнена на 70% или даже на 74%, а надо минимум 75% то очки команде защитаны не будут.
есть немецкий сервант ЭШЕЛОН так там есть такая карта.. высадка в нормандии, союзники окружили поляну, но она пока синяя, причем плотно окружили, только на поляне появляешься по тебе с пяток аков и танков начинают лупить, ни разу не смог взлететь.. зато сесть один раз успел..
Только что доделал и "залил" систему определения победившего в миссии. Это был последний пункт из работы запланированой мной для первой беты. После тестирования и отладки напишу небольшую доку, сделаю небольшую миссию и соберу бета-релиз.