тогда в 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
да ini не нужны, забыл убрать строку, в miniDaemon.py удалите 96 строку self.__missionConf = IniFile(self.__config['MAIN']['mission.dir'] + self.__missionName + '.ini', )
Спасибо господа вирпилы за помощь и советы - запустил таки я миниДемона в работу! :) Немного потестил - правда, сразу оговорюсь, на своем тренировочном сервере, практически без нагрузки - 3-4 пилота и 5 карт в ротации. Работает, чертяка :D
Ось - 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)
Уж больно глаз режет :ups:Код:self.__console.writeMessage("Следующая карта: %s"%nextmap, None)
Не совсем корректно использовать данный IP, лучше 127.0.0.5 - данный диапазон IP специально зарезервирован для обратных связей. У меня на Убунте 8.04 10.0.0.5 так и не сработал, заменил 127 - заработало! Демон для фряхи использовал. РЕСПЕКТ СОЗДАТЕЛЮ!!!:bravo::bravo::bravo::cool:
Я, конечно, категорически извиняюсь, но... понимаю тема старая и, видимо, все проблемы у народа решены (раз нет больше сообщений), но вот пришлось заниматься этой же проблемой.
В Линухе пока полный ноль... так только - смог уже запустить "лысый" сервер и вот вопросы...
1. Питона для Linux скачал... как его установить. Причем у меня в системе уже при инсталляции Питоновских хвостов полно (Debian 5.0.4)
2. Зачем еще качать Виндового Питона?
3. При выполнении инструкции (в терминале) path C:\python\; %PATH% выдает - команда не найдена?
4. При запуске, точнее прописке (может это и неправильный запуск) ~$ ~/miniDaemon/run.bat - Отказано в доступе.
Кто может помочь ламеру ? :ups:
Ну, в принципе, в основном вопрос снят. Один маленький - кто использует Демонов - кто фряшный, а кто простой и какие результаты.
Вот выше мой пост http://www.sukhoi.ru/forum/showpost....2&postcount=81 , если вкратце - то ось на сервере - Debian 4 Etch, il2 dedicated 4.09m, поднимал также и модовый вариант Ила на другом порту - управлял второй копией демона. Вариант Демона - виндовый, в коде некоторые исправления, описанные в вышеуказаном посте плюс корректировки от автора демона - см ниже, 82 пост. Нагрузка на сервер небольшая там человек 8 наверно было одномоментно, карты ротируются по времени, и вручную, командами, сервер работает круглосуточно. Процесс как Ила, так и демона запущен каждый в своем скрине. Падал процесс демона, ну не знаю, раза 3-4 за все время. Если какие подробности нужно - пиши, обсудим :)
Спасибо, Nike, естественно этот раздел весь проштудировал и не раз :D
вот как раз что-то с путями у меня и не клеится - как не прописывал - нет файла и хоть ты убей его... буду сейчас по буковке проверять :rtfm:
На всяк случай распишу поподробнее, про пути и команды запуска:
файлы серверной части Ила лежат по пути:
/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 дня иногда и раньше минидеймон виснет(перестаёт реагировать на команды, нет ротации карт), перезапускаем опять все работает. Проблема пока не решена. Чем ему можно помочь?
Если проблема связана с пустыми и/или кириллическими именами пользователей, то в версии 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. Даемон в данных условиях не падает.
Так же проверили у себя. По первому пункту та же самая картина.По второму и третьему нет результатов так как даймон вообще отказался запускаться с этой строкой. При удалении строчки filterUserNames=1 запустился, но опять же при входе на сервер с пробелом в нике останавливается. Не пойму почему результаты разные ведь юзаем мы одного и того же даймона и настройки все сделаны как описано в этой теме. Кстати всё таки почему conf.ini., куда делась s, опечатка?
mar$ кстати удаление строчки checkRunTime=2 не привело к желаемым результатам, мониторинг так же пропадает после входа 6 -го человека на сервер.
Спасибо. Только хочу уточнить это ты виндовый выложил или на фришку? У меня фришный стоит.
Здаётся мне что во фряшном даймоне есть где то ошибка, какую то строку видимо надо править. Вот только какую?
А что если виндовый на фришке запустить, не пройдет ли такой вариант?
Ну значит на выходных займусь. Сначала перезалью фришный, если ситуация та же будет будем пробовать виндового ставить. О результатах потом отпишусь.
Значит далее что получилось. Для начала лог даймона
Пару строчек сверху нехватает, но из этого видно что даймону ненравятся ники с пробелами, но команда кик почему то сервером невыполняется.Цитата:
INFO:Daemon:Pilot [=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'
INFO:Daemon:Stopping deamon...
INFO:Daemon:Deamon stopped
INFO:Daemon: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-го человека.