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" を検索してください。後はそのままインストールするだけです。
AUR パッケージ
AUR に存在する leagueoflegendsAUR パッケージを利用することで、#Wine を使う方法に書かれているのと一緒の方法で簡単にインストールすることができます。パッケージはゲームのインストーラーを /var/games/leagueoflegends
にダウンロードしてゲームが遊べるように Wine 環境を自動的に設定します。さらに、ゲームを起動するための bash スクリプトと .desktop
ファイルも作成します。
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.)
- Install a virtualization software (like Virtualbox or VMWare Player) and set up a Windows installation inside of it. Make sure it has a network connection, then install League of Legends on it, set up a shared folder between the VM and the host machine, and move the League of Legends installation into it, then from the Host system you can proceed to the next step and move the installation from the shared folder into your 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/
互換性を高める設定 (任意)
- ホストネーム (チャンピオンの選択画面の後にゲームがクラッシュする問題を修正)
まず自分のホストネームを確認:
# cat /etc/hostname
それから、/etc/hosts
ファイルにホストネームが書かれているのを確認:
# nano /etc/hosts
localhost を全て先のコマンドで確認したホストネームに置き換えてください (システムの再起動が必要です。再起動しないとチャンピオンを選択した後に "Bad Window" エラーが表示されます)。
- テクスチャパッチ (ゲーム内のストアを開いたときにクラッシュする問題を修正)
インゲームショップのアイコンのミップマップにパッチをあてる必要があります。Wine 自体 にパッチをあてる方法もあります。
Wine やテクスチャファイルにパッチをあてるかわりに .../Config/Game.cfg
を編集して [General] セクションの下に x3d_platform=1
を追加する方法でも問題ありません。wine 1.7.53 で確認済みです。
LoL-Linux-Tools をダウンロードして適当な場所にファイルを展開し、config.py
をお好きなエディタで編集して絶対パスを設定してください:
lol_path = '/home/USERNAME/.wine32/drive_c/Riot Games/League of Legends/'
そして次のコマンドでパッチを実行:
# python2 lol_linux.py texture_patch
If all went well, you will see an output explaning what the patch is doing (unpacking a bunch of dds files from an archive, patching out the mipmaps in them, archiving them again, and then it will be done, this takes a few) And now your LoL client should finally be working!
You can create an alias in .bashrc to automate this process a bit.
alias lol-update='python2 $HOME/.lol_patch/lol_linux.py texture_patch'
The patch will only take long to finish the first time you run it, as it does not need to patch all of the files again, only the ones that are new or have changed.
Wine でゲームを起動する
Create an alias to execute the 32-bit Wine installation (in ~/.bashrc) this is not really a required step, but just a good practice since you can use this to run other programs that play better with a 32-bit wine prefix than a 64-bit one.
# 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='popd $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 && pushd'
サンプルショートカット (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!
トラブルシューティング
ヒント
- ミニマップが点滅したり FPS が極端に低い場合、ゲーム内のオプションで HUD アニメーションを無効化することでパフォーマンスを向上させることができます。
- 特定の Intel のカードでは、垂直同期を有効にすることでパフォーマンスが著しく向上します。
- マップが暗すぎる場合、使用しているグラフィックカードのプロプライエタリドライバーをインストールすることで解決することがあります。
- ゲーム内オプションでアンチエイリアス・垂直同期・フレームレートキャップを無効化することで、カードによってはパフォーマンスが著しく上昇します。
- USB のサウンドカードを使っている場合にゲーム内の音声が鳴らない場合、wine-staging をインストールすることで解決することがあります。
起動画面が真っ黒
libgl の lib32 版がインストールされていることを確認してください: lib32-mesa-libgl, lib32-nvidia-libgl, lib32-catalyst-utilsAUR/lib32-catalyst-libgl。
ログインサーバーから返答がない
wininet
ライブラリを正しく設定する必要があります:
# WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winecfg
ライブラリタブで、wininet
ライブラリの設定を Built-in then native
に編集してください。詳しくは、このスレッド を参照。
また、以下の変数を起動コマンドに追加することでライブラリを無効化することができます:
WINEDLLOVERRIDES='wininet=b,n'
d3dstream パッチがあたった Wine を使用する場合
- パッチによる性能向上を適用するには Wine にレジストリキーを追加する必要があります。詳しくは こちら を参照。
- d3dstream パッチがあたっている wine でランチャーストアにアクセスできない場合、以下のコマンドを使ってデフォルトの64ビットプレフィックスからゲームを起動することで問題を回避できます。試合を始める前にゲームを再起動する必要があります。
$ wine .wine32/drive_c/Riot\ Games/League\ of\ Legends/lol.launcher.exe
ゲーム内のショップがクラッシュする
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 のスレッド。
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
AMD のプロプライエタリ fglrx ドライバーを使っている場合にチャンピオンを選択するとフリーズする
プロプライエタリの AMD fglrx ドライバーをインストールしている場合、winetricks から directx9
パッケージをインストールする必要があります (d3dx_y ではありません)。
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 をインストールしてください。