Linux wine国服LOL英雄联盟,完美运行!!
Tofloor
poster avatar
zhtengw
deepin
2013-03-20 21:26
Author
Linux下玩国服LOL,国服哦。
网络上随处都可以搜到wine美服LOL的教程,但腾讯运营的国服客户端跟美服原版相差比较大,按照美服的方式不能搞起国服LOL,由于宿舍文化,这几天我专注于wine一个国服LOL,对照winehq网站上的LOL相关的bug列表和美服的配置方法,试了各种patch,最后得到了满意的结果。
大家来看!!

OS: Fedora 19
Arch: x86
CPU: Intel(R) Core(TM)2 Duo CPU T5870 @2.00GHz
VideoCard: Nvidia GForce G105M
Memory: 4G

[color=#BF0000:23xr9fys]需要[/color:23xr9fys]:
[color=#BF0000:23xr9fys]打过补丁的wine、LOL国服完整安装包、winetricks、反TP补丁[/color:23xr9fys]

(在我以前的教程里,是需要打两个补丁的,LOL更新到3.0.9.x以后,使用打了第一个补丁的wine会经常出现“因为未知原因,无法登陆”的错误,而对于1.5.29之前的wine,若不打这第一个补丁,又肯定会崩溃,所以我更新了教程,使用最新的开发版wine。)
我使用的wine版本是1.6-rc2,这里需要加上补丁重新编译,补丁主要解决以下问题:
1、游戏中点击商店崩溃。
    0001-HACK-Disallow-block-based-textures-with-sub-block-si-1.6-rc2.txt

下面详细讲一下操作过程。

[color=#FF0000:23xr9fys]一、给wine打补丁,并编译[/color:23xr9fys]
首先咱们编译wine,(如果您觉得编译太麻烦,可以直接用我编译好的wine,看帖子最底下,不过,自己编译的应该还是比较适合自己的系统)
[color=#FF0000:23xr9fys]对于64位的ubuntu系统,编译wine实在太麻烦,本人没用过ubuntu,不敢做过多讲解,有朋友在折腾后给出了详细的教程,见http://forum.ubuntu.org.cn/viewtopic.php?f=121&t=443064,感谢243750496朋友。[/color:23xr9fys]
先下载wine的源码,解压出来
  1. tar xvf wine-1.6-rc2.tar.bz2
  2. cd wine-1.6-rc2
Copy the Code
下载上面的补丁(适用于wine-1.6-rc2~wine-1.6),给源码打上
  1. patch -p1 < 0001-HACK-Disallow-block-based-textures-with-sub-block-si-1.6-rc2.txt
Copy the Code
接着咱们来编译
  1. ./configure
Copy the Code
为避免影响系统安装的wine,可以指定新的prefix
  1. ./configure --prefix=/opt/lol-wine
  2. make depend
  3. make
  4. sudo make install
Copy the Code

[color=#FF0000:23xr9fys]二、配置wine环境[/color:23xr9fys]
接着,到http://winetricks.org/winetricks 下载最新的winetricks(如果网页打开的是winetricks的源代码,可以右键点击另存为),当然,发行版有提供也行啦,只不过发行版上提供的可能会比较老,下载一些DLL时会有404错误。
把下载的winetricks放到/usr/bin下,并加上可执行权限。
  1. chmod +x winetricks
  2. sudo cp -a winetricks /usr/bin/winetricks
Copy the Code

配置wine,这里我是定义另一个WINEPREFIX,以跟本机上原来的wine配置分开,
我们先执行
  1. export WINEVERPATH=/opt/lol-wine
  2. export PATH=$WINEVERPATH/bin:$PATH
  3. export WINESERVER="$WINEVERPATH/bin/wineserver"
  4. export WINELOADER="$WINEVERPATH/bin/wine"
  5. export WINEDLLPATH="WINEVERPATH/lib/wine/fakedlls"
  6. export LD_LIBRARY_PATH="$WINEVERPATH/lib:$LD_LIBRARY_PATH"
Copy the Code

接着再来
  1. mkdir ~/LOL
  2. WINEPREFIX=~/LOL/.wine WINEARCH=win32 $WINEVERPATH/bin/winecfg
Copy the Code
# WINEARCH=win32是设定wine为32位的,使用32位的Windows软件,这在64位Linux系统是必须的,然后设定Windows版本为xp。
  1. WINEPREFIX=~/LOL/.wine winetricks vcrun2005 corefonts d3dx9 wininet dotnet20 dotnet35 ie6 win7 adobeair glsl-disable mfc42
Copy the Code
# 用winetricks安装一些Windows组件,执行的时候请务必关注终端的提示信息;注意,在安装.Net framework 3.5的时候,进度条可能会在满格时卡住,没关系,kill掉wine和winetricks的进程后重新执行此命令就行了。

然后,我们再执行一下
  1. WINEPREFIX=~/LOL/.wine WINEARCH=win32 $WINEVERPATH/bin/winecfg
Copy the Code
,确保此时Windows版本是Windows 7。

[color=#FF0000:23xr9fys]三、安装LOL[/color:23xr9fys]
好,接下来安装LOL,大家自行到官网去下载安装包,我用的是从17173上下的完整安装包:
  1. WINEPREFIX=~/LOL/.wine $WINEVERPATH/bin/wine 17173_LOL_V3.0.7.9_FULL.exe
Copy the Code
[color=#FF0000:23xr9fys]注意,如果出现“不能打开要写入的文件”的错误,请确认自己执行winetricks的时候成功安装了dotnet20和dotnet35。[/color:23xr9fys]


[color=#FF0000:23xr9fys]四、应用反TP补丁(重要!)[/color:23xr9fys]
安装完成以后,找到游戏目录下的Game/League of Legends.exe,备份好后用反TP补丁替换,反TP补丁主要是解决选好英雄后进入游戏时崩溃,反TP补丁见
帖子下方。
[color=#FF0000:23xr9fys]注意,每次更新LOL后都要检查一下League of Legends.exe文件有没有变化,如果没变,咱就继续L吧,如果有,去看一下反TP补丁有没有更新!![/color:23xr9fys]

[color=#FF0000:23xr9fys]五、运行游戏[/color:23xr9fys]
运行游戏时,切换到游戏目录下的TCLS/目录,执行
  1. WINEPREFIX=~/LOL/.wine $WINEVERPATH/bin/wine Client.exe
Copy the Code

我们可以自建一个desktop文件,这里假设您wine是安装到/opt/lol-wine,
  1. [Desktop Entry]
  2. Name=League of Legends
  3. Name[zh_CN]=英雄联盟
  4. Exec=WINEVERPATH="$HOME/tools/lol-wine-1.6-rc2" PATH="$WINEVERPATH/bin:$PATH" WINESERVER="$WINEVERPATH/bin/wineserver" WINELOADER="$WINEVERPATH/bin/wine" WINEDLLPATH="$WINEVERPATH/lib/wine/fakedlls" LD_LIBRARY_PATH="$WINEVERPATH/lib:$LD_LIBRARY_PATH"  WINEPREFIX=$HOME/.lol-wine $WINEVERPATH/bin/wine ~/documents/LOL/英雄联盟/TCLS/Client.exe
  5. Type=Application
  6. StartupNotify=true
  7. Icon=lol
Copy the Code
[color=#FF0000:23xr9fys]WINEVERPATH=/opt/lol-wine请根据自己的wine安装目录修改,且务必将“$HOME/documents/LOL/英雄联盟/TCLS/Client.exe”改成您自己的Client.exe的路径[/color:23xr9fys]。然后将内容保存为“英雄联盟.desktop”放到桌面上。再将这个图标下载下来,放到~/.local/share/icons/hicolor/64x64/apps/
lol.png

然后,双击桌面的英雄联盟就可以开始游戏啦。

好,接下来就好好享受LOL之旅吧!!
深度截图20130320131126.png
深度截图20130320131249.png
深度截图20130320131336.png
深度截图20130320131355.png
深度截图20130320131423.png
深度截图20130320131636.png

[color=#FF0000:23xr9fys]反tp补丁下载:[/color:23xr9fys]
3.0.9.4版本:League of Legends.exe(版本号3.8.1.228)

[color=#FF0000:23xr9fys]预编译lol-wine下载:[/color:23xr9fys]
有朋友反映说编译麻烦,我这里将我编译好的包发上来,分32位和64位,是分别在Fedora 19 x86和Gentoo amd64编译的,大家试着用一下吧,如果有问题,再发帖讨论。

lol-wine_32bit.tar.bz2
lol-wine_64bit.tar.bz2

如果您希望跟帖子里说的配置一样,根据自己的系统下相应的压缩包,解压到/opt/,
  1. sudo tar xvf lol-wine_32bit.tar.bz2 -C /opt/
Copy the Code
or
  1. sudo tar xvf lol-wine_64bit.tar.bz2 -C /opt/
Copy the Code
当然您也可以将/opt/另选为自己喜欢的目录。
接下来,您就可以跳过上面的“第一步”,直接从“第二步、配置wine环境”开始了

2013年4月2日:
如果您使用的是Intel的核显,您需要安装libtxc_dxtn这个包,它在不同发行版的命名有些不同,在Ubuntu/Deepin应该是libtxc-dxtn-s2tc0。我用过的发行版比较少,大家可以先搜索一下这个包,用相应的命令安装。

2013年4月7日:
提高游戏fps的技巧(转自LOL论坛):
1、更改注册表
  1. WINEPREFIX=~/LOL/.wine regedit
Copy the Code
打开注册表编辑器,找到键
HKEY_CURRENT_USER>Software>Wine>Direct3D
没有的话就新建一个,然后新建几个"字符串值",DirectDrawRenderer、Multisampling、OffscreenRenderingMode、RenderTargetLockMode、UseGLSL,设定它们的值分别是gdi、disabled、fbo、disabled、disabled;根据自己的显卡情况,还可建一个“字符串值”VideoMemorySize,将它的值设为自己显存大小,像我就设为512

2、选完英雄进入游戏后,打开终端,用top找到League of Legends.exe这个进程的PID,假设为11732,然后,用taskset命令将它设为只用一个cpu核
  1. taskset -pc 1 11732
Copy the Code
这里指定它只用编号为1的cpu核心。

相关链接: http://www.linuxdeepin.com/forum/24/14706?p=62277
Reply Favorite View the author
All Replies
...9 / 13
To page
243750496
deepin
2013-05-26 04:33
#161
楼主能把增加的winetricks的path添加到教程中么 谢谢了 帮助大家 另外不配置变量是否可以?是不是只需要移动到usr/bin中加上执行权限就可以了?
Reply View the author
243750496
deepin
2013-05-26 04:47
#162
另外楼主应该把打第2补丁的方法发上
cd wine(来到wine目录下)
sudo patch -p1 < '/home/cc/下载/0001-HACK-Disallow-block-based-textures-with-sub-block-si.patch'(''中的内容是拖动文件到终端结果 所以不必把补丁放到wine文件夹下)
Reply View the author
zhtengw
deepin
2013-05-26 05:00
#163
另外楼主应该把打第2补丁的方法发上
cd wine(来到wine目录下)
sudo patch -p1 < '/home/cc/下载/0001-HACK-Disallow-block-based-textures-with-sub-block-si.patch'(''中的内容是拖动文件到终端结果 所以不必把补丁放到wine文件夹下)
这个不适用于所有wine,我在帖子中有说明!!
Reply View the author
zhtengw
deepin
2013-05-26 05:03
#164
楼主能把增加的winetricks的path添加到教程中么 谢谢了 帮助大家 另外不配置变量是否可以?是不是只需要移动到usr/bin中加上执行权限就可以了?
这会影响系统的wine,而且这些只要在安装的时候执行一次就行,以后玩游戏的时候有脚本的,不用执行那么多
Reply View the author
243750496
deepin
2013-05-26 05:03
#165
configure: libOSMesa 32-bit development files not found (or too old), OpenGL rendering in bitmaps won't be supported.
configure: OpenCL 32-bit development files not found, OpenCL won't be supported.
configure: libdbus 32-bit development files not found, no dynamic device support.
configure: libgnutls 32-bit development files not found, no schannel support.
configure: lib(n)curses 32-bit development files not found, curses won't be supported.
configure: libsane 32-bit development files not found, scanners won't be supported.
configure: libgphoto2 32-bit development files not found, digital cameras won't be supported.
configure: libgphoto2_port 32-bit development files not found, digital cameras won't be auto-detected.
configure: liblcms 32-bit development files not found, Color Management won't be supported.
configure: libz 32-bit development files not found, data compression won't be supported.
configure: gstreamer-0.10 base plugins 32-bit development files not found, gstreamer support disabled
configure: OSS sound system found but too old (OSSv4 needed), OSS won't be supported.
configure: libcapi20 32-bit development files not found, ISDN won't be supported.
configure: libcups 32-bit development files not found, CUPS won't be supported.
configure: libgsm 32-bit development files not found, gsm 06.10 codec won't be supported.
configure: libtiff 32-bit development files not found, TIFF won't be supported.
configure: libmpg123 32-bit development files not found (or too old), mp3 codec won't be supported.
configure: libopenal 32-bit development files not found (or too old), OpenAL won't be supported.
configure: libldap (OpenLDAP) 32-bit development files not found, LDAP won't be supported.

configure: WARNING: prelink not found, base address of core dlls won't be set correctly.

configure: WARNING: libxslt 32-bit development files not found, xslt won't be supported.

configure: WARNING: libjpeg 32-bit development files not found, JPEG won't be supported.

configure: WARNING: libpng 32-bit development files not found, PNG won't be supported.

configure: WARNING: No sound system was found. Windows applications will be silent.

这个依赖说的32位是安装i386版本的相应依赖么
Reply View the author
zhtengw
deepin
2013-05-26 05:16
#166
这个依赖说的32位是安装i386版本的相应依赖么
是的
Reply View the author
243750496
deepin
2013-05-26 05:35
#167
[quote]
这个依赖说的32位是安装i386版本的相应依赖么
是的[/quote]
我下载好了i386包时双击安装显示已安装 估计是他的64位版本 问题1、楼主是32位还是64位的?
2、如果替换了会不会影响系统 或其他软件运行
3、而且有的安不上啊 当然还不止这一个
屏幕截图.png
请问楼主当时是怎么做的
比如sudo apt-get XXX XXX XXX XXX
如果有输入命令请把命令公布一下 谢了
Reply View the author
zhtengw
deepin
2013-05-26 05:54
#168
[quote][quote]
这个依赖说的32位是安装i386版本的相应依赖么
是的[/quote]
我下载好了i386包时双击安装显示已安装 估计是他的64位版本 问题1、楼主是32位还是64位的?
2、如果替换了会不会影响系统 或其他软件运行
3、而且有的安不上啊 当然还不止这一个
屏幕截图.png
请问楼主当时是怎么做的
比如sudo apt-get XXX XXX XXX XXX
如果有输入命令请把命令公布一下 谢了[/quote]
我没用过Ubuntu   我给您34楼的参考网址,那是wine官方wiki的指引,不过看起来您并没有按照它的指示操作。
Reply View the author
yuyuen72
deepin
2013-05-27 07:01
#169
我找到了一个可能能提升wine游戏性能的帖子http://forum.ubuntu.org.cn/viewtopic.php?t=72933
但是在实验之前有若干问题还需要请教一下,,,
1。他所提到的脚本中
  1. #uncomment if launching from console session
  2. #sudo /etc/init.d/gdm stop
  3. #KDE use this instead
  4. #sudo /etc/init.d/kdm stop
Copy the Code
这部分应该分别对应了gnome和kde,可是unity怎么弄啊?
2.请教下X相关的命令,我按照帖子中“注意:为了避免修改脚本,你可以修改Xwrapper.config给与一般用户启动X的权限。用sudo vim打开/etc/X11/Xwrapper.config,把allowed_users=console修改为allowed_users=anybody。”做了之后打开了个终端试了一下
  1. X :3 -ac
Copy the Code
结果一片黑屏我也不知道怎么回去了,最后只好重启……
Reply View the author
yuyuen72
deepin
2013-05-27 07:17
#170
这是我修改的启动脚本,,,
  1. sudo /etc/init.d/lightdm stop
  2. sleep 2
  3. X :3 -ac
  4. sleep 2
  5. DISPLAY=:3 /home/yy/.LOL/.wine/…………
Copy the Code
大致是这样,,,可是在tty1里运行也不行啊,依然是黑屏啊~~
Reply View the author
zhtengw
deepin
2013-05-27 07:24
#171
我找到了一个可能能提升wine游戏性能的帖子http://forum.ubuntu.org.cn/viewtopic.php?t=72933
但是在实验之前有若干问题还需要请教一下,,,
1。他所提到的脚本中
  1. #uncomment if launching from console session
  2. #sudo /etc/init.d/gdm stop
  3. #KDE use this instead
  4. #sudo /etc/init.d/kdm stop
Copy the Code
这部分应该分别对应了gnome和kde,可是unity怎么弄啊?
2.请教下X相关的命令,我按照帖子中“注意:为了避免修改脚本,你可以修改Xwrapper.config给与一般用户启动X的权限。用sudo vim打开/etc/X11/Xwrapper.config,把allowed_users=console修改为allowed_users=anybody。”做了之后打开了个终端试了一下
  1. X :3 -ac
Copy the Code
结果一片黑屏我也不知道怎么回去了,最后只好重启……
ubuntu的话,用的是lightdm~~
如果您只运行X,将只是启动了一个新的X服务,但并没有任何X应用程序运行,所以只有黑屏,这时您可以用Ctrl+Alt+Backspace来关闭这个X服务。
Reply View the author
zhtengw
deepin
2013-05-27 08:00
#172
这是我修改的启动脚本,,,
  1. sudo /etc/init.d/lightdm stop
  2. sleep 2
  3. X :3 -ac
  4. sleep 2
  5. DISPLAY=:3 /home/yy/.LOL/.wine/…………
Copy the Code
大致是这样,,,可是在tty1里运行也不行啊,依然是黑屏啊~~
如果仍然是黑屏,那么,肯定是您的最后一行命令不对,执行错误。
如果您是使用我帖子里给出的lol.sh脚本,首先您要修改一下它,改为
     
  1.   #!/bin/bash
  2.         export WINEVERPATH=/opt/lol-wine
  3.         export PATH=$WINEVERPATH/bin:$PATH
  4.         export WINESERVER="$WINEVERPATH/bin/wineserver"
  5.         export WINELOADER="$WINEVERPATH/bin/wine"
  6.         export WINEDLLPATH="WINEVERPATH/lib/wine/fakedlls"
  7.         export LD_LIBRARY_PATH="$WINEVERPATH/lib:$LD_LIBRARY_PATH"
  8.         export WINEARCH=win32
  9.         export WINEPREFIX=~/LOL/.wine
  10.         DISPLAY=:3 "$WINEVERPATH/bin/wine" "$@" /media/data/Documents/LOL/英雄联盟/TCLS/Client.exe
Copy the Code
然后启动脚本为
  1. sudo /etc/init.d/lightdm stop
  2. sleep 2
  3. X :3 -ac
  4. sleep 2
  5. lol.sh
Copy the Code
其实那个sudo /etc/init.d/lightdm stop完全可以不用,咱们没必要关闭显示管理器呀。
Reply View the author
yuyuen72
deepin
2013-05-27 20:58
#173
这是我在家目录的脚本
  1. #!/bin/bash
  2. sudo /etc/init.d/lightdm stop
  3. sleep 2
  4. X :3 -ac
  5. sleep 2
  6. ~/.LOL/.wine/drive_c/Program\ Files/腾讯游戏/英雄联盟/TCLS/lol.sh
Copy the Code
这是按照你帖子里说的脚本,,,也就是“/home/yy/.LOL/.wine/drive_c/Program\ Files/腾讯游戏/英雄联盟/TCLS/lol.sh”
  1. #!/bin/bash
  2. export WINEVERPATH=/opt/lol-wine
  3. export PATH=$WINEVERPATH/bin:$PATH
  4. export WINESERVER="$WINEVERPATH/bin/wineserver"
  5. export WINELOADER="$WINEVERPATH/bin/wine"
  6. export WINEDLLPATH="WINEVERPATH/lib/wine/fakedlls"
  7. export LD_LIBRARY_PATH="$WINEVERPATH/lib:$LD_LIBRARY_PATH"
  8. export WINEARCH=win32
  9. export WINEPREFIX=~/.LOL/.wine
  10. DISPLAY=:3 WINEDEBUG=-all $WINEVERPATH/bin/wine ~/.LOL/.wine/drive_c/Program\ Files/腾讯游戏/英雄联盟/TCLS/Client.exe
Copy the Code
进入tty1运行依然黑屏,没反应啊,另外在tty里面ctrl+c没用吗?
Reply View the author
yuyuen72
deepin
2013-05-27 21:00
#174
会不会跟这个有关啊:
tty界面不支持中文,路径里有中文……
Reply View the author
yuyuen72
deepin
2013-05-27 21:30
#175
另外,,在tty下ctrl+alt+backspace和ctrl+alt+delete都直接重启了啊…… :cry:
Reply View the author
yuyuen72
deepin
2013-05-28 06:34
#176
试了半天,终于成功了,可是结果真令人失望,,,没声音,选完英雄就崩溃,就所能看到的部分而言,好像还更慢了……
Reply View the author
yuyuen72
deepin
2013-05-28 20:09
#177
我又来了,,,这回是请教wine PS cs6的,已经成功,但是反应有点慢(其实不止有点),我想游戏都能玩,不应该这么慢啊,所以再来问一下有什么能提高其性能的方法
Reply View the author
yuyuen72
deepin
2013-05-28 21:28
#178
我又来了,,,这回是请教wine PS cs6的,已经成功,但是反应有点慢(其实不止有点),我想游戏都能玩,不应该这么慢啊,所以再来问一下有什么能提高其性能的方法
刚又测试了一下,只是几个别工具慢,嗯,堪称完美……
如果要装字体的话,直接从win7的相关目录拷到wine的相关目录就行吗?
Reply View the author
243750496
deepin
2013-05-29 06:25
#179
configure: libOSMesa development files not found (or too old), OpenGL rendering in bitmaps won't be supported.
这个要安libOSMesa6-dev? 为什么安装完了仍然提示???
Reply View the author
243750496
deepin
2013-05-29 16:07
#180
屏幕截图.png
config.status: linking AUTHORS to dlls/shell32/AUTHORS
config.status: linking tools/winewrapper to wine
config.status: executing include/stamp-h commands
config.status: executing dlls/gdi32/dibdrv commands
config.status: executing dlls/gdi32/enhmfdrv commands
config.status: executing dlls/gdi32/mfdrv commands
config.status: executing dlls/kernel32/nls commands
config.status: executing dlls/user32/resources commands
config.status: executing dlls/wineps.drv/data commands
config.status: executing include/wine commands
config.status: executing Makefile commands

configure: libOSMesa development files not found (or too old), OpenGL rendering in bitmaps won't be supported.

configure: Finished.  Do 'make' to compile Wine.
Reply View the author
...9 / 13
To page