тогда в miniDaemon.ini стоит проверить пути. особенно относительный путь к картам mission.base.url
и посмотреть что пишет на консоль сервер ил-2
тогда в miniDaemon.ini стоит проверить пути. особенно относительный путь к картам mission.base.url
и посмотреть что пишет на консоль сервер ил-2
Нет рабства безнадёжнее, чем рабство тех рабов,
Себя кто полагает свободным от оков (с)
Видимо для описаний карт нужны .ini файлы? Потому как на нуллваре ини файлы присутствуют. Тогда как их писать?
Ибо при запуске rundaemon.sh получаю:
ERROR: Daemon:Exception raised: [Errno 2] No such file or directory: '/game/.wine/drive_d/IL2server/Missions/Net/dogfight/daemon/duel.ini'
Только что поковырял этот демон. Создалось полное ощущение, что эти ini-файлы вообще не нужны демону, как будто аттавизмы остались от нульвара, либо на возможное расширение функционала оставили. Но однозначно сказать не могу...все-таки познания в пайтоне у меня пока на зачаточном состоянии.
P.S. попробуйте подсунуть ему просто пустой файл duel.ini
Крайний раз редактировалось Waso; 07.02.2009 в 17:30.
да ini не нужны, забыл убрать строку, в miniDaemon.py удалите 96 строку self.__missionConf = IniFile(self.__config['MAIN']['mission.dir'] + self.__missionName + '.ini', )
Нет рабства безнадёжнее, чем рабство тех рабов,
Себя кто полагает свободным от оков (с)
Спасибо господа вирпилы за помощь и советы - запустил таки я миниДемона в работу! Немного потестил - правда, сразу оговорюсь, на своем тренировочном сервере, практически без нагрузки - 3-4 пилота и 5 карт в ротации. Работает, чертяка
Ось - Debian 4 Etch, il2 dedicated 4.08m. Вариант Демона - виндовый, в коде miniDaemon.py коментились строки: 96
и 466-468Код:# self.__missionConf = IniFile(self.__config['MAIN']['mission.dir'] + self.__missionName + '.ini', )
Заработало практически сразу все, были обычные для чайника косяки с прописыванием путей в miniDaemon.ini Сейчас там следующее:Код:# exit(1) # finally: # pass
Правда, несколько непонятна логика работы модуля, определяющего, админ ли на сервере. В файле admin.txt пишу IP машин, с которых заходит админ - по одному ип в строке - работает только последний в списке. Кроме того, сервак смотрит на внешку из под NATа - снаружи, с внешним IP захожу админом, из внутренней сети - пускает, но говорит "Вы не Админ!" - абидна,понимашь!Код:mission.base.url Net/dogfight/daemon/ mission.dir /game/.wine/drive_d/IL2server/Missions/Net/dogfight/daemon/
Может, быть доработать модуль, чтобы Админом считался юзверь, зашедший _С определенного ИП___И___С определенным ником ?
З.Ы. В коде miniDaemon.py в строке 443поменял наКод:self.__console.writeMessage("Слудующая карта: %s"%nextmap, None)
Уж больно глаз режетКод:self.__console.writeMessage("Следующая карта: %s"%nextmap, None)
Я, конечно, категорически извиняюсь, но... понимаю тема старая и, видимо, все проблемы у народа решены (раз нет больше сообщений), но вот пришлось заниматься этой же проблемой.
В Линухе пока полный ноль... так только - смог уже запустить "лысый" сервер и вот вопросы...
1. Питона для Linux скачал... как его установить. Причем у меня в системе уже при инсталляции Питоновских хвостов полно (Debian 5.0.4)
2. Зачем еще качать Виндового Питона?
3. При выполнении инструкции (в терминале) path C:\python\; %PATH% выдает - команда не найдена?
4. При запуске, точнее прописке (может это и неправильный запуск) ~$ ~/miniDaemon/run.bat - Отказано в доступе.
Кто может помочь ламеру ?
Ну, в принципе, в основном вопрос снят. Один маленький - кто использует Демонов - кто фряшный, а кто простой и какие результаты.
Вот выше мой пост http://www.sukhoi.ru/forum/showpost....2&postcount=81 , если вкратце - то ось на сервере - Debian 4 Etch, il2 dedicated 4.09m, поднимал также и модовый вариант Ила на другом порту - управлял второй копией демона. Вариант Демона - виндовый, в коде некоторые исправления, описанные в вышеуказаном посте плюс корректировки от автора демона - см ниже, 82 пост. Нагрузка на сервер небольшая там человек 8 наверно было одномоментно, карты ротируются по времени, и вручную, командами, сервер работает круглосуточно. Процесс как Ила, так и демона запущен каждый в своем скрине. Падал процесс демона, ну не знаю, раза 3-4 за все время. Если какие подробности нужно - пиши, обсудим
Крайний раз редактировалось Nike "Targon"; 17.06.2010 в 11:43.
Спасибо, Nike, естественно этот раздел весь проштудировал и не раз
вот как раз что-то с путями у меня и не клеится - как не прописывал - нет файла и хоть ты убей его... буду сейчас по буковке проверять
На всяк случай распишу поподробнее, про пути и команды запуска:
файлы серверной части Ила лежат по пути:
/game/.wine/drive_d/IL2server/
стартовый файл - экзешник запускаемый под вайном - il2server
соответственно запускаю процесс таким скриптом:
il2start
файлы демона лежат здесь:Код:#! /bin/bash screen -d -m -S il2 wine d:/il2server/il2server
/game/miniDaemon/
стартовый скрипт - rundaemon.sh
соответственно запускаю процесс таким скриптом:
mDstart
содержимое файла miniDaemon.iniКод:#! /bin/bash cd /game/miniDaemon screen -d -m -S miniD ./rundaemon.sh
Главное правильно прописать во эти путиКод:[MAIN] mission.base.url Net/dogfight/daemon/ mission.dir /game/.wine/drive_d/IL2server/Missions/Net/dogfight/daemon/ mission.time 3600 ReportPeriod 600 vote.percent 50 [DeathControl] Limit 10 BanTime 240 BanTime1 360 BanTime2 420 BanTime3 180 [Telnet] host 192.168.5.15 port 20001
mission.base.url
mission.dir
host по идее надо ставить 127.0.0.1, но у меня заработало с указанием внутреннего IP в локалке.
Запустили у себя под фришкой сервер 4.10, так же запущен минидеймон под неё же. Все вроде нормально, но примерно раз в 3 дня иногда и раньше минидеймон виснет(перестаёт реагировать на команды, нет ротации карт), перезапускаем опять все работает. Проблема пока не решена. Чем ему можно помочь?
Крайний раз редактировалось Кроу; 29.01.2011 в 18:19.
Если проблема связана с пустыми и/или кириллическими именами пользователей, то в версии 4,10 сервера есть переменная filterUserNames, установив которую, можно отфильтровать пользователей. Цитирую из 4.10_Guide.pdf :
Player Name & Callsign Filtering
Server can filter out all non-latin & non-cyrillic characters from players name & callsign by
adding filterUserNames=1 to the [NET] section of conf.ini.
Только что проверил, добавление filterUserNames=1 в секцию [NET] файла confs.ini приводит к следующим результатам:
1. Наличие пробела либо другого не латинского либо не кириллического символа в нике пилота не мешает логину на сервер, НО в логах сервера наблюдается ОТСУТСТВИЕ пробела в нике пилота. Например ник Nike "Targon" приводится к виду NikeTargon
2. Наличие кириллических символов в нике пилота НЕ приводит к падению даймона, НО команды управления даемоном не проходят.
3. Даемон в данных условиях не падает.
Крайний раз редактировалось Nike "Targon"; 01.02.2011 в 09:40.
Так же проверили у себя. По первому пункту та же самая картина.По второму и третьему нет результатов так как даймон вообще отказался запускаться с этой строкой. При удалении строчки filterUserNames=1 запустился, но опять же при входе на сервер с пробелом в нике останавливается. Не пойму почему результаты разные ведь юзаем мы одного и того же даймона и настройки все сделаны как описано в этой теме. Кстати всё таки почему conf.ini., куда делась s, опечатка?
mar$ кстати удаление строчки checkRunTime=2 не привело к желаемым результатам, мониторинг так же пропадает после входа 6 -го человека на сервер.
Крайний раз редактировалось Кроу; 01.02.2011 в 10:05.
Спасибо. Только хочу уточнить это ты виндовый выложил или на фришку? У меня фришный стоит.
Здаётся мне что во фряшном даймоне есть где то ошибка, какую то строку видимо надо править. Вот только какую?
А что если виндовый на фришке запустить, не пройдет ли такой вариант?
Ну значит на выходных займусь. Сначала перезалью фришный, если ситуация та же будет будем пробовать виндового ставить. О результатах потом отпишусь.
Значит далее что получилось. Для начала лог даймона
Пару строчек сверху нехватает, но из этого видно что даймону ненравятся ники с пробелами, но команда кик почему то сервером невыполняется.INFOaemonilot [=CPS= Andrey] has disconnected
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/local/lib/python2.6/threading.py", line 532, in __bootstrap_inner
self.run()
File "miniDaemon.py", line 252, in run
self.__playerConnected(userConnect.match(line).groups())
File "miniDaemon.py", line 271, in __playerConnected
self.__console.executeCommand('kick \"%s\"' % theUserName)
AttributeError: 'Console' object has no attribute '_Console__console'
INFOaemon:Stopping deamon...
INFOaemoneamon stopped
INFOaemon:Telnet communicator stopped
Press any key to continue...
далее анализируя файл miniDaemon.py была найдена 268 строка в которой были удалены пробелы в кавычках.
Оригинал
редактированнаяif notok==1 or string.find(theUserName,' ')>0 or theUserName=='' or theUserName[-1]=='0':
После этого минидаймон стал нечувствительным к неправильным никам и его остановки прекратились.if notok==1 or string.find(theUserName,'')>0 or theUserName=='' or theUserName[-1]=='0':
Правда заработало это только на виндовом, во фришном изменения не привели к нужным результатам.
После этого вылезла новая проблема с админом.Все сделали как было описано выше но в итоге все равно пишет "Вы не админ"
Так же остается проблема мониторинга сервера после входа 6-го человека.