League of Legends
League of Legends は Riot Games によって開発されている Microsoft Windows と OS X 向けのマルチプレイヤーオンラインバトルアリーナ (MOBA) ビデオゲームです。このページでは Wine を使用して Windows 版の League of Legends を動作させる方法を説明しています。
インストール
Lutris を使う方法
- AUR から lutrisAUR をインストール。
- https://lutris.net/games/league-of-legends/ からゲームをインストール。
- インストールが完了してログインしたら、クライアントの右上の歯車から "low spec mode" にチェックを入れて "close client during game" のチェックを外す。
PlayOnLinux を使う方法
この方法で League of Legends をインストールする場合、playonlinux をインストールしなければなりません。最初の起動時に PlayOnLinux は必要なフォントをインストールします。その後、Install をクリックして "testing box" にチェックを入れて "League of Legends" を検索してください。後はそのままインストールするだけです。
DirectX がインストールできないとインストーラーに言われる場合は、以下のパッケージをインストールしてください:
PlayOnLinux 5
- playonlinux5-gitAUR をインストール
- PlayOnLinux を開いて Apps -> Games -> "League of Legends BETA Client" を選択
- インストールをクリック
- ライブラリから "League of Legends BETA Client" を起動
- BETA クライアントにアップグレード
- アップグレードを待機してからランチャーを終了
- ライブラリから BETA クライアントを起動
AUR パッケージ
AUR に存在する leagueoflegendsAUR パッケージを利用することで、#Wine を使う方法に書かれているのと一緒の方法で簡単にインストールすることができます。パッケージはゲームのインストーラーを /opt/games/leagueoflegends
にダウンロードしてゲームが遊べるように Wine 環境を自動的に設定します。さらに、ゲームを起動するための bash スクリプトと .desktop
ファイルも作成します。
leagueoflegends-gitAUR パッケージでも同じようにインストールされます。
Wine を使う方法
32ビットの Wine PREFIX の作成
システムに wine をインストールして以下を実行:
# WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winecfg
$HOME/.wine
にデフォルトの32ビットの prefix が作成されます。何かインストールするように要求されたら (Wine Mono や Wine Gecko など) 全てインストールしてください。その後、Windows のバージョンが Windows XP に設定されていることを確認してください。
依存パッケージのインストール
必要なパッケージをシステムにインストールしてください:
- lib32-alsa-lib (PulseAudio を使用している場合: lib32-alsa-plugins と lib32-libpulse)
- lib32-libldap
- lib32-lcms2
- lib32-gnutls
- winetricks
winetricks を使用して以下の windwos コンポーネントをインストールします:
# WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winetricks d3dx9 vcrun2005 wininet corefonts adobeair ie8
adobeair のインストールに問題が発生する場合、winecfg で設定を変更する必要があります:
# WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winecfg
ライブラリタブを開いて、既存ライブラリのリストから dnsapi
を探して (存在しない場合は新しいエントリを作成してください)、編集をクリックして Native then Builtin
を設定してください。
クライアントのインストール
Windows インストーラーを使う
ライアットゲームズのサイトから最新のインストーラーをダウンロードしてください: https://signup.jp.leagueoflegends.com/ja/signup/redownload 。解凍したら msiexec を使用して起動します:
$ mkdir /tmp/lol_installer $ WINEARCH=win32 WINEPREFIX=$HOME/.wine32 wine /PATH/TO/INSTALLER.exe /extract:Z:/tmp/lol_installer $ WINEARCH=win32 WINEPREFIX=$HOME/.wine32 wine msiexec /i /tmp/lol_installer/LoL.XXX.msi
XXX はインストーラーのリージョンに置き換えてください。
それからインストーラーのメニューに従ってインストールを進めてください。
ゲームの既存のコピーを使う
既存の Windows 版を使用する方法は複数存在します (Windows XP 以上が必要です):
- Windows が入ったマシンを使って 8GB 以上の USB フラッシュドライブや外付け HDD にゲームをインストールする (ハードディスクにゲームをインストールしてから不要なファイルを削除することで容量は節約できます)。
- 仮想化ソフトウェア (VirtualBox や VMWare Player など) をインストールして中に Windows 環境をセットアップする。ネットワークに接続していることを確認して、League of Legends をインストールし、仮想マシンとホストマシンで共同で使える共有フォルダをセットアップしてから、インストールした League of Legends を共有フォルダに移動してください。そしてホスト環境から共有フォルダに入っているファイルを Wine Prefix に移動します。
- デュアルブートにしている場合、Windows 環境に League of Legends をインストールして、Linux からハードドライブをロードしてください (ntfs-3g が必要で、
/etc/fstab
で exec オプションを設定する必要があります)。そして Windows ドライブから Wine Prefix にシンボリックリンクを作成してください。
- playonlinux でインストーラーが動作しないか確かめてみてインストールできたら、playonlinux の wineprefix から wine32 の prefix に移動できます。playonlinux はアンインストールしてかまいません。
ゲームを入手できたら、以下のコマンドを使って wine32 prefix に移動あるいはシンボリックリンクを作成してください (フォルダは適当に置き換えてください):
# ln -s /mnt/windows/Riot\ Games/ $HOME/.wine32/drive_c/ # mv /media/removable/Riot\ Games/ $HOME/.wine32/drive_c/
Wine でゲームを起動する
32ビットの Wine 環境を起動するエイリアスを (~/.bashrc
) に作成してください。必須ではありませんが、32ビットの wine prefix で上手く動作する他のプログラムを動かすときも使えます。
# alias wine32='env WINEARCH=win32 WINEPREFIX="$HOME/.wine32" wine'
上記のエイリアスでは winecfg は起動しますが winetricks は機能しなくなります (winetricks を起動するには設定が必要になります)。
エイリアスを作成したらゲームを実行する bash スクリプトあるいはエイリアスを作ります。
サンプル Bash スクリプト:
/bin/leagueoflegends
#!/bin/sh pushd $HOME/.wine32/drive_c/Riot\ Games/League\ of\ Legends/RADS/system/ WINEARCH=win32 WINEPREFIX=$HOME/.wine32 wine rads_user_kernel.exe run lol_launcher $(ls ../projects/lol_launcher/releases/) LoLLauncher.exe popd
作成したらファイルに実行可能属性を付与してください:
# chmod +755 /bin/leagueoflegends
エイリアスの例 ($HOME/.bashrc
):
# alias League_of_Legends='pushd $HOME/.wine32/drive_c/Riot\ Games/League\ of\ Legends/RADS/system/ && wine32 rads_user_kernel.exe run lol_launcher $(ls ../projects/lol_launcher/releases/) LoLLauncher.exe && popd'
サンプルショートカット (bash スクリプトを作成した場合、steam からゲームを起動したいときに有用です):
/usr/share/applications/LeagueofLegends.desktop
[Desktop Entry] Name=League of Legends Comment=Runs League of Legends through a 32-bit Wine installation. Exec=/bin/leagueoflegends Terminal=false Type=Application Icon=LoL_Icon.png Categories=Wine;Game;
アプリケーションアイコンを使いたい場合、(imagemagick や gimp を使って) */RADS/system/lol.ico
を PNG 形式に変換するか、別のところからアイコン (48x48 アイコン) をダウンロードしてホームディレクトリの ~/.icons/
フォルダに配置してください。
Bash スクリプト・エイリアス・ショートカットのどれかを起動すればゲームが遊べるはずです。
ゲームが動作するのをテストするには、ボットが存在する Summoner's Rift カスタムマッチを作成してください。試合がロードされ、ゲーム内のストアを開いてもクラッシュしなければ、完璧です。Congratulations!
リーグクライアントのオープンベータを使う
新しい League Client を試したい場合、アップグレードボタンをクリックしてください。クライアントを起動するにはライブラリを上書きする必要があります。
# WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winecfg
ライブラリタブで、以下を追加してください:
- msvcp140 (Native, then builtin)
- vcomp140 (Native, then builtin)
- vcruntime140 (Native, then builtin)
上のスクリプトを改造することでベータ版を起動させることができます:
/bin/leagueoflegends
#!/bin/sh # case $1 in beta) pushd $HOME/.wine32/drive_c/Riot\ Games/League\ of\ Legends/ WINEARCH=win32 WINEPREFIX=$HOME/.wine32 wine LeagueClient.exe ;; *) pushd $HOME/.wine32/drive_c/Riot\ Games/League\ of\ Legends/RADS/system/ WINEARCH=win32 WINEPREFIX=$HOME/.wine32 wine rads_user_kernel.exe run lol_launcher $(ls ../projects/lol_launcher/releases/) LoLLauncher.exe ;; esac popd
以下のコマンドでベータ版が起動します:
# leagueoflegends beta
トラブルシューティング
ヒント
- ミニマップが点滅したり FPS が極端に低い場合、ゲーム内のオプションで HUD アニメーションを無効化することでパフォーマンスを向上させることができます。
- 特定の Intel のカードでは、垂直同期を有効にすることでパフォーマンスが著しく向上します。
- マップが暗すぎる場合、使用しているグラフィックカードのプロプライエタリドライバーをインストールすることで解決することがあります。
- ゲーム内オプションでアンチエイリアス・垂直同期・フレームレートキャップを無効化することで、カードによってはパフォーマンスが著しく上昇します。
- USB のサウンドカードを使っている場合にゲーム内の音声が鳴らない場合、wine-staging をインストールすることで解決することがあります。
接続の問題
Connection Error: connection failure unable to connect to the pvp.net server
認証やログインは成功するのに、エラーによって接続が失敗することがあります。https://appdb.winehq.org/objectManager.php?sClass=version&iId=19141 によれば、TCP タイムスタンプを無効化することで解決します:
# sysctl -w net.ipv4.tcp_timestamps=0
永続的に設定するには:
# echo "net.ipv4.tcp_timestamps = 0" > /etc/sysctl.d/10-tcp-timestamps.conf
ログインサーバーから返答がない
wininet
ライブラリを正しく設定する必要があります:
# WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winecfg
ライブラリタブで、wininet
ライブラリの設定を Built-in then native
に編集してください。詳しくは、このスレッド を参照。
また、以下の変数を起動コマンドに追加することでライブラリを無効化することができます:
WINEDLLOVERRIDES='wininet=b,n'
ランチャーの問題
起動画面が真っ黒
Xorg#ドライバーのインストールの OpenGL (Multilib) に書かれている32ビットのグラフィックドライバーをインストールしてください。
ゲーム内のショップがクラッシュする
Config/game.cfg
ファイルを編集して [General]
セクションに x3d_platform=1
を追加してください:
[General] x3d_platform=1
このオプションによって OpenGL レンダラーに切り替わります。
ストアの Authentication Required
"Browse the Store" をクリックしたときに "Authentication Required" というタイトルのダイアログボックスに "Please enter your username and password: Server store.XX#.lol.riotgame.com" と表示された場合、あなたのユーザー名とパスワードを入力してはいけません。OK をクリックすると黒いテキストで画面が埋まってしまい、Cancel をクリックするとネットワークがタイムアウトエラーを起こします。
解決方法: ログイン後、YouTube 動画やパッチノートなどへのリンクがあるホーム画面が表示されます。ホーム画面にはゲーム内のショップで現在行われているセールへのリンクが存在するはずです。その中のセールをクリックすることで (例: a skin that is on sale
)、自動的に認証が行われてゲーム内のショップに入れます。結果としてセッションエラーや再認証のバグは起こりません。
参照: Play on Linux のスレッド。
AMD のプロプライエタリ fglrx ドライバーを使っている場合にチャンピオンを選択するとフリーズする
プロプライエタリの AMD fglrx ドライバーをインストールしている場合、winetricks から directx9
パッケージをインストールする必要があります (d3dx_y ではありません)。
ゲーム内の問題
d3dstream パッチがあたった Wine を使用する場合
- パッチによる性能向上を適用するには Wine にレジストリキーを追加する必要があります。詳しくは こちら を参照。
- d3dstream パッチがあたっている wine でランチャーストアにアクセスできない場合、以下のコマンドを使ってデフォルトの64ビットプレフィックスからゲームを起動することで問題を回避できます。試合を始める前にゲームを再起動する必要があります。
$ wine .wine32/drive_c/Riot\ Games/League\ of\ Legends/lol.launcher.exe
PlayOnLinux のトラブルシューティング
- Bugsplat が表示される: PlayOnLinux の Wine バージョンの設定が必要です。設定アイコンをクリックして、Wine のバージョンを 1.9-LeagueOfLegends から system に変更してください。また、lib32-libldap のインストールが必要です。
- Adobe Air が見つからない: lib32-lcms2 をインストールしてください。
- ログインサーバーが返答しない:
PlayOnLinux には汎用バージョンの libgcrypt から PlayOnLinux の使用しているバージョンの libgcrypt へのシンボリックリンクが存在しません。問題の Wine のバージョンのフォルダを確認して手動でリンクを作成することで解決できます (ARCH は x86 または amd64 に、VERSION は使用している Wine のバージョンに置き換えてください):
$ cd ~/.PlayOnLinux/wine/linux-ARCH/VERSION/lib $ ln -s libgcrypt.so.11.* libgcrypt.so.11 $ ln -s libgcrypt.so.11 libgcrypt.so
上記のシンボリックリンクを作成してもログインができない場合、lib32-gnutls を手動でインストール・再インストールしてください。
- 音が鳴らない: lib32-alsa-lib をインストールしてください (PulseAudio を使っている場合 lib32-alsa-plugins と lib32-libpulse をインストールしてください)。
- (ルーンを購入するための) ストアが真っ黒: PlayOnLinux のコンポーネントで IE8 をインストールしてください。
- チャンピオンを選択した後にクラッシュする: PlayOnLinux のコンポーネントで directx9 をインストールしてください。