staging.inyokaproject.org

League of Legends

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

logo.jpg League of Legends 🇩🇪 ist ein Strategiespiel von RIOT Games 🇬🇧, inspiriert durch die 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.

screenshot1.jpg screenshot2.jpg screenshot3.jpg
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

Achtung!

Zusätzliche Fremdquellen können das System gefährden.

Das vorkompilierte wine kann von m-reimer.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 heruntergeladen 🇩🇪 werden.

Mit der Installationsdatei kann League of Legends ganz normal mit Wine [2] installiert werden:

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:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/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):

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

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]:

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 Alt zu Programmabstürzen kommt, hilft es, in den Ingame-Einstellungen von "Fullscreen" auf "Windowed" oder "Borderless" umzustellen.

Wiki/Icons/games.png

Infobox

League of Legends
Genre: Strategie
Sprache: 🇩🇪 🇬🇧 🇫🇷 🇪🇸
Veröffentlichung: 22.09.2009
Systemvoraussetzungen: Empfohlen: 3 GHZ Prozessor, 1 GB Ram, GeForce 8800 oder äquivalente Grafikkarte
Medien: Download / Collector's Pack
Läuft mit: Wine

Diese Revision wurde am 3. November 2020 20:32 von haveaproblem erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Strategie, Windows-Spiel, Spiele