[[Vorlage(Getestet, focal)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Wine: Wine verwenden] [:Pakete installieren: Installation von Programmen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(logo.jpg,128,align=left)]] [http://eu.leagueoflegends.com/de League of Legends] {de} ist ein Strategiespiel von [http://www.riotgames.com/ RIOT Games] {en}, inspiriert durch die [:Archiv/Spiele/Warcraft_III: Warcraft III]-Modifikation DOTA (Defense of the Ancients). Einige der Entwickler von League of Legends haben sogar früher an DOTA mitgearbeitet. Das Spiel ist kostenlos, man kann sich jedoch zusätzliche Bezahlpunkte kaufen, mit denen man im Spiel z.B. Skins erwerben kann. Das Spiel gibt es zwar nur für Windows und OS X, aber mit einigen Kniffen kann League of Legends auch unter Linux mit [:Wine:] [2] ausgeführt werden. {{{#!vorlage Tabelle [[Bild(screenshot1.jpg, x175)]] <:>[[Bild(screenshot2.jpg, x175)]] <:>[[Bild(screenshot3.jpg, x175)]] +++ < <:>Spielszene <:>Spielszene <:>Spielszene }}} = Bekannte Probleme = * Manchmal bleibt der Launcher beim Start bei dem Check der Updates hängen, wiederholtes Starten behebt dieses Problem jedoch. * Der Client benötigt im Gegensatz zu Windows mehrere Minuten zum starten * Nach einem Spiel kann es eine Weile dauern, bis der Client sich aktualisiert und angibt, dass das Spiel beendet ist. Dieser Prozess kann durch das manuelle beenden der "League of Legends.exe" und aller LeagueCrashHand Prozesse beschleunigt werden. * Nach einem Spiel realisiert der Client nicht, dass dieses beendet wurde, hier müssen die Prozesse "League of Legends.exe" sowie "winedbg" manuell beendet werden. = Installation = Zur Installation muss ein wine-staging mit einem gepatchten glibc verwendet werden. Zurzeit kann dafür ein vorkompiliertes wine benutzt werden. == Installation mit einem vorkompiliertem wine == {{{#!vorlage Warnung Zusätzliche [:Fremdquellen:] können das System gefährden. }}} Das vorkompilierte wine kann von [https://m-reimer.de/wine-lol/debian/ m-reimer.de] {de} heruntergeladen werden. Anschließend können die beiden Pakete installiert werden, hierbei muss zuerst das Paket '''wine-lol-glibc_x.xx-1_i386.deb''' installiert werden, da dieses eine Abhängigkeit für das zweite Paket '''wine-lol_x.xx-1_i386.deb''' ist. == Installation von League of Legends == Die Installationsdatei kann von der offiziellen Website [https://signup.euw.leagueoflegends.com/de/signup/redownload?page_referrer=index heruntergeladen] {de} werden. Mit der Installationsdatei kann League of Legends ganz normal mit Wine [2] installiert werden: {{{#!vorlage Befehl WINEPREFIX=$HOME/lol-wine /opt/wine-lol/bin/wine "/Pfad/zur/installationsdatei.exe" }}} = Starten = Bei einem normalen Start von League of Legends kommt es dazu, dass der Prozess LeagueClientUX.exe zu lange braucht um eine Antwort von den Riot Games Servern zu erhalten und sich dann schließt. Zur Umgehung dieses Problems kann man diesen Prozess einfrieren, bis er eine Antwort von den Servern erhält. Dazu eignet sich das folgende Script: {{{#!code bash #!/bin/sh ########################################## # Originale Autoren des Scriptes: # # https://www.reddit.com/user/FakedCake/ # # https://gist.github.com/ldericher # # https://gist.github.com/ObserverOfTime # ########################################## ############# # CONSTANTS # ############# UX_NAME='LeagueClientUx.exe' ############# # FUNCTIONS # ############# die() { printf 'ERROR: %s\n' "${1}" exit 1 } wait_for() { timeout "${1}" sh -c "until ${2}; do sleep 1; done" } ######## # MAIN # ######## # find pid of LeagueClientUx process printf 'Waiting for process of "%s" ... ' "${UX_NAME}" ux_pid=$(wait_for 2m "pidof '${UX_NAME}'") printf 'OK\n' if [ -z "${ux_pid}" ]; then die "Could not find processes of '${UX_NAME}'" fi printf '%s pid found: %d\n' "${UX_NAME}" "${ux_pid}" # find port of LeagueClientUx process ux_port=$(sed -rn 's/.*--app-port=([0-9]+).*/\1/p' "/proc/${ux_pid}/cmdline") if [ -z "${ux_port}" ]; then die "Could not find port of '${UX_NAME}' process!" fi printf '%s port found: %d\n' "${UX_NAME}" "${ux_port}" # pause LeagueClientUx process kill -STOP "${ux_pid}" printf 'Waiting for port %s ... ' "${ux_port}" wait_for 5m "printf 'Q\n' | openssl s_client -connect ':${ux_port}' >/dev/null 2>&1" printf 'OK\n' # continue LeagueClientUx process kill -CONT "${ux_pid}" # finalize printf '%s continues, my job is done!\n' "${UX_NAME}" }}} Dieses zum Beispiel unter dem Namen launchhelper.sh abspeichern und vor dem Start von League of Legends ausführen. Zum Start des Spiels diesen Befehl ausführen (gilt für das beispielhafte Prefix lol-wine): {{{#!vorlage Befehl WINEPREFIX=$HOME/lol-wine /opt/wine-lol/bin/wine /Pfad/zu/Riot\ Games/Riot\ Client/RiotClientServices.exe --launch-patchline=live --launch-product=league_of_legends }}} ''Pfad/zu'' ist selbstverständlich mit dem korrekten Pfad zu ersetzen. = Problembehebung = == League of Legends startet wegen fehlenden DLLs nicht== Die Fehlermeldung sieht im Terminal in etwa so aus: {{{ 002b:err:module:load_so_dll failed to load .so lib "/opt/wine-lol/bin/../lib32/wine/wldap32.dll.so": /opt/wine-lol/lib32/libcrypt.so.1: version \XCRYPT_2.0' not found (required by /lib/i386-linux-gnu/libkrb5.so.26)` 002b:err:module:import_dll Loading library WLDAP32.dll (which is needed by L"Z:$PREFIX\\drive_c\\Riot Games\\League of Legends\\GCloudVoice.dll") failed (error c000007a). 002b:err:module:import_dll Library GCloudVoice.dll (which is needed by L"Z$PREFIX\\drive_c\\Riot Games\\League of Legends\\LeagueClient.exe") not found 002b:err:module:LdrInitializeThunk Importing dlls for L"Z:$PREFIX\\drive_c\\Riot Games\\League of Legends\\LeagueClient.exe" failed, status c0000135 }}} Die von wine-lol bereitgestellte '''libcrypt.so.1''' kann in diesem Fall gelöscht werden, um den Fehler zu beheben, mit {{{ sudo rm -rf /opt/wine-lol/lib32/libcrypt.so.1 }}} == Zuviel CPU Auslastung durch den Client == Falls der Client beim Start auf mehreren Kernen 100% CPU Auslastung erzeugt kann dieser entweder solange neugestartet werden, bis dieses Problem nicht mehr vorliegt oder der Client wird immer mit dem Zusatz {{{#!vorlage Befehl taskset -c 0 }}} gestartet. == Kein Sound == Falls im Spiel kein Ton ausgegeben wird, sollte es helfen, eine Einstellung in Wine mittels winecfg zu machen [1]: {{{#!vorlage Befehl env WINEPREFIX=$HOME/wine-lol winecfg }}} Im sich öffnenden Fenster wählt man den Reiter ''"Bibliotheken"'', schreibt `mmdevapi` in das Feld ''"Neue Überschreibung für"'' und klickt auf ''"Hinzufügen"''. Nun wird in der Liste ''"mmdevapi"'' ausgewählt und mittels des ''"Bearbeiten"''-Knopfes auf ''"Ausschalten"'' gesetzt. == Tastenkombinationen mit "Alt" führen zum Absturz == Wenn es bei Kombinationen mit [[Vorlage (Tasten, "Alt")]] zu Programmabstürzen kommt, hilft es, in den Ingame-Einstellungen von ''"Fullscreen"'' auf ''"Windowed"'' oder ''"Borderless"'' umzustellen. [[Bild(Wiki/Icons/games.png, 48, right)]] = Infobox = ||<-2 tablestyle="width: 97%;" rowclass="verlauf">League of Legends|| ||Genre:|| Strategie || ||Sprache:|| {de} {en} {fr} {es} || ||Veröffentlichung:|| 22.09.2009 || ||Systemvoraussetzungen:|| Empfohlen: 3 GHZ Prozessor, 1 GB Ram, GeForce 8800 oder äquivalente Grafikkarte || ||Medien:|| Download / Collector's Pack|| ||<-2 rowstyle="background-color: #F9EAAF;">|| ||Läuft mit:|| [:Wine:] || = Links = * [https://appdb.winehq.org/objectManager.php?sClass=application&iId=10436 AppDB Eintrag von League of Legends] {en} * [https://eu.leagueoflegends.com/de Offizielle Seite] {de} * [https://www.gamestar.de/artikel/league_of_legends,2311214.html Test von GameStar.de] {de} * [:PlayOnLinux:] #tag: Spiele, Windows-Spiel, Strategie