Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Hry a zábava => Téma založeno: Kattnienika 25 Dubna 2019, 14:34:10

Název: DirectPlay - Zamrznutí
Přispěvatel: Kattnienika 25 Dubna 2019, 14:34:10
Ahoj znovu,

Tak dneska jsem zkusila zprovoznit ještě hru Heroes of Might and Magic III. Podle návodu na WineHQ jsem nainstalovala Directplay přes Winetricks. Nejdříve hra přes TCP/IP nešla vůbec spustit (návrat do menu). Nyní mě to do menu již nevrací (po nainstalování Directplay), ale po kliknutí na Hostitel hry dojde k zamražení.
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: Kattnienika 25 Dubna 2019, 15:19:07
Tak problém je částečně vyřešený. Nejspíše to je problém s verzí od GoG, protože jsem vyhrabala českou verzi ještě od vydání hry a ta tento problém nemá.

Nyní se snažím ale ručně vytvořit spouštěč na plochu a zástupce do nabídky aplikací. Pokusila jsem se příkaz ke spuštění okopírovat z vytvořeného zástupce, ale při kliknutí na položku v menu se vůbec nic neděje. Příkaz vypadá takto:

Kód: [Vybrat]
env WINEPREFIX="/home/kattnienika/.wine" wine Z:\\\\home\\\\kattnienika\\\\Hry\\\\Heroes\\ of\\ Might\\ and\\ Magic\\ III\\\\HEROES3HD.EXE
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: Gmisiycs 25 Dubna 2019, 15:38:52
Nějak se mi tam nelíbí ty "multi" zpětná lomítka, ale to bych neřešil v tuto chvíli. Koneckonců jsem rok spouštěč nevytvářel, takže se k tomu vyjádří někdo jiný (doufám).

Klikla jste na spouštěč pravým myšidlem, zvolila v kontextovém menu položku Vlastnosti a zaškrtla políčko Spustitelný soubor?
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: Kattnienika 25 Dubna 2019, 15:43:23
Ano, povolila.

Nejprve jsem to zkoušela na způsob:
Kód: [Vybrat]
Encoding=UTF-8
Name=World of Warcraft
Exec=wine /home/kattnienika/Hry/World\ of\ Warcraft/WoW.exe
Icon=/home/kattnienika/.icons/World of Warcraft.png
Terminal=false
Type=Application
Categories=Application;Game;
StartupNotify=false
Které tedy není instalované přes Wine (pouze nakopírované do notebooku) a zde to funguje bez problému. Heroes už jsem instalovala přes Wine a zkoušela okopírovat spouštěč, který se na ploše vytvořil při instalaci.
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: Gmisiycs 25 Dubna 2019, 15:50:14
Jak dopadne vložení spouštěcího příkazu při použití v Terminál-u?
Kód: [Vybrat]
env WINEPREFIX="/home/kattnienika/.wine" wine Z:\\\\home\\\\kattnienika\\\\Hry\\\\Heroes\\ of\\ Might\\ and\\ Magic\\ III\\\\HEROES3HD.EXEPokud se nespustí, není v chybových hláškách někde něco o neexistujícím adresáři ve stylu "file is not exist", "file is not found, "no reading"?
Případně postněte výpis z terminálu.
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: juwa2 25 Dubna 2019, 15:53:12
Spouštěče wine aplikací:
Kód: [Vybrat]
Exec=env WINEPREFIX="/home/kattnienika/.wine" wine "cesta/k/souboru/*.exe"
například:
Kód: [Vybrat]
Exec=env WINEPREFIX="/home/kattnienika/.wine" wine "home/kattnienika/.wine/drive_c/Program Files (x86)/Mp3tag/Mp3tag.exe"
Spustitelný soubor .exe může být kdekoli v rámci systému - nejen uvnitř složky ~/.wine
V cestě k .exe používej jednoduchá "linuxácká" lomítka. Cesty dávat do uvozovek.
Těch debilních spouštěčů co se vytváří při instalaci si nevšímej - sice fungují taky, ale jsou zbytečně komplikované.
A ta mnohonásobná lomítka jsou přímo na facku.... :-\
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: Gmisiycs 25 Dubna 2019, 15:57:52
Pro inspiraci zkušeným i nezkušeným a pro vztek taktéž oběma táborům uvádím možný spouštěč, který u mne funguje. Jedná se o hru Warcraft 2, která musí jet na emulátoru Stratagus a ten jede pod WINE na Linuxu. Zadání zní komplikovaně a výsledný spouštěč hry umístěný v HOME/WAR2 je:
Kód: [Vybrat]
stratagus.exe... a to je vše přátelé.
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: juwa2 25 Dubna 2019, 16:00:58
Pro inspiraci zkušeným i nezkušeným a pro vztek taktéž oběma táborům uvádím možný spouštěč, který u mne funguje. Jedná se o hru Warcraft 2, která musí jet na emulátoru Stratagus a ten jede pod WINE na Linuxu. Zadání zní komplikovaně a výsledný spouštěč hry umístěný v HOME/WAR2 je:
Kód: [Vybrat]
stratagus.exe... a to je vše přátelé.

Neříkej, že tam nemusíš napsat aspoň cestu....
Ledaže by sis to umístění přidal do PATH
--------------------------------------------------------------------------------------------------------------------------------------
Jinak pro toho kdo má s vytvářením spouštěčů potíže, existuje hezká aplikace "Wine Launcher Creator" která mu spouštěč vytvoří....
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: Kattnienika 25 Dubna 2019, 16:08:24
Tak jsem to zkusila takto:
Kód: [Vybrat]
[Desktop Entry]
Encoding=UTF-8
Name=Heroes of Might and Magic III
Exec=env WINEPREFIX="/home/kattnienika/.wine" wine "/home/kattnienika/Hry/Heroes of Might and Magic III/HEROES3HD.exe"
Icon=/home/kattnienika/.icons/Heroes of Might and Magic III.ico
Terminal=false
Type=Application
Categories=Application;Game;
StartupNotify=false
Při vložení do terminálu:
Kód: [Vybrat]
kattnienika@Kattnienika-NTB:~$ Exec=env WINEPREFIX="/home/kattnienika/.wine" wine "/home/kattnienika/Hry/Heroes of Might and Magic III/HEROES3HD.exe"
0166:fixme:ver:GetCurrentPackageId (0x33e2f8 (nil)): stub
0166:fixme:ver:GetCurrentPackageId (0x33edc8 (nil)): stub
0166:err:ntdll:RtlpWaitForCriticalSection section 0x6ab800 "?" wait timed out in thread 0166, blocked by 0000, retrying (60 sec)
Pokud upravím spouštěč na spouštění HD Launcheru:
Kód: [Vybrat]
[Desktop Entry]
Encoding=UTF-8
Name=Heroes of Might and Magic III
Exec=env WINEPREFIX="/home/kattnienika/.wine" wine "/home/kattnienika/Hry/Heroes of Might and Magic III/HD_Launcher.exe"
Icon=/home/kattnienika/.icons/Heroes of Might and Magic III.ico
Terminal=false
Type=Application
Categories=Application;Game;
StartupNotify=false
Tak se vrátí chyba přímo ze launcheru, ale když launcher spustím přímo (Pravé tlačítko myší -> Spustit přes Wine) tak se normálně spustí.
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: Gmisiycs 25 Dubna 2019, 16:13:45
@juwa2:
Chtěl jsem ještě napsat dodatek, ale juwa2 mne předběhl. Cesta je skutečně zadaná  v etc/wine, nevybavuji si ale, jak k tomu došlo. Občas prostě narazím na návod, který jsem nehledal a využiji ho. Takových akcí jsou stovky mezi LTS verzemi. Takže jde to jednoduše.

Jak jsem momentálně prohledával komp, zjistil jsem, že programy, které si spouštěče vytvářely samy, vyvořily vždy bestiální link. Spouštěče, které jsem tvořil já mají obecný tvar ~/gmisiycs/openttd/openttd. Systém sám vybere wine, wine-stable nebo wine64 ke spuštění.

Von ten Linux bude chytřejší, než nám non-geekové tvrdí.

@Kattnienika:
To bude umět juwa2.
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: juwa2 25 Dubna 2019, 16:25:55
Tak jsem to zkusila takto:
Kód: [Vybrat]
[Desktop Entry]
Encoding=UTF-8
Name=Heroes of Might and Magic III
Exec=env WINEPREFIX="/home/kattnienika/.wine" wine "/home/kattnienika/Hry/Heroes of Might and Magic III/HEROES3HD.exe"
Icon=/home/kattnienika/.icons/Heroes of Might and Magic III.ico
Terminal=false
Type=Application
Categories=Application;Game;
StartupNotify=false
Při vložení do terminálu:
Kód: [Vybrat]
kattnienika@Kattnienika-NTB:~$ Exec=env WINEPREFIX="/home/kattnienika/.wine" wine "/home/kattnienika/Hry/Heroes of Might and Magic III/HEROES3HD.exe"
0166:fixme:ver:GetCurrentPackageId (0x33e2f8 (nil)): stub
0166:fixme:ver:GetCurrentPackageId (0x33edc8 (nil)): stub
0166:err:ntdll:RtlpWaitForCriticalSection section 0x6ab800 "?" wait timed out in thread 0166, blocked by 0000, retrying (60 sec)
Pokud upravím spouštěč na spouštění HD Launcheru:
Kód: [Vybrat]
[Desktop Entry]
Encoding=UTF-8
Name=Heroes of Might and Magic III
Exec=env WINEPREFIX="/home/kattnienika/.wine" wine "/home/kattnienika/Hry/Heroes of Might and Magic III/HD_Launcher.exe"
Icon=/home/kattnienika/.icons/Heroes of Might and Magic III.ico
Terminal=false
Type=Application
Categories=Application;Game;
StartupNotify=false
Tak se vrátí chyba přímo ze launcheru, ale když launcher spustím přímo (Pravé tlačítko myší -> Spustit přes Wine) tak se normálně spustí.

1.) Pokud chceš ten příkaz ze spouštěče použít v Terminálu, musíš ho zadávat bez toho úvodního "Exec=" tj. takto:
Kód: [Vybrat]
kattnienika@Kattnienika-NTB:~$ env WINEPREFIX="/home/kattnienika/.wine" wine "/home/kattnienika/Hry/Heroes of Might and Magic III/HEROES3HD.exe"
2.) Ujasni si, který soubor *.exe vlastně tu aplikaci opravdu spouští. Může tam být nějaký wrapper....

3.) Schválně zkus ten Wine Launcher Creator.
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: Kattnienika 25 Dubna 2019, 16:41:51
Snažíme se spustit tenhle:
Kód: [Vybrat]
[Desktop Entry]
Encoding=UTF-8
Name=Heroes of Might and Magic III
Exec=env WINEPREFIX="/home/kattnienika/.wine" wine "/home/kattnienika/Hry/Heroes of Might and Magic III/HD_Launcher.exe"
Icon=/home/kattnienika/.icons/Heroes of Might and Magic III.ico
Terminal=false
Type=Application
Categories=Application;Game;
StartupNotify=false
Jedná se o spouštěč, který spustí následně hru v rozlišení na celou obrazovku. Konkrétně jde o toto: https://sites.google.com/site/heroes3hd/eng/screenshots
V adresáři s hrou se jedná o soubor HD_Launcher.exe. Přes spouštěč na ploše nefunguje, ale když se ho pokusím otevřít přímo, je vše v pořádku. Pokud ho otevírám přes spouštěč na ploše tak se vrátí chyba (viz obrázek).

Přes ten program co jsi psal to také nejde.
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: juwa2 25 Dubna 2019, 16:59:53
Zkus si vytvořit "pomocný" skript *.sh  kterým budeš ten program spouštět. Jako příkaz do něj dej buďto
"/cesta/k/*.exe"
nebo
wine "/cesta/k/*.exe"

Pokud bude skript funkční (půjde jím program spouštět), dej do spouštěče na Ploše cestu k tomuto skriptu.
-----------------------------------------------------------------------------------------------------------------------------------------------------
Nebo zkus přímo do spouštěče dát:
Exec=sh -c "wine /cesta/k/*.exe"
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: Kattnienika 25 Dubna 2019, 17:04:39
Tak s tímhle budu potřebovat trochu více pomoci. O vytvoření scriptu slyším poprvé.
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: juwa2 25 Dubna 2019, 17:08:42
Tak s tímhle budu potřebovat trochu více pomoci. O vytvoření scriptu slyším poprvé.

Cože??  :o

Skript je spustitelný textový soubor. Většinou má koncovku .sh  a musí mít nastavenou spustitelnost.
Příklad skriptu viz obrázek. Řádek 1 je shebang. Další řádky už jsou příkazy které se postupně vykonají po spuštění skriptu.
Představ si, že potřebuješ v Terminálu spustit 10 příkazů. Zapíšeš je do skriptu a pak ten skript spustíš. Příkazy se vykonají.
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: Kattnienika 25 Dubna 2019, 17:41:46
Už chápu, vytvořila jsem tedy toto:
Kód: [Vybrat]
wine "/home/kattnienika/Hry/Heroes of Might and Magic III/HD_Launcher.exe"Ale výsledek je naprosto stejný jako předtím, opět ta chyba ke které jsem přikládala snímek obrazovky.

Ale k něčemu jsi mě inspiroval. Celý problém je v tom, že dochází ke spouštění mimo adresář s hrou. Proto jde spustit přímo (pravým tlačítkem myši). Protože když zadám do terminálu toto:
Kód: [Vybrat]
kattnienika@Kattnienika-NTB:~$ cd ~/Hry/"Heroes of Might and Magic III"/
kattnienika@Kattnienika-NTB:~/Hry/Heroes of Might and Magic III$ wine HD_Launcher.exe
01f1:fixme:ver:GetCurrentPackageId (0x33f148 (nil)): stub
Tak ke spuštění dojde. Teď z toho teoreticky udělat tedy jenom asi script, který toto vykoná (a nejlépe terminál automaticky zase uzavře).

Dodatek: Což by tedy znamenalo, že ve složce s hrou bych vytvořila soubor (třeba test.sh). V něm by pro spuštění bylo následující:
Kód: [Vybrat]
wine "HEROES3HD.exe"Spouštěč na ploše by vypadal asi nějak takto:
Kód: [Vybrat]
[Desktop Entry]
Encoding=UTF-8
Name=Heroes of Might and Magic III
Exec=tilix "/home/kattnienika/Hry/Heroes of Might and Magic III/test.sh"
Icon=/home/kattnienika/.icons/Heroes of Might and Magic III.ico
Terminal=false
Type=Application
StartupNotify=false
Což ale udělá to, že to pouze otevře tilix, ale příkaz nevykoná. A už vůbec nevím, jak zavřít terminál i když aplikace poběží.
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: juwa2 25 Dubna 2019, 17:56:44
Však ano. To přepnutí do toho adresáře (cd) napiš jako první příkaz toho skriptu.
Skript spouštěj spouštěčem. Spouštěč bude mít jako Exec=   cestu k tomu skriptu.
Terminál se při spouštění skriptů neotevírá. Skript bude vypadat tedy takto:
Kód: [Vybrat]
#!/bin/bash
cd ~/Hry/"Heroes of Might and Magic III"/
wine HD_Launcher.exe
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: Kattnienika 25 Dubna 2019, 18:04:55
Byl jsi rychlejší než jsem upravila příspěvek. :-)

Takže jsem vytvořila soubor test.sh a dala do adresáře s hrou. Obsah je tento:
Kód: [Vybrat]
#!/bin/bash
wine "HEROES3HD.exe"
cd jsem tam nedávala, protože už v tom adresáři je a je tedy příkaz zbytečný.

Spouštěč jsem upravila takto:
Kód: [Vybrat]
[Desktop Entry]
Encoding=UTF-8
Name=Heroes of Might and Magic III
Exec=/home/kattnienika/Hry/Heroes of Might and Magic III/test.sh
Icon=/home/kattnienika/.icons/Heroes of Might and Magic III.ico
Terminal=false
Type=Application
StartupNotify=false

Ale vrací mi chybu, že došlo k problému při spuštění aplikace (samotný script startuje). Možná proto, že při každém pokusu o ruční spuštění scriptu se mě systém dotazuje co s ním chci provést (zobrazit obsah, spustit,....)?

Dodatek: K čemu vlastně je to #!/bin/bash? Koukala jsem, že i bez toho script funguje.
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: juwa2 25 Dubna 2019, 18:09:00
Už chápu, vytvořila jsem tedy toto:
Kód: [Vybrat]
wine "/home/kattnienika/Hry/Heroes of Might and Magic III/HD_Launcher.exe"Ale výsledek je naprosto stejný jako předtím, opět ta chyba ke které jsem přikládala snímek obrazovky.

Ale k něčemu jsi mě inspiroval. Celý problém je v tom, že dochází ke spouštění mimo adresář s hrou. Proto jde spustit přímo (pravým tlačítkem myši). Protože když zadám do terminálu toto:
Kód: [Vybrat]
kattnienika@Kattnienika-NTB:~$ cd ~/Hry/"Heroes of Might and Magic III"/
kattnienika@Kattnienika-NTB:~/Hry/Heroes of Might and Magic III$ wine HD_Launcher.exe
01f1:fixme:ver:GetCurrentPackageId (0x33f148 (nil)): stub
Tak ke spuštění dojde. Teď z toho teoreticky udělat tedy jenom asi script, který toto vykoná (a nejlépe terminál automaticky zase uzavře).

Dodatek: Což by tedy znamenalo, že ve složce s hrou bych vytvořila soubor (třeba test.sh). V něm by pro spuštění bylo následující:
Kód: [Vybrat]
wine "HEROES3HD.exe"Spouštěč na ploše by vypadal asi nějak takto:
Kód: [Vybrat]
[Desktop Entry]
Encoding=UTF-8
Name=Heroes of Might and Magic III
Exec=tilix "/home/kattnienika/Hry/Heroes of Might and Magic III/test.sh"
Icon=/home/kattnienika/.icons/Heroes of Might and Magic III.ico
Terminal=false
Type=Application
StartupNotify=false
Což ale udělá to, že to pouze otevře tilix, ale příkaz nevykoná. A už vůbec nevím, jak zavřít terminál i když aplikace poběží.

Co tam dělá ten tilix ??  :o
Do příkazů ve spouštěčích to takto psát nelze, tam může být jen cesta k tomu skriptu. Vše ostatní musí být napsáno ve skriptu samotném.....
Skripty se spouští dvojklikem. Terminál se neotevírá. Pouze pokud chceš skript spustit v Terminálu, zvolíš tuto možnost ve správci souborů nebo otevřeš Terminál a zadáš:
/cesta/ke/skript.sh
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: Kattnienika 25 Dubna 2019, 18:11:35
Byl jsi rychlejší než jsem upravila příspěvek. :-)

Takže jsem vytvořila soubor test.sh a dala do adresáře s hrou. Obsah je tento:
Kód: [Vybrat]
#!/bin/bash
wine "HEROES3HD.exe"
cd jsem tam nedávala, protože už v tom adresáři je a je tedy příkaz zbytečný.

Spouštěč jsem upravila takto:
Kód: [Vybrat]
[Desktop Entry]
Encoding=UTF-8
Name=Heroes of Might and Magic III
Exec=/home/kattnienika/Hry/Heroes of Might and Magic III/test.sh
Icon=/home/kattnienika/.icons/Heroes of Might and Magic III.ico
Terminal=false
Type=Application
StartupNotify=false

Ale vrací mi chybu, že došlo k problému při spuštění aplikace (samotný script startuje). Možná proto, že při každém pokusu o ruční spuštění scriptu se mě systém dotazuje co s ním chci provést (zobrazit obsah, spustit,....)?

Dodatek: K čemu vlastně je to #!/bin/bash? Koukala jsem, že i bez toho script funguje.

Už to tam není, byl to pokus o spuštění a omylem jsem to dala i sem. Přecvakla jsem se v tom co sem kopíruji. Tohle co tady cituji je aktuální stav. :)
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: juwa2 25 Dubna 2019, 18:16:52
Pokud je skript v pracovním (aktuálním) adresáři, cestu (cd) zadávat nemusíš, ale v tom případě je třeba to zadat takto:
Kód: [Vybrat]
./test.shK čemu je shebang si vygoogli (shell, bash).
Ano, při ručním spuštění skriptu se zobrazí dotaz viz obrázek.
Zkrátka zkoušej dál, inspiraci máš....
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: Kattnienika 25 Dubna 2019, 19:07:35
Moc děkuji za trpělivost a rady. :-)

Nakonec se podařilo. Script tedy vypadá takto:
Kód: [Vybrat]
#!/bin/bash
cd ~/Hry/"Heroes of Might and Magic III"
wine "./HEROES3HD.exe"
Bylo potřeba vrátit cd, protože pokud script vypadal takto tak se nic nedělo :-O
Kód: [Vybrat]
#!/bin/bash
wine "./HEROES3HD.exe"
A spouštěč na ploše takto:
Kód: [Vybrat]
[Desktop Entry]
Encoding=UTF-8
Name=Heroes of Might and Magic III
Exec=bash "/home/kattnienika/Hry/Heroes of Might and Magic III/Spouštěč.sh"
Icon=/home/kattnienika/.icons/Heroes of Might and Magic III.ico
Terminal=false
Type=Application
StartupNotify=false
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: Gmisiycs 25 Dubna 2019, 19:27:14
Jak zprovoznit hru Heroes of Might and Magic III na Ubuntu 18.04. s využitím WINE

Šikovná Kattnienika. Za domácí úkol můžete jako právoplatný a zkušený Linuxák zpracovat návod s výše uvedeným názvem do samostatného vlákna a zapsat se tak navěky do historie.

Název: Re:DirectPlay - Zamrznutí
Přispěvatel: Kattnienika 26 Dubna 2019, 07:51:42
Jak zprovoznit hru Heroes of Might and Magic III na Ubuntu 18.04. s využitím WINE

Šikovná Kattnienika. Za domácí úkol můžete jako právoplatný a zkušený Linuxák zpracovat návod s výše uvedeným názvem do samostatného vlákna a zapsat se tak navěky do historie.

Už jsem nad tím taky přemýšlela a mám to v plánu. :-D
Název: Re:DirectPlay - Zamrznutí
Přispěvatel: Gmisiycs 26 Dubna 2019, 17:06:37
Kattnienika nekecala a domácí úkol zmákla do druhého dne. Výsledek je zde: https://forum.ubuntu.cz/index.php?topic=84395.0;topicseen
Za nezůčastněné i zůčastněné děkuji.

Jelikož občas páchám jazykové korektury, připojím i konstruktivní kritiku:
_________________________
Do SZ vy mudlové  :D