League of Legends
League of Legends は Riot Games によって開発されている Microsoft Windows と OS X 向けのマルチプレイヤーオンラインバトルアリーナ (MOBA) ビデオゲームです。このページでは Wine を使用して Windows 版の League of Legends を動作させる方法を説明しています。
インストール
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 インストーラーを使う
Wine の32ビット prefix を使用してインストーラーを起動するには、以下のコマンドを実行:
GC_DONT_GC=1 WINEARCH=win32 WINEPREFIX=$HOME/.wine32 wine /PATH/TO/INSTALLER.exe
インストーラーのメニューに従ってインストールを進めてください。
ゲームの既存のコピーを使う
There are several ways to do this, the Windows version (as long as it can run the Installer which probably requires Windows XP or newer) here are a few methods.
- Get access to a physical Windows based machine, in your home or at your neighbors/friends place, bring a 8GB USB flash drive or external HDD with you and install the game on it. (If you do not have a 16GB flash drive you can use a smaller one and make a few round trips after installing the game on the HDD instead.)
- 仮想化ソフトウェア (VirtualBox や VMWare Player など) をインストールして中に Windows 環境をセットアップしてください。ネットワークに接続していることを確認して、League of Legends をインストールし、仮想マシンとホストマシンで共同で使える共有フォルダをセットアップしてから、インストールした League of Legends を共有フォルダに移動してください。そしてホスト環境から共有フォルダに入っているファイルを Wine Prefix に移動します。
- If you already have a Dual-Boot setup, you can just install League of Legends onto the Windows installation, load the hard drive to Linux (requires ntfs-3g, may also require you to set the exec option in /etc/fstab for the drive) then proceed to the next step and symlink the folder from your Windows drive to your Wine Prefix.
- See if the installer works with playonlinux. If it does then install it, move the folder from the playonlinux wineprefix to the wine32 prefix and uninstall playonlinux again (or keep it if you would like)
After you get your hands on the game, either move or symlink it to your wine32 prefix, using either of these commands (assuming you have a dual boot setup and your windows partition is mounted at /mnt/windows, or you have the game on a USB flash drive mounted at /media/removable):
# 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'
The above alias will work with winecfg, it will however not work with winetricks (to run winetricks you need to do it like done formerly in this guide)
Create a bash script or an alias with the following commands:
サンプル 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'
ランチャーの問題
起動画面が真っ黒
libgl の lib32 版がインストールされていることを確認してください: lib32-mesa-libgl[リンク切れ: replaced by lib32-mesa], lib32-nvidia-libgl[リンク切れ: replaced by lib32-nvidia-utils], lib32-catalyst-utilsAUR/lib32-catalyst-libgl。
ゲーム内のショップがクラッシュする
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 をインストールしてください。