Page 1 of 1

Linux + Injection

Posted: 2008-12-06 00:49:53
by Yoko
[table2start]
Copied from other threads. Just to make a sticker.
0. Some background. It not working "default way" because Wine seems to forbids some messages between windows. But it can be surpassed, see below.

1. Method A: (source)
theone wrote:You need to run wine with virtual desktop emulation then run client by inj launcher and click on uo client window decoration (or just move the window).


2. Method B: (source)
Zolen wrote:1) start ilauncher, configure it. Press Start.
2) Whenever it finished launching (there still no Injection window visible) press Alt+Enter to enter fullscreen mode, then press Alt+Enter again. Voila.

Zolen wrote:Those who don't see Injection window - either remove injection.xml from Injection folder, or change value of InjectionWindowPosX, InjectionWindowPosY to "100" and "100" in injection.xml. Now Injection window should appear and hotkeys should work.

theone wrote:To have drawn colored text/icons/bars in window caption, uncheck option 'Allow the window manager to decorate the windows' in winecfg


Feel free to extend this topic yourself.
[table2middle]
Скопировано с других тем, чтобы прилепить.
0. Технические подробности. "Обычным путём" не работает потому что Wine не пропускает какие-то сообщения между окнами. Но это обходится, см. ниже.

1. Метод A: (source)
theone wrote:запускать вайн в режиме эмуляции рабочего стола, после запуска клиента надо кликнуть на окно клиента (или переместить его) и инжа запускается.


2. Метод B: (source)
Zolen wrote:1) запускаем илаунчер, все прописываем. нажимаем старт.
2) когда запустится клиент(а окошка инжекта нету) жмем альт+ентер(переход в фуллскрин) и ещё раз альт+ентер(обратно в окно) и всё работает.

Zolen wrote:Тем у кого не видно окна инжекта - либо удалите injection.xml из папки с инжектом, либо установите значения InjectionWindowPosX, InjectionWindowPosY в "100" и "100" в injection.xml. После этого появится окно и заработают хоткеи.

theone wrote:А что бы без эмуляции рабочего стола прорысовывались "цветные надписи, иконки и полоски жизни/маны/стамины" надо в winecfg убрать галочку "разрешить менеджеру окон декорировать окна"


Пишите ещё что найдёте.
[table2finish]

Posted: 2008-12-06 10:33:49
by Kynep
ООоо пасиб Йоко, теперь барьер между мной и Ubuntu Desktop стерт окончательно :)

Posted: 2009-01-02 08:26:00
by Zolen
Если всё запустилось и окна инжи не видно - не обязательно удалять injection.xml. Можно найти в этом файле строки

Code: Select all

InjectionWindowPosX="254"
InjectionWindowPosY="638"

и поставить значения например 100 и 100.


If injection loads, but not show its window, edit file injection.xml. Find strings

Code: Select all

InjectionWindowPosX="254"
InjectionWindowPosY="638"

and set variables 100 and 100.

Posted: 2009-01-07 14:08:53
by Yoko
Zolen wrote:Если всё запустилось и окна инжи не видно -


добавил в шапку

Posted: 2009-03-03 11:13:36
by Виталь
Не сработал ни один из вариантов, к сожалению.

upd 16-03-2009: Связался с Zolen'ом, помог решить. :) Проблема была в том, что injection.dll не мог найти expat.dll, который находился в папке инжекта. На самом деле, он хотел, чтобы expat.dll находился в папке ультимы.

Posted: 2009-07-09 09:03:10
by Gateway
К сожалению не один способ не подошел.. что мне делать =( помогите плиз.

Posted: 2009-07-09 10:08:57
by Виталь
Gateway wrote:К сожалению не один способ не подошел.. что мне делать =( помогите плиз.

Подробнее. Что делал, что пишет? Пробовал ли expat.dll кинуть в папку ультимы?

Posted: 2009-07-09 10:18:13
by Gateway
этот длл уже там. пробывал в настройках вайн делать окно.. не помголо.. альт+ентер вообще не реагирует.

Posted: 2009-07-09 10:27:43
by Виталь
Gateway wrote:этот длл уже там.

А инжект при этом отдельно лежит? Если память не подводит, expat должен лежать и в инже, и в ультиме.
И еще раз - что пишет?

Posted: 2009-07-09 10:56:32
by Gateway
длл лежит и там и там.. ничего не пишет.. захожу в инжект запускаю уо.. захожу в игру.. а инжект не активируется.. просто висит как при загрузке..

Posted: 2009-07-09 11:06:19
by Виталь
На чем запускаешь, какой инжект?
Запусти через консоль и покажи, что вернет.

Posted: 2009-08-12 15:04:47
by Zolen
Переделал чутка илаунчер, чтобы работал из под вайна без нажатия альт+ентер.
Брать тут http://zolen.org.ru/ilaunch3.exe

Тем, кто боится вирусов - берем вижал студию, открываем сорцы илаунчера и меняем в файле ilaunch.cpp вот это

Code: Select all

/*if(WaitForInputIdle(pi.hProcess, INFINITE) != 0)
        {
                api_error("Failed waiting for client window to open");
                error_stage(STAGE_STARTCLIENT);
                return 0;
        }*/

        HWND a;
                do {
                        a=FindWindowEx(0, 0, 0, "Ultima Online");
                } while (a==NULL);

Re: Linux + Injection

Posted: 2010-05-09 12:30:19
by -=JoKeR=-
Ничего не помогло (убунту последняя). :(

Re: Linux + Injection

Posted: 2011-09-14 15:09:43
by altukhov
Оживляем тему.

сервер: http://uo.egames.lv/

debian testing
wine 1.3.28
inject script module: 505.18 gumpfix v2

галочки стоят: Corpse Autoopen и No client hung message
encryption 2.0.3

запускаю обычный клиент:
env WINEPREFIX="/home/user/.wine" wine C:\\windows\\command\\start.exe /Unix /home/user/.wine/dosdevices/c:/Ultima/Client.exe

все отлично !

запускаю inject:
env WINEPREFIX="/home/user/.wine" wine C:\\windows\\command\\start.exe /Unix /home/user/.wine/dosdevices/c:/Ultima/Distribs/injection/ilaunch.exe


При попытке войти на сферу вижу картинку с игроком и сразу дисконнект.
см.скриншот
Подскажите куда копать ? голый клиент пускает на ура, no_crypt на винде тоже работает.....

Вот кусок лога из injection_log.txt
--------------------------------------------------------------------------------------------------------------------
- 000013383+0000 --- client Status Request
0000: 34 ed ed ed ed 05 00 04 a2 2d -- -- -- -- -- -- : 4........-
- 000013383+0000 --- client Client Version
0000: bd 00 09 32 2e 30 2e 33 00 -- -- -- -- -- -- -- : ...2.0.3.
- 000013383+0000 --- client New Commands
0000: bf 00 0d 00 05 00 00 03 20 00 00 10 00 -- -- -- : ........ ....
- 000013383+0000 --- client New Commands
0000: bf 00 08 00 0b 52 55 53 -- -- -- -- -- -- -- -- : .....RUS
- 000013383+0000 --- client Double Click
0000: 06 80 04 a2 2d -- -- -- -- -- -- -- -- -- -- -- : ....-
- 000013383+0000 --- client Status Request
0000: 34 ed ed ed ed 04 00 04 a2 2d -- -- -- -- -- -- : 4........-
- 000013383+0000 --- client Single Click
0000: 09 00 06 09 97 -- -- -- -- -- -- -- -- -- -- -- : .....
- 000013383+0000 --- client Single Click
0000: 09 00 0b ba 22 -- -- -- -- -- -- -- -- -- -- -- : ...."
* send() returned SOCKET_ERROR
>> closesocket(556) => 0
Closed second socket (556) => 0
void InjectionWindow::disconnected()
***Error: Unhandled exception 1: 0xC0000005 at 004C21D8
***Error: injection.dll base: 21000000
***Error: script.dll base: 1FBB0000
***Error: EAX=00E71768, EBX=00000042, ECX=0127D6F0, EDX=00E71768
***Error: ESI=00000000, EDI=0127D710, ESP=0033F99C, EBP=00008000
***Error: EIP=004C21D8, EFLAGS=00010246

***Error: Bytes at EIP:
0000: 8b 46 04 8b 15 6c 51 cc 00 8b 74 24 10 3b c2 5f : .F...lQ...t$.;._
***Error: Bytes at ESP:
0000: 10 d7 27 01 f0 d6 27 01 42 00 00 00 71 1d 4c 00 : ..'...'.B...q.L.
0010: 10 d7 27 01 00 00 01 00 f0 d6 27 01 1b 43 00 00 : ..'.......'..C..