PDA

Просмотр полной версии : Сервер Ил-2 под Linux



VreVo
27.11.2006, 21:09
Хочу запустить сервер ил-2 под линуксом, вроде слышал что под wine работать все должно. Не подскажете, есть ли там подводные камни какие ? Чтобы на грабли не наступать по второму разу :)
Какая последовательность действий ?
Сам сервер уже настроен и работает под виндой. Хочу перенести на линуксовый сервер.

Спасибо !

basurman
28.11.2006, 04:08
Хочу запустить сервер ил-2 под линуксом, вроде слышал что под wine работать все должно. Не подскажете, есть ли там подводные камни какие ? Чтобы на грабли не наступать по второму разу :)
Какая последовательность действий ?
Сам сервер уже настроен и работает под виндой. Хочу перенести на линуксовый сервер.
Спасибо !
У нас DS работает под вайном...
Никаких проблем с запуском нет совершенно... Ставишь вайн, настраиваешь, запускаешь ил (я запускаю его в бэкграунде) и выходишь с консоли... И все...

MoHaX
28.11.2006, 14:16
Если хочешь иметь возможность переключаться на консоль сервера в любой момент и свободно отключаться от удаленного сервера, то пускай ил через screen.
1) создать shell скрипт который запустит ил-2 под wine (используй wineconsole)
2) после подключения по ssh вводи команду "screen -d -m -S il2 ./runil2.sh"
3) после этого можешь свободно отключаться от сервера - сессия ил-2 будет жить. Для переключения на консоль ил-2 необходимо после повторного коннекта ввести "screen -r il2". Чтобы отключиться от консоли не прерывая работу ил2 нажми последовательно "сtrl+a d" (сначала ctrl+a потом их отпускаешь и потом d)
5) У нас вылетает сервер если не убрать f.cmd и из стартовых скриптов il2, не знаю почему. Если периодически подключаться и вводить вручную GC то всё ок.
6) косяки начинаются когда начинаешь il2dcg юзать :) Дело в том что wine не умеет работать с разными типами X серверов(стандартный X, Xvnc,Xfake,Xvfb, X-win32 и т.д. - разные под разные задачи). "Настроившись" на один, он не даст запустить окно приложения ни на каком другом. Но и это решается :) Когда немного освобожусь на какой-нибудь вике выложу подробный step-by-step по поднятию Ил-2 на линухах

VreVo
29.11.2006, 13:25
...Ставишь вайн, настраиваешь, запускаешь ил (я запускаю его в бэкграунде)...Вот по настройкам мне и было не ясно, так как я никогда с Wine дела не имел раньше
Если хочешь иметь возможность переключаться на консоль сервера в любой момент и свободно отключаться от удаленного сервера, то пускай ил через screen.
1) создать shell скрипт который запустит ил-2 под wine (используй wineconsole)
2) после подключения по ssh вводи команду "screen -d -m -S il2 ./runil2.sh"
3) после этого можешь свободно отключаться от сервера - сессия ил-2 будет жить. Для переключения на консоль ил-2 необходимо после повторного коннекта ввести "screen -r il2". Чтобы отключиться от консоли не прерывая работу ил2 нажми последовательно "сtrl+a d" (сначала ctrl+a потом их отпускаешь и потом d)
5) У нас вылетает сервер если не убрать f.cmd и из стартовых скриптов il2, не знаю почему. Если периодически подключаться и вводить вручную GC то всё ок.
6) косяки начинаются когда начинаешь il2dcg юзать :) Дело в том что wine не умеет работать с разными типами X серверов(стандартный X, Xvnc,Xfake,Xvfb, X-win32 и т.д. - разные под разные задачи). "Настроившись" на один, он не даст запустить окно приложения ни на каком другом. Но и это решается :) Когда немного освобожусь на какой-нибудь вике выложу подробный step-by-step по поднятию Ил-2 на линухахСпасибо за конкретные советы :)
На самом деле это сэкономило мне время, а то я открыл документацию и вижу там три способа запуска приложения из-под Wine в консольном режиме.
Поставил себе Федору, мне понравилось как там легко и просто все устанавливается. Всего две команды, чтобы поставить Wine и screen
su -c 'yum install wine'
su -c 'yum install screen'

Baks
29.11.2006, 13:58
Вот по настройкам мне и было не ясно, так как я никогда с Wine дела не имел раньшеСпасибо за конкретные советы :)
На самом деле это сэкономило мне время, а то я открыл документацию и вижу там три способа запуска приложения из-под Wine в консольном режиме.
Поставил себе Федору, мне понравилось как там легко и просто все устанавливается. Всего две команды, чтобы поставить Wine и screen
su -c 'yum install wine'
su -c 'yum install screen'

Нашего полку прибыло, велкам :beer:.

basurman
29.11.2006, 15:14
Если хочешь иметь возможность переключаться на консоль сервера в любой момент и свободно отключаться от удаленного сервера, то пускай ил через screen.
1) создать shell скрипт который запустит ил-2 под wine (используй wineconsole)
2) после подключения по ssh вводи команду "screen -d -m -S il2 ./runil2.sh"
3) после этого можешь свободно отключаться от сервера - сессия ил-2 будет жить. Для переключения на консоль ил-2 необходимо после повторного коннекта ввести "screen -r il2". Чтобы отключиться от консоли не прерывая работу ил2 нажми последовательно "сtrl+a d" (сначала ctrl+a потом их отпускаешь и потом d)
5) У нас вылетает сервер если не убрать f.cmd и из стартовых скриптов il2, не знаю почему. Если периодически подключаться и вводить вручную GC то всё ок.
6) косяки начинаются когда начинаешь il2dcg юзать :) Дело в том что wine не умеет работать с разными типами X серверов(стандартный X, Xvnc,Xfake,Xvfb, X-win32 и т.д. - разные под разные задачи). "Настроившись" на один, он не даст запустить окно приложения ни на каком другом. Но и это решается :) Когда немного освобожусь на какой-нибудь вике выложу подробный step-by-step по поднятию Ил-2 на линухах
Ооооо!!! Монах, большое тебе данке шон!!!
ПыСы. У нас почему то сервак не вылетает, хотя f.cmd запускается..

VreVo
29.11.2006, 21:21
А есть какой-нибудь способ настроить Wine из командной строки ? При старте winconsole il2server.exe поначалу вываливается огромное количество ошибок. Конечно, я же ничего не настраивал, да и мне не надо ничего кроме доступа к интерфейсу tcp/ip, чего по умолчанию, похоже, нет. Доступа к машине через иксы в ближайшее время нет.

Baks
30.11.2006, 12:17
А есть какой-нибудь способ настроить Wine из командной строки ? При старте winconsole il2server.exe поначалу вываливается огромное количество ошибок. Конечно, я же ничего не настраивал, да и мне не надо ничего кроме доступа к интерфейсу tcp/ip, чего по умолчанию, похоже, нет. Доступа к машине через иксы в ближайшее время нет.

А ssh -X ? Или ты из под винды?

Но в принципе можно просто руками этот файл поправить, благо там кроме путей особо править ничего не надо.

http://www.die.net/doc/linux/man/man5/wine.conf.5.html

MoHaX
05.12.2006, 13:38
А есть какой-нибудь способ настроить Wine из командной строки ? При старте winconsole il2server.exe поначалу вываливается огромное количество ошибок. Конечно, я же ничего не настраивал, да и мне не надо ничего кроме доступа к интерфейсу tcp/ip, чего по умолчанию, похоже, нет. Доступа к машине через иксы в ближайшее время нет.

Вот как раз через ssh -X (или опцию в putty если изподвинды) и славливаются косяки с wine, потому что потом при автоматическом запуске dcg каким-нибудь командером будет использован уже другой Х сервер, на который wine почему-то уже отказывается рисовать окно. Сразу скажу, если у других не так, и wine рисует свои окна на любой Х сервер, то я только рад за вас, но у меня эта проблема была в полный рост на несокльких версиях wine и я убил пару дней пока не раскопал этот баг.

Очевидное решение в данной ситуации это поднять свой локальный Х сервер на машине с Wine и отрисовывать на него все окна которые понадобится только отрисовать. Только сервер должен быть не простым а золотым :) А именно должен позволять подключаться к себе по сети и давать возможность смотреть/контролировать что там у него творится.

Для себя с сделал выбор "TightVNC" - это небольшой X сервер, позволяющий подключаться к себе по сети по vnc протоколу.

Далее в обсуждении я предполагаю что у тебя нет запущенного X сервера на сервере (простите уж за каламбур :) ), если есть то ты либо можешь легко его заменить на TightVNC, либо TightVNC поднимать паралельно указывая вместо номера дисплея ":1" какой-нибудь другой номер (например ":2")

1) Устанавливаешь TightVNC, потом логинишься по ssh тем пользователем который будет запускать il2 и wine.
2) Вводишь "vncserver :1"
3) отвечаешь на вопросы (попросит ввести пароль для подключения)
4) редактируешь ~/.bash_profile
добавляешь там строку "export DISPLAY=:1"
5) запускаешь "winecfg", теперь winecfg запущен на дисплее 1 котрый обслуживает наш волшебный TightVNC
6) идешь на сайт www.tightvnc.com и качаешь оттуда виндовую версию клиента (или можешь воспользоваться любым другим VNC клиентом)
7) устанавливаешь, запускаешь и вводишь в поле "куда соединиться" (извини у меня виндовой версии этого клиента нет по этому не знаю что и как там, но думаю разберешься) строку "IP_твоего_сервера:1"
8) вводишь пароль и вуаля, ты видишь удаленный дисплей и можешь им рулить.

Но к слову сказать у меня DS не потребовал никакой настройки wine :)

akirill
07.12.2006, 16:47
Но к слову сказать у меня DS не потребовал никакой настройки wine :)
И то верно. Чего там настраивать то? Я свой сервер один раз в жизни видел, когда базовую систему ставил на него, никаких иксов. Дальше все по ssh.

MoHaX
07.12.2006, 18:04
И то верно. Чего там настраивать то? Я свой сервер один раз в жизни видел, когда базовую систему ставил на него, никаких иксов. Дальше все по ssh.
DCG без иксов не запустить =(

akirill
07.12.2006, 20:22
DCG без иксов не запустить =(
Да и хрен с ним :)

VreVo
11.12.2006, 13:38
Вот у вас всех всё работает без настроек, а у меня нет :(
Пробовал и под Wine, и под CrossOver (версии 5)
Сервер запускается, но порт 21000 не слушает. Вот такая ошибка появляется:

IL2 FB dedicated server v4.05m
Sound: Native library (build 1.1, target - P IV) loaded.
RTS Version 2.1
Core Version 2.0
ERROR socket: Bad LocalHost address

Сервер пока получает ip address по DHCP, но и мой лаптоп где сейчас тот же DS крутится, тоже айпи по DHCP получает и все отлично.
Прикрепляю мой confs.ini
уж не знаю, в чем причина может быть ...

MoHaX
11.12.2006, 14:05
Вот у вас всех всё работает без настроек, а у меня нет :(
Пробовал и под Wine, и под CrossOver (версии 5)
Сервер запускается, но порт 21000 не слушает. Вот такая ошибка появляется:

IL2 FB dedicated server v4.05m
Sound: Native library (build 1.1, target - P IV) loaded.
RTS Version 2.1
Core Version 2.0
ERROR socket: Bad LocalHost address

Сервер пока получает ip address по DHCP, но и мой лаптоп где сейчас тот же DS крутится, тоже айпи по DHCP получает и все отлично.
Прикрепляю мой confs.ini
уж не знаю, в чем причина может быть ...
В разделе [NET] файла confs.ini пропиши "localhost=IP сервера"

VreVo
12.12.2006, 01:56
Но в принципе можно просто руками этот файл поправить, благо там кроме путей особо править ничего не надо.

http://www.die.net/doc/linux/man/man5/wine.conf.5.html
Андрей, wine.conf похоже уже не работает в новых версиях Wine. Наверное в реестр пишет настройки.
Да и, действительно, там нечего править :beer:
ошибок он мне кидает кучу при старте иловского сервера, но это серверу не мешает
Ошибки типа таких
fixme:heap:RtlCompactHeap stub
fixme:ttydrv:TTYDRV_GetBitmapBits (0x760, 0x7fdc643c, 128): stub
err:imagelist:ImageList_ReplaceIcon no color!
fixme:ttydrv:TTYDRV_DC_StretchBlt (0x204, 832, 0, 32, 32, 0x784, 0, 0, 32, 64, 13369376): stub
и такого рода сообщений строчек 50-60, после чего грузится сервер уже.
Но раз сервер работает, то и ладно, пусть пишет

VreVo
12.12.2006, 01:58
В разделе [NET] файла confs.ini пропиши "localhost=IP сервера"
В точку ! Спасибо. Все заработало :bravo:

VreVo
19.12.2006, 15:23
а 4.06 под линуксом не поднимается
вываливает кучу ошибок:

fixme:seh:check_no_exec No-exec fault triggered at 0x6d4d08b0, enabling work-around
err:seh:setup_exception nested exception on signal stack in thread 0016 eip ffffe405 esp 7ffdda18 stack 0x241000-0x350000
fixme:console:CONSOLE_DefaultHandler Terminating process 15 on event 0
wine: Unhandled page fault on write access to 0xffffff0f at address 0x7efd287d (thread 0018), starting debugger...
fixme:dbghelp:SymLoadModule Should have successfully loaded debug information for image c:\windows\system32\midimap.dll
fixme:dbghelp:SymLoadModule Should have successfully loaded debug information for image c:\windows\system32\msacm32.drv
fixme:dbghelp:SymLoadModule Should have successfully loaded debug information for image c:\windows\system32\msacm32.dll
fixme:dbghelp:SymLoadModule Should have successfully loaded debug information for image c:\windows\system32\wineoss.drv
fixme:dbghelp:SymLoadModule Should have successfully loaded debug information for image c:\windows\system32\imm32.dll
fixme:ntdll:RtlNtStatusToDosErrorNoTeb no mapping for c0000119
il2server.exe сильно уменьшился в размерах по сравнению с 4.05 и теперь при старте сервера под виндой, появилась иконка для этого окошка. Что-то они переделали, интересно что. Просто под wine еще не пробовал, пробовал только под wineconsole.

basurman
19.12.2006, 17:52
А у меня такая трабла вылезает: Invoking /usr/lib/wine/wine.bin wineconsole.exe c:\Programme\00dsserver_406m\il2server.exe ...
(B)0[?1049h[?7h[?1h=]2;c:\Programme\00dsserver_406m\il2server.exe[?25l[?25h[?25l[?25h(B)0[?1049h[?7hfixme:ttydrv:TTYDRV_GetBitmapBits (0x7c, 0x7fd833e4, 128): stub
fixme:ttydrv:TTYDRV_GetBitmapBits (0x78, 0x7fd83464, 128): stub
fixme:ttydrv:TTYDRV_GetBitmapBits (0x84, 0x7fd83ec4, 128): stub
fixme:ttydrv:TTYDRV_GetBitmapBits (0x80, 0x7fd83f44, 128): stub
wine: Unhandled exception (thread 000b), starting debugger...
#
# HotSpot Virtual Machine Error, Internal Error
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
#
# Error ID: 5448524541442C4F43414C33544F524147450E4350500042
#
# Problematic Thread:]2;Wine DebuggerWineDbg starting on pid 0xa
d4695ba).
In 32 bit mode.
Register dump:
CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033
EIP:6d4695ba ESP:7fa9ea58 EBP:7fa9ea64 EFLAGS:00010246( - 00-RIZP1)
EAX:00000000 EBX:00000000 ECX:00000000 EDX:00000000
ESI:00000000 EDI:6d4e0e90
Stack dump:

Может кто подскажет, че курить?

MoHaX
19.12.2006, 18:58
мда... кинули нас через бедро =( Годами сервер не менялся и тут бац. 4.06 оставил на работе, завтра забиру домой эксперементировать буду.
Не совсем понял что означает "появилась иконка для этого окошка" Но видимо теперь il2 ds не консольное приложение, а оконное.

Порядок действий-экспериментов примерно такой:
1) попробовать под wine, ане под winconsole. Обязательно проследить что б переменная окружения DISPLAY указывала на нормальный работающий X-сервер
2) обновить до 0.9.27 и попробовать пункт 1
3) сравнить список подгружаемых dll под windows серверами 4.05 и 4.06 все новые dll скопировать из винды в папку ~/.wine/drive_c/windows/system32
4) больше мыслей нет :)

VreVo
19.12.2006, 19:30
Не совсем понял что означает "появилась иконка для этого окошка" Но видимо теперь il2 ds не консольное приложение, а оконное.
когда я стартую сервер под виндой, то вижу в taskbar-е и переключаясь между приложениями control-tab красивую иконку, а не как раньше, просто черное окошко cmd

Порядок действий-экспериментов примерно такой:
1) попробовать под wine, ане под winconsole. Обязательно проследить что б переменная окружения DISPLAY указывала на нормальный работающий X-сервер
2) обновить до 0.9.27 и попробовать пункт 1
3) сравнить список подгружаемых dll под windows серверами 4.05 и 4.06 все новые dll скопировать из винды в папку ~/.wine/drive_c/windows/system32
4) больше мыслей нет :)Согласен. Как раз собрался заняться пунктом 3.

VreVo
20.12.2006, 14:07
Чтобы в личку не кидать, выложу здесь шаги по запуску ил-2 сервера под линуксом (я использую федору):

1. установить RedHat Fedora, достаточно скачать первые два CD
Я ставил Core 6, http://fedora.redhat.com/)
При установке можно сразу разрешить доступ к порту 22 (SSH), порту 21000 по udp и 20000 по tcp (для консоли)
2. установить wine и screen
из командной строки
$ su -c 'yum install wine'
$ su -c 'yum install screen'

3. создать среду для wine
$ wine

4. залить ил2 дедикейтед сервер в директорию ~/.wine/drive_c/il2 под своим новым пользователем (не root), предполагается, что сервер уже настроен под любой виндовой машиной

5. создать скрипт для запуска сервера ил2

$ vi ~/il2start
/usr/bin/wineconsole "c:\il2\il2server.exe"
:wq!

6. добавить ему права на выполнение
$ chmod u+x il2start

7. убедиться, что file
~/.wine/drive_c/il2/confs.ini
содержит строчку
localHost=<айпи адрес сервера>

8. запустить сервер
screen -d -m -S il2 ./il2start

для того чтобы перейти в окно сервера нужно использовать команду
screen -r il2
а чтобы выйти

Control+A
D

9. убедиться что сервер доступен
$ netstat -an | grep 21000

ответ должен быть примерно таким

udp 0 0 192.168.0.2:21000 0.0.0.0:*

где 192.168.0.2 - это айпи адрес интерфейса, с которым работает сервер,
а 21000 его порт

Еще раз проверить что фаервол не блокирует доступ по этому порту и протоколу (udp, 21000)
Можно на время настройки вообще выключить firewall и SELinux используя команду setup из терминального окошка.

basurman
20.12.2006, 14:48
Так у тебя 4.06 запустился?

VreVo
20.12.2006, 15:05
Так у тебя 4.06 запустился?Не, не запустился. Надеюсь, МГ еще переделает сервер.

Baks
22.12.2006, 16:25
Не, не запустился. Надеюсь, МГ еще переделает сервер.

Боюсь что нет. Их linux никогда не интересовал...
У меня тоже не запустился, скорее всго из-за новой защиты...

Baks
25.12.2006, 02:56
Не, не запустился. Надеюсь, МГ еще переделает сервер.

Cервер 4.07 запустился.


wine ./il2server.exe
fixme:midi:OSS_MidiInit Synthesizer supports MIDI in. Not yet supported.
RTS Version 2.2
Core Version 2.0
Sound: Native library (build 1.1, target - P IV) loaded.
fixme:win:WIN_CreateWindowEx Parent is HWND_MESSAGE
IL2 FB dedicated server v4.07m
fixme:msvcrt:MSVCRT__sopen : pmode 0x01b6 ignored
1>mission LOAD net/dogfight/ 3/1_Islands.mis BEGIN
Loading mission net/dogfight/ 3/1_Islands.mis...
Load bridges
Load static objects
fixme:msvcrt:MSVCRT__sopen : pmode 0x01b6 ignored
Mission: net/dogfight/ 3/1_Islands.mis is Playing
1>f gc.cmd
>GC
Memory: total(13697024) free(647712)
>GC
Memory: total(13697024) free(662800)
>GC
Memory: total(13697024) free(662528)
>timeout 3600000 f gc.cmd
7>


правда при остановке по ctrl-c падает

Current Java thread:
at java.lang.Thread.sleep(Native Method)
at com.maddox.il2.game.DServer.loopApp(DServer.java:185)
at com.maddox.il2.game.Main.exec(Main.java:436)
at com.maddox.il2.game.DServer.main(DServer.java:430)

И жава там все-таки 1.3... :pray:

# Java VM: Java HotSpot(TM) Client VM (1.3.1-b24 compiled mode)


Правда проверить что все работает как надо не могу, ибо нету у меня пока 4.07.

Да, система:

$ uname -a
Linux black 2.6.17-10-generic #2 SMP Fri Oct 13 18:45:35 UTC 2006 i686 GNU/Linux

$ wine --version
Wine 0.9.22

$ ldd `which wine`
linux-gate.so.1 => (0xffffe000)
libwine.so.1 => /usr/bin/../lib/libwine.so.1 (0xb7e63000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7e42000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7d0d000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7d09000)
/lib/ld-linux.so.2 (0xb7f76000)




dpkg-depcheck -a wine il2server.exe

libx11-data 2:1.0.3-0ubuntu4
fontconfig-config 2.3.2-7ubuntu2
sun-java5-fonts 1.5.0-08-0ubuntu1
sun-java5-jre 1.5.0-08-0ubuntu1
libc6-i686 2.4-1ubuntu12
xfonts-terminus 4.20-2
fontconfig 2.3.2-7ubuntu2
libc6 2.4-1ubuntu12
xfonts-scalable 1:1.0.0-4ubuntu1
locales 2.3.22
libasound2 1.0.11-7ubuntu3
wine 0.9.22-0ubuntu3
libgcc1 1:4.1.1-13ubuntu5
libx11-6 2:1.0.3-0ubuntu4

MoHaX
26.12.2006, 14:23
Как шаманил?

Baks
26.12.2006, 16:15
Как шаманил?

Да в общем-то ничего особо не шаманил. Правда место, где лежит сервер обозвал z: чтоб каталоги попадали в виндовым приложениям с нормальными путями. Накатил патчи на предыдущую установку и из под xterm это все запустил (т.е. без х11 не в курсе, будет ли работать). Ну и соотвественно пути не имеют пробелов.
А где у тебя конкретно падает? (покаж стек трейс где оно падает)

MoHaX
26.12.2006, 20:07
Да в общем-то ничего особо не шаманил. Правда место, где лежит сервер обозвал z: чтоб каталоги попадали в виндовым приложениям с нормальными путями. Накатил патчи на предыдущую установку и из под xterm это все запустил (т.е. без х11 не в курсе, будет ли работать). Ну и соотвественно пути не имеют пробелов.
А где у тебя конкретно падает? (покаж стек трейс где оно падает)
я у себя совсем не ставил пока что. Просто ты выше написал что не поднялось и у тебя тоже, потом написал что поднялось :) Я и подумал что ты где-то с бубном плясал и всё получилось. Что б такой путь не повторять снова решил спросить.

akirill
26.12.2006, 20:51
Да работает без всяких бубнов. Вт только законнектиться не получается. Ждем патча.

MoHaX
27.12.2006, 10:45
Да работает без всяких бубнов. Вт только законнектиться не получается. Ждем патча.
А если в winecfg указать Win2003? Тоже не пустит?

akirill
27.12.2006, 11:35
А если в winecfg указать Win2003? Тоже не пустит?
99,9%
Суть не в строчке, а в эмуляции сетевых API, судя по всему.

Baks
27.12.2006, 17:43
А если в winecfg указать Win2003? Тоже не пустит?

В любом случае не дожен. учитывая изменения в новом патче скорее всего проверяте чексумма всех библиотек (и естественно у нас они другие). По этому бум надеятся, что хотябы в режиме checkRuntime=1 - "мягкая" проверка, будут проверяться только библиотеки самого ила.

akirill
06.01.2007, 00:48
хотябы в режиме checkRuntime=1 - "мягкая" проверка, будут проверяться только библиотеки самого ила.
Не прокатило. Под линухом 4.071м пускает клиентов при checkRuntime=0
В остальном все нормально.

VreVo
07.01.2007, 05:19
У меня под wineconsole так и не заработал сервер, а просто под wine запустилось нормально, хоть и неудобно теперь стало. Проверка выключена (стоит по умолчанию)

MoHaX
01.02.2007, 10:03
Пропатчил сервер Ил-2 до 4.071 и вылезла странная проблема - не отображаются брифинги! Раньше все с ними было ок, дело точно не в миссиях.

MoHaX
02.02.2007, 11:07
неужели ни у кого не было косяка с брифингами? Ну не отображаются и всё тут! хоть ты тресни =(

akirill
02.02.2007, 13:04
неужели ни у кого не было косяка с брифингами? Ну не отображаются и всё тут! хоть ты тресни =(

У меня такая беда, подтверждаю.
Не копался глубоко, сегодня посмотрю.

sEpt0r
10.02.2007, 11:54
а у меня когда запускаю под wine пишет ошибка сокета. сервер работает, а подключиться к нему никак не получается. думаю, что с wine косяк где-то. что может быть?

VreVo
10.02.2007, 13:19
а у меня когда запускаю под wine пишет ошибка сокета. сервер работает, а подключиться к нему никак не получается. думаю, что с wine косяк где-то. что может быть?Было, страницу назад (http://sukhoi.ru/forum/showpost.php?p=880464&postcount=14)

Dark_Elven
13.02.2007, 17:56
4.08 нормально запускается?
И еще вдогонку... Можно ли с помощью wine запускать SC 2.02. Оно нормально работает? (я имею ввиду он его подхватывает - управлять можно?) Либо надо искать что то еще...

akirill
15.02.2007, 21:00
4.08 нормально запускается?
И еще вдогонку... Можно ли с помощью wine запускать SC 2.02. Оно нормально работает? (я имею ввиду он его подхватывает - управлять можно?) Либо надо искать что то еще...

Нормально запускается. SC не работает в консоли, а иксов на сервере не держим

Dark_Elven
18.02.2007, 12:06
akirill
Чтобы запускать SC нужны Х-ы... Так?
А чем тогда Вы управляете? Ротация карт и т.д. Дайте наводку. :)

VreVo
19.02.2007, 13:45
akirill
Чтобы запускать SC нужны Х-ы... Так?
А чем тогда Вы управляете? Ротация карт и т.д. Дайте наводку. :)SC производства Геннадич Тим не работает под Wine, я знаю сейчас только один коммандер под линукс - Jaycommander производства Ivanobulo, сейчас его дальше развивает Baks. У меня стоит альфа версия, она тут выкладывалась в одной из веток. Ротацию карт делает, можно командой в чате перегружать карту или загружать следующую. Статистики пока нет, хотя коммандер пишет события в базу.
У меня есть такой глюк, после нескольких дней ротации, сервер почему-то падает, а коммандер тем не менее работает. На другом порту сервер стоит без коммандера (там дуэльная карта) и работает как часы.
Для запуска сервера сейчас нужны иксы, раньше у меня в консоли запускался, а с 4.07 не хочет.

Baks
19.02.2007, 15:15
Ну мои заслуги сильно преувеличены :).

Сейчас проект проходит стадию рефакторинга и Ivanobulo общал вернуться (временно не мог учавствовать в проекте). Так что пациент скорее жив чем мертв :D

MoHaX
19.02.2007, 18:55
С брифингами вопрос так и не решился? =(

basurman
19.02.2007, 22:56
У меня вопрос: не подгружаются скины на 4.08 (причем только под линухом, под виндой все нормально подгружается)... Может кто встречался с такой бякой?

Baks
20.02.2007, 00:57
Отвечаю:

проблема скорее всего в wine, т.к. иловская java машина под wine на запрос размера файла через File.length() получает полную ерунду (угадать что там за число не получилось, похоже просто мусор)

Answer(34) state = Init
request: com.maddox.il2.net.NetServerParams@5a5318:null state = init
NETTRANS ANS: 34 :input message...
Answer(34) state = Init
request: com.maddox.il2.net.NetServerParams@5a5318:net/dogfight/ 3/1_islands.prop state = init
FileSereverDef: file z:\home\software\games\il2ds4071m\missions\net\dogfight\ 3\1_islands.properties exists=true
FileSereverDef: file z:\home\software\games\il2ds4071m\missions\net\dogfight\ 3\1_islands.properties length=45d855b100000000
NETTRANS ANS: 34 :send 'io error 0'


Кто конкретно виноват выяснить постараюсь попозже... но это точно не ил... и почему до этого работало тоже сказать не могу... (если вообще работало, т.к. не обращал внимания).

Baks
20.02.2007, 02:06
Баг пойман и придушен... :thx:

Берем msvcrt.dll 6-й версии (приаттачил) и кладем ее в папочку сервера. Далее настраиваем wine, чтобы он пытался грузить сначала родную (виндовую) msvcrt.dll и только потом свою. Запускаем и должно работать... :uh-e:

MoHaX
20.02.2007, 22:24
пробовал с какой то msvcrt.dll (может не 6-я правда была), так ил2 вообще не стартовал.

Твоя msvcrt.dll вопрос с брифингами решает?

Baks
21.02.2007, 10:34
пробовал с какой то msvcrt.dll (может не 6-я правда была), так ил2 вообще не стартовал.

Твоя msvcrt.dll вопрос с брифингами решает?

да. как показал выше проблема не только с брифингами но и со всем, что клиент получает с сервера... выше я распечатал что происходит внутри il2server т.е. при вызове file.lenght il2 получает неправильный размер файла и не может его отправить клиенту. По этому не работают ни брифинги ни скины...
Попробуй с моей, у меня все запустилось и брифинги появились...

MoHaX
21.02.2007, 11:53
Подтверждаю вышеприведенная dll на 100 кб меньше чем стандартная из winxp SP2 rus но зато исправно работает под wine :)

ps. А как ты внутренние события выдернул? Или это только для ява девелоперов подсилу?

Baks
21.02.2007, 14:12
Подтверждаю вышеприведенная dll на 100 кб меньше чем стандартная из winxp SP2 rus но зато исправно работает под wine :)

ps. А как ты внутренние события выдернул? Или это только для ява девелоперов подсилу?

Java + Asm девелоперу ;)
Это я хотел сделать отдельный сервер для linux только под java, т.к. например под 1.4 java фризов заметно меньше... а под 1.6 думаю было бы совсем хорошо (с ее escape analysis и продвинутым gc) ... но там таакой код :uh-e: что я отказался от этой затеи... (код неотрываем от opengl/sound/gui... )

MoHaX
21.02.2007, 14:32
например под 1.4 java фризов заметно меньше...
Я правильно понял что у тебя УЖЕ есть опыт замены ява машины на версию 1.4? (а какая там по дефолту?). Ты менял на сервере или на клиентах?

Baks
21.02.2007, 15:33
Я правильно понял что у тебя УЖЕ есть опыт замены ява машины на версию 1.4? (а какая там по дефолту?). Ты менял на сервере или на клиентах?

Я клиента не трогал (хотя в принципе можно, ибо принцип запуска один и тот же). Все модификации только для сервера...
Жава там древнейшая и тормознейшая - 1.3 . Менять можно было до 4.06, сейчас для этого надо извращаться (из-за особенностей реализации защиты, детали приводить тут не буду)...

ЗЫ: к стати, java машину можно и сейчас заменить но только в пределах ветки 1.3, но ни один сервер с checkRuntime > 0 не пустит... для этого просто копируешь jre в папку игры и будет у тебя другая jvm (она у ила и так последняя из ветки 1.3).

MoHaX
21.02.2007, 16:06
А у тебя на Linux checkruntime>0 вообще работает? У меня всех выкидывал поголовно. По-этому стоит checkruntime=0, при таких настройках пересадка явы пройдет успешно?

Baks
21.02.2007, 16:14
А у тебя на Linux checkruntime>0 вообще работает? У меня всех выкидывал поголовно. По-этому стоит checkruntime=0, при таких настройках пересадка явы пройдет успешно?

Нет. Сейчас без модификации il2server.exe это не получится(пересадка java машины)...
И пока не понял, что не нравится защите при checkruntime=1 под линуксом... по идее должно нормально работать.

hackzone
20.03.2007, 00:38
Заменил DLL(сделал lowercase и положил в ~/.wine/drive_c/windows/system32) - сокет открывает, но в игре ничего не происходит. То есть появляется "Загружается карта" и тишина...

В консоли:
socket channel '1' start creating: 192.168.1.2:21000
Chat: --- hackzone joins the game.
socket channel '1', ip 192.168.1.2:21000, hackzone, is complete created
<В это время я долго жду пока "скачается" карта...>
<Жму отключиться>
socketConnection with 192.168.1.2:21000 on channel 1 lost. Reason:
Chat: --- hackzone has left the game.

Куда копать? файрвола нет. wine-0.9.33

hackzone
25.03.2007, 12:28
Сервер заработал, но находится в состоянии "wait"
Какой серверкоммандер заюзать посоветуете? IL2SC не робит...

Mega_34
04.06.2007, 01:57
Здравствуйте...
Стоит FreeBSD и полностью рабочий сервер Ил-2... расскажите о настройке его под этой ОС и как им управлять с другого компбьютера (удаленно всмысле) из под винды обычной...

basurman
04.08.2007, 13:04
SC производства Геннадич Тим не работает под Wine, я знаю сейчас только один коммандер под линукс - Jaycommander производства Ivanobulo, сейчас его дальше развивает Baks. ....
Вопрос: а где можно получить Jaycommander?

DnK
25.09.2007, 21:39
Вопрос:
Есть ли в принципе работающий под Linux какой нибудь серверкоммандер и где его можно взять?

VreVo
27.09.2007, 16:02
Вопрос:
Есть ли в принципе работающий под Linux какой нибудь серверкоммандер и где его можно взять?
По просьбе Baks сообщаю:

пока проект заморожен... (во всяком случае я его не веду пока)
исходники и прочее есть http://sourceforge.net/projects/jaydaemon

basurman
10.12.2007, 04:59
запущен...
я запускаю так:

screen -d -m -S il2 ./run_il2ds_408.sh

Содержимое файлика:

wineconsole c:\\Programme\\00dsserver_408m\\il2server.exe

winn
20.12.2007, 23:28
Кто подскажет как командер под линуксом запустить? :rtfm:

VreVo
24.01.2008, 21:52
Кто подскажет как командер под линуксом запустить? :rtfm:
Тут с командером проблемы пока что. Есть альфа-версия одного командера которым занимался Бакс, но работает неустойчиво. Может что-нибудь простое можно делать с помощью скриптов, не знаю. Мне вот нужна ротация карт по команде, ганстат ну и может еще кик, и все.

DnK
03.02.2009, 14:15
коммандер:
для windows, freebsd, linux

Для windows
-----
качаем python http://www.python.org/download/
качаем pywin http://sourceforge.net/projects/pywin32/
после установки выполнить в командной строке: path C:\python\; %PATH%

в сервере confs.ini посмотреть и установить если неправильно:
[Console]
IP=20001 <<<<<<< порт Телнет.
IPS=10.0.0.5 <<<<<<< IP адрес сервера

в командере miniDaemon.ini исправить пути если надо
mission.time -время смены карты в секундах
ReportPeriod -через сколько секунд оповещать о том через сколько сменится карта
vote.percent -сколько голосов от играющих на сервере должны проголосовать для смены карты (в процентах)
в секции [Telnet] выставить хост и порт из confs.ini

missions.txt -прописать имя миссий без расширения лежащих в mission.dir
admin.txt -прописать ip админов
rand.txt -прописать пределы изменения погоды и времени суток на карте

запускаем сервер, после загрузки запускаем командер через run.bat

-----
Для freebsd
-----
тоже самое только коммандер берем под freebsd.
там единственное изменение в telnetCommunicator.py команда self.__tnC.acquire() вызывала зависание демона, без нее все нормально.
а в версии для windows виснет наоборот без нее, если кто знает почему так прозьба мне рассказать

-----
Для linux
-----
тоже самое только какая из версий заработает не проверено, одна из двух :)

_____________________________________
------------------------------------------
может кто допишет фич.

basurman
04.02.2009, 00:54
... более простые и дешевые решения
это смотря где. У нас хостинг берет на 10 евронов больше за винду, чем за линух.


коммандер:
для windows, freebsd, linux
...

Отличная задумка!!!
Я сразу с проблемами:


sh rundaemon.sh
File "miniDaemon.py", line 467
finally:
^
SyntaxError: invalid syntax

Debian 4

basurman
04.02.2009, 01:05
Это за собственный сервер клиента или все же за предоставленные самим провайдером сервер?
Надеюсь мы об одном говорим - о коллокейшн?

Коллокейшн - это ведь когда свой сервер ставится на площадку хостера?
Нет, у нас не коллокейшн, у нас все от хостинга.

SilverFox
04.02.2009, 01:16
Видимо, товарищ не знает что такой бить баклуши при аптайме от пары лет и выше...:)
Всетаки он не знает :)

tovarisch_Ko
04.02.2009, 01:25
Коллокейшн - это ведь когда свой сервер ставится на площадку хостера?
Нет, у нас не коллокейшн, у нас все от хостинга.

Для Ила по-любому требуется отдельный сервер, свой поставить дешевле, чем арендовать.

basurman
04.02.2009, 01:31
Для Ила по-любому требуется отдельный сервер, свой поставить дешевле, чем арендовать.
Да, это отдельный арендованный сервер.

DnK
05.02.2009, 19:13
коммандер:
для windows, freebsd, linux...
забыл указать:
miniDaemon модифицированная версия коммандера nullwar'a http://www.nullwar.com/info/soft

Поддерживаемые комманды:
<time -время до конца миссии
<map -название текущей и следующей миссии
<gunstat -меткость стрельбы
<vote -голосование за смену карты

Распознование админов по ip и команды для них
<kick<кого -кикнуть
<ban<кого -забанить
<maplist -список карт с номерами
<map<номер карты -загрузит нужную карту

поддерживается автогенерация погоды и времени суток.


Я сразу с проблемами:


sh rundaemon.sh
File "miniDaemon.py", line 467
finally:
^
SyntaxError: invalid syntax

какая версия пайтона?

попробуй заменить:

#check connection to telnet il2server
try: tc = TelnetCommunicator(config['Telnet']['host'], int(config['Telnet']['port']))
except:
print "Error: not connect to "+config['Telnet']['host']+":"+config['Telnet']['port']
exit(1)
finally:
pass
#--

на


#check connection to telnet il2server
try: tc = TelnetCommunicator(config['Telnet']['host'], int(config['Telnet']['port']))
except:
print "Error: not connect to "+config['Telnet']['host']+":"+config['Telnet']['port']
#--

basurman
06.02.2009, 14:28
забыл указать:
какая версия пайтона?

попробуй заменить:

#check connection to telnet il2server
try: tc = TelnetCommunicator(config['Telnet']['host'], int(config['Telnet']['port']))
except:
print "Error: not connect to "+config['Telnet']['host']+":"+config['Telnet']['port']
exit(1)
finally:
pass
#--на


#check connection to telnet il2server
try: tc = TelnetCommunicator(config['Telnet']['host'], int(config['Telnet']['port']))
except:
print "Error: not connect to "+config['Telnet']['host']+":"+config['Telnet']['port']
#--


blabla@blublu:~$ python -V
Python 2.4.4

В самих файлах я еще тогда закоментировал две строки и демон запустился... Но почему то не загружает карту.
Т.е. с сервером соединяется, пишет "Осталось 59 минут", в консоли показывает подключения игноков... Но карту не загружает.
Что может быть?

пысы. Возможно нужен инишник для карты? Что в нем писать?

DnK
06.02.2009, 14:36
возьми telnetCommunicator.py из версии под freebsd, было такое висло при попытке получить лок self.__tnC.acquire() видимо это только под виндой надо.

basurman
06.02.2009, 15:25
не хочет...
Пробовал и виндовым и фришным. Причем сервер на команды отвечает (map, gunstat, vote и др). А карту не грузит :(

DnK
06.02.2009, 16:16
тогда в miniDaemon.ini стоит проверить пути. особенно относительный путь к картам mission.base.url
и посмотреть что пишет на консоль сервер ил-2

Nike "Targon"
07.02.2009, 15:10
забыл указать:
miniDaemon модифицированная версия коммандера nullwar'a

Видимо для описаний карт нужны .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'

Waso
07.02.2009, 16:51
Видимо для описаний карт нужны .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

DnK
10.02.2009, 11:57
да ini не нужны, забыл убрать строку, в miniDaemon.py удалите 96 строку self.__missionConf = IniFile(self.__config['MAIN']['mission.dir'] + self.__missionName + '.ini', )

Nike "Targon"
12.02.2009, 20:56
Спасибо господа вирпилы за помощь и советы - запустил таки я миниДемона в работу! :) Немного потестил - правда, сразу оговорюсь, на своем тренировочном сервере, практически без нагрузки - 3-4 пилота и 5 карт в ротации. Работает, чертяка :D
Ось - Debian 4 Etch, il2 dedicated 4.08m. Вариант Демона - виндовый, в коде miniDaemon.py коментились строки: 96


# self.__missionConf = IniFile(self.__config['MAIN']['mission.dir'] + self.__missionName + '.ini', )

и 466-468


# exit(1)
# finally:
# pass

Заработало практически сразу все, были обычные для чайника косяки с прописыванием путей в miniDaemon.ini Сейчас там следующее:


mission.base.url Net/dogfight/daemon/
mission.dir /game/.wine/drive_d/IL2server/Missions/Net/dogfight/daemon/

Правда, несколько непонятна логика работы модуля, определяющего, админ ли на сервере. В файле admin.txt пишу IP машин, с которых заходит админ - по одному ип в строке - работает только последний в списке. Кроме того, сервак смотрит на внешку из под NATа - снаружи, с внешним IP захожу админом, из внутренней сети - пускает, но говорит "Вы не Админ!" - абидна,понимашь!
Может, быть доработать модуль, чтобы Админом считался юзверь, зашедший _С определенного ИП___И___С определенным ником ?

З.Ы. В коде miniDaemon.py в строке 443
self.__console.writeMessage("Слудующая карта: %s"%nextmap, None)
поменял на

self.__console.writeMessage("Следующая карта: %s"%nextmap, None)
Уж больно глаз режет :ups:

DnK
13.02.2009, 23:28
Правда, несколько непонятна логика работы модуля, определяющего, админ ли на сервере. В файле admin.txt пишу IP машин, с которых заходит админ - по одному ип в строке - работает только последний в списке.
строку 273

if(player[0] in self.__admins):
заменить на

if(player[0]+"\n" in self.__admins):
и файл admin.txt заканчивать пустой строкой

Andrey67
19.06.2009, 09:34
в сервере confs.ini посмотреть и установить если неправильно:
[Console]
IP=20001 <<<<<<< порт Телнет.
IPS=10.0.0.5 <<<<<<< IP адрес сервера



Не совсем корректно использовать данный IP, лучше 127.0.0.5 - данный диапазон IP специально зарезервирован для обратных связей. У меня на Убунте 8.04 10.0.0.5 так и не сработал, заменил 127 - заработало! Демон для фряхи использовал. РЕСПЕКТ СОЗДАТЕЛЮ!!!:bravo::bravo::bravo::cool:

[fh]HUNT
13.06.2010, 18:37
коммандер:
для windows, freebsd, linux

Для windows
-----
качаем python http://www.python.org/download/
качаем pywin http://sourceforge.net/projects/pywin32/
после установки выполнить в командной строке: path C:\python\; %PATH%

-----
Для linux
-----
тоже самое только какая из версий заработает не проверено, одна из двух :)

_____________________________________
------------------------------------------
может кто допишет фич.

Я, конечно, категорически извиняюсь, но... понимаю тема старая и, видимо, все проблемы у народа решены (раз нет больше сообщений), но вот пришлось заниматься этой же проблемой.
В Линухе пока полный ноль... так только - смог уже запустить "лысый" сервер и вот вопросы...
1. Питона для Linux скачал... как его установить. Причем у меня в системе уже при инсталляции Питоновских хвостов полно (Debian 5.0.4)
2. Зачем еще качать Виндового Питона?
3. При выполнении инструкции (в терминале) path C:\python\; %PATH% выдает - команда не найдена?
4. При запуске, точнее прописке (может это и неправильный запуск) ~$ ~/miniDaemon/run.bat - Отказано в доступе.

Кто может помочь ламеру ? :ups:

[fh]HUNT
17.06.2010, 04:58
Ну, в принципе, в основном вопрос снят. Один маленький - кто использует Демонов - кто фряшный, а кто простой и какие результаты.

Nike "Targon"
17.06.2010, 11:35
HUNT;1427527'] кто использует Демонов - кто фряшный, а кто простой и какие результаты.

Вот выше мой пост http://www.sukhoi.ru/forum/showpost.php?p=1201582&postcount=81 , если вкратце - то ось на сервере - Debian 4 Etch, il2 dedicated 4.09m, поднимал также и модовый вариант Ила на другом порту - управлял второй копией демона. Вариант Демона - виндовый, в коде некоторые исправления, описанные в вышеуказаном посте плюс корректировки от автора демона - см ниже, 82 пост. Нагрузка на сервер небольшая там человек 8 наверно было одномоментно, карты ротируются по времени, и вручную, командами, сервер работает круглосуточно. Процесс как Ила, так и демона запущен каждый в своем скрине. Падал процесс демона, ну не знаю, раза 3-4 за все время. Если какие подробности нужно - пиши, обсудим :)

[fh]HUNT
17.06.2010, 12:24
Спасибо, Nike, естественно этот раздел весь проштудировал и не раз :D
вот как раз что-то с путями у меня и не клеится - как не прописывал - нет файла и хоть ты убей его... буду сейчас по буковке проверять :rtfm:

Nike "Targon"
17.06.2010, 17:39
На всяк случай распишу поподробнее, про пути и команды запуска:

файлы серверной части Ила лежат по пути:
/game/.wine/drive_d/IL2server/
стартовый файл - экзешник запускаемый под вайном - il2server
соответственно запускаю процесс таким скриптом:
il2start


#! /bin/bash
screen -d -m -S il2 wine d:/il2server/il2server

файлы демона лежат здесь:
/game/miniDaemon/
стартовый скрипт - rundaemon.sh
соответственно запускаю процесс таким скриптом:
mDstart


#! /bin/bash
cd /game/miniDaemon
screen -d -m -S miniD ./rundaemon.sh


содержимое файла miniDaemon.ini


[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 в локалке.

Кроу
19.12.2010, 20:19
Запустили у себя под фришкой сервер 4.10, так же запущен минидеймон под неё же. Все вроде нормально, но примерно раз в 3 дня иногда и раньше минидеймон виснет(перестаёт реагировать на команды, нет ротации карт), перезапускаем опять все работает. Проблема пока не решена. Чем ему можно помочь?

Nike "Targon"
31.01.2011, 16:07
Если проблема связана с пустыми и/или кириллическими именами пользователей, то в версии 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.

Кроу
31.01.2011, 19:09
Если проблема связана с пустыми и/или кириллическими именами пользователей, то в версии 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.
Сегодня опять перезапустили деймона, после чего я поставил пробел в своем нике и зашел на сервер и деймон тут же повис)
Nike "Targon" сходу что то не пойму, а какой это conf.ini который c или s ?

mar$
01.02.2011, 00:23
который c или s ?
C -консольный,S - серверный

Nike "Targon"
01.02.2011, 09:25
Сегодня опять перезапустили деймона, после чего я поставил пробел в своем нике и зашел на сервер и деймон тут же повис)
Nike "Targon" сходу что то не пойму, а какой это conf.ini который c или s ?

Только что проверил, добавление filterUserNames=1 в секцию [NET] файла confs.ini приводит к следующим результатам:
1. Наличие пробела либо другого не латинского либо не кириллического символа в нике пилота не мешает логину на сервер, НО в логах сервера наблюдается ОТСУТСТВИЕ пробела в нике пилота. Например ник Nike "Targon" приводится к виду NikeTargon
2. Наличие кириллических символов в нике пилота НЕ приводит к падению даймона, НО команды управления даемоном не проходят.
3. Даемон в данных условиях не падает.

Кроу
01.02.2011, 09:54
Только что проверил, добавление filterUserNames=1 в секцию [NET] файла confs.ini приводит к следующим результатам:
1. Наличие пробела либо другого не латинского либо не кириллического символа в нике пилота не мешает логину на сервер, НО в логах сервера наблюдается ОТСУТСТВИЕ пробела в нике пилота. Например ник Nike "Targon" приводится к виду NikeTargon
2. Наличие кириллических символов в нике пилота НЕ приводит к падению даймона, НО команды управления даемоном не проходят.
3. Даемон в данных условиях не падает.

Так же проверили у себя. По первому пункту та же самая картина.По второму и третьему нет результатов так как даймон вообще отказался запускаться с этой строкой. При удалении строчки filterUserNames=1 запустился, но опять же при входе на сервер с пробелом в нике останавливается. Не пойму почему результаты разные ведь юзаем мы одного и того же даймона и настройки все сделаны как описано в этой теме. Кстати всё таки почему conf.ini., куда делась s, опечатка?
mar$ кстати удаление строчки checkRunTime=2 не привело к желаемым результатам, мониторинг так же пропадает после входа 6 -го человека на сервер.

Nike "Targon"
01.02.2011, 10:54
Не пойму почему результаты разные ведь юзаем мы одного и того же даймона и настройки все сделаны как описано в этой теме.
Во вложении архив, снятый с рабочего демона, также файлы confs.ini confc.ini

Кстати всё таки почему conf.ini., куда делась s, опечатка?

Да , похоже опечатка.

Кроу
01.02.2011, 12:03
Спасибо. Только хочу уточнить это ты виндовый выложил или на фришку? У меня фришный стоит.

Nike "Targon"
01.02.2011, 12:23
Спасибо. Только хочу уточнить это ты виндовый выложил или на фришку? У меня фришный стоит.
Виндовый

Кроу
01.02.2011, 16:09
Здаётся мне что во фряшном даймоне есть где то ошибка, какую то строку видимо надо править. Вот только какую?
А что если виндовый на фришке запустить, не пройдет ли такой вариант?

Nike "Targon"
02.02.2011, 19:42
А что если виндовый на фришке запустить, не пройдет ли такой вариант?

ИМХО должно работать. Я под Debian запускаю виндового демона, и работает...

Кроу
03.02.2011, 10:19
Ну значит на выходных займусь. Сначала перезалью фришный, если ситуация та же будет будем пробовать виндового ставить. О результатах потом отпишусь.

Кроу
07.02.2011, 22:45
Значит далее что получилось. Для начала лог даймона

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-го человека.

lekseys
20.01.2014, 17:21
Господа, подскажите, пожалуйста. Возможно ли на современных линуксах или бзд поднять Ил-2 Штурмовик, Версия 4.09. И чтобы сервер позволял использовать моды.

oblalex
20.01.2014, 18:31
1. Берете сервак с винды.
2. Переносите на юникс (копируете, монтируете, etc).
3. Запускаете под Wine.
4. Profit.

Если нужен серверный ДевайсЛинк, то брать Wine >= 1.6.
Читайте статью (https://github.com/IL2HorusTeam/projects/wiki/%D0%92%D1%8B%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80-%D0%98%D0%BB-2-%D0%A8%D1%82%D1%83%D1%80%D0%BC%D0%BE%D0%B2%D0%B8%D0%BA), задавайте вопросы, если возникнут.

lekseys
20.01.2014, 19:01
Спасибо за ответ. До той темы добрался сам поиском. Понял, что в лоб через Wine все делается.
Несущественно, что сервер старый - 4.09?

В каком случае мне нужен il2dsd (и живой ли он)? Чисто для "демонизации" его?

Что такое девайслинк? Подключение устройств (джойстика) в серверу? В рассматриваемом варианте клиенты на виндоузе.

И еще вопрос, есть кто-то, кто готов поднять такой сервер за плату? Пока в теории.

oblalex
20.01.2014, 22:04
1. Номер версии - личное дело каждого. Хоть он и будет старый, но пенсию-то ему платить не притется :)
2. il2dsd = il2ds daemon, да, это только для запуска сервера в фоне + с ним идет скрипт, умеющий выкачать сервак по патчам и распаковать его в нужное место. Скриптом можно воспользоваться отдельно ничего не устанавливая (кроме curl, unzip и wget), например, чтобы получить сервер 4.09 достаточно выполнить


bash <( curl https://raw2.github.com/IL2HorusTeam/il2dsd/master/scripts/il2ds-install ) -d /tmp -o /opt/games/il2/ds -v 409
патчи будут лежать в '/tmp', сервер - в '/opt/games/il2/ds'. Перед скачиванием проверьте права доступа к директориям.

3. ДевайсЛинк - [это такой протокол (https://docs.google.com/document/d/1xpKVF1ClXyLCxacBjnw3-lzrAPF_7gzVlduAFQfwNKc/edit#)], который работает поверх UDP. На клиенте (в одиночном режиме) позволяет считывать информацию с приборов, элементов управления и управлять последними. На сервере можно использовать как радар в реальном времени и следить за координатами игроков и объектов.

4. Про хостинг ничего не скажу.