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
......6 / 13
To page
cuixiao603
deepin
2013-05-07 21:12
#101
[quote]安装lol的时候显示 不能开打要写入的文件 auto.lst 何解啊
应该还是你的wine没配置好,我之前也这样,把wine配置好后就没问题了,确定winetricks安装的组件确实安装……[/quote]    wget http://xxxx/winetricks
                 chmod +x winetricks
                 sudo mv winetricks /usr/bin
是h这样安装吗
Reply View the author
yuyuen72
deepin
2013-05-07 22:37
#102
  wget http://xxxx/winetricks
                 chmod +x winetricks
                 sudo mv winetricks /usr/bin
是h这样安装吗
我是说
  1.         WINEPREFIX=~/LOL/.wine winetricks vcrun2005 corefonts d3dx9 wininet dotnet20 dotnet35 ie6 win7 adobeair glsl-disable mfc42 physx
Copy the Code
这里面的组件确定安装好了吗,这个在某处遇到错误就会停止执行,后面的可能就没安装……
Reply View the author
zhtengw
deepin
2013-05-07 22:43
#103
昨晚想试,结果宿舍熄灯了,今天再来,更新了……你那有下好的美服的吗,方便制作补丁的话做一下吧,我要制作还得回到windows,而且好大啊……
美服我已经装好了,国服正在更新,等国服更新完了就可以做补丁了
Reply View the author
yuyuen72
deepin
2013-05-07 22:47
#104
美服我已经装好了,国服正在更新,等国服更新完了就可以做补丁了
我也回到windows下了,正在下美服……
Reply View the author
zhtengw
deepin
2013-05-08 00:10
#105
[quote]
美服我已经装好了,国服正在更新,等国服更新完了就可以做补丁了
我也回到windows下了,正在下美服……[/quote]
补丁做好,自己还不方便测试~~我自己测完再发吧
Reply View the author
yuyuen72
deepin
2013-05-08 00:54
#106
补丁做好,自己还不方便测试~~我自己测完再发吧
好嘞~~
目测我一会儿也就完了……丫的,美服的包更大啊~~3g多……
Reply View the author
yuyuen72
deepin
2013-05-08 03:39
#107
这下完蛋了,按照教程改出来的用不了啊,显示无法连接服务器,,,这下悲剧了……
Reply View the author
yuyuen72
deepin
2013-05-08 03:44
#108
这下完蛋了,按照教程改出来的用不了啊,显示无法连接服务器,,,这下悲剧了……
吓屎我了,可以的,可以的……
Reply View the author
zhtengw
deepin
2013-05-08 04:27
#109
这下完蛋了,按照教程改出来的用不了啊,显示无法连接服务器,,,这下悲剧了……
连接服务器啥的跟改League of legends.exe没关系,只在选完英雄后进入游戏才会调用这个程序。
Reply View the author
yuyuen72
deepin
2013-05-08 04:40
#110
哦,这样啊,我刚改完,放在国服下实验了两次,结果都显示无法连接服务器,把我吓坏了……
后来又好了,已经实验成功了……
http://pan.baidu.com/share/link?shareid ... 3507161154
Reply View the author
yuyuen72
deepin
2013-05-08 05:32
#111
我突然想起一个问题,把/opt/lol-wine和~/LOL打包成deb有没有可行性?
Reply View the author
yuyuen72
deepin
2013-05-08 06:16
#112
刚才好好测试了一下,optirun bash 的方法和primusrun bash 都有花屏的现象(且画面一复杂就比较严重),而且奇怪的是optirun的帧率更低了,在intel下稳定在三十帧,通过optirun bash居然在20帧左右,,,而primusrun bash 下达到了四十帧。
Reply View the author
charry
deepin
2013-05-11 01:32
#113
lz  超越神了
Reply View the author
yuyuen72
deepin
2013-05-12 18:34
#114
查了一堆外文资料,也看不太懂……
Reply View the author
cuixiao603
deepin
2013-05-14 22:13
#115
[quote]  wget http://xxxx/winetricks
                 chmod +x winetricks
                 sudo mv winetricks /usr/bin
是h这样安装吗
我是说
  1.         WINEPREFIX=~/LOL/.wine winetricks vcrun2005 corefonts d3dx9 wininet dotnet20 dotnet35 ie6 win7 adobeair glsl-disable mfc42 physx
Copy the Code
这里面的组件确定安装好了吗,这个在某处遇到错误就会停止执行,后面的可能就没安装……[/quote]
dotnet20sp1 install completed, but installed file /home/czm/LOL/.wine/dosdevices/c:/windows/assembly/NativeImages_v2.0.50727_32/indexb.dat not found
这是什么原因啊
Reply View the author
fengwuliuguang
deepin
2013-05-21 04:30
#116
[quote][quote]  wget http://xxxx/winetricks
                 chmod +x winetricks
                 sudo mv winetricks /usr/bin
是h这样安装吗
我是说
  1.         WINEPREFIX=~/LOL/.wine winetricks vcrun2005 corefonts d3dx9 wininet dotnet20 dotnet35 ie6 win7 adobeair glsl-disable mfc42 physx
Copy the Code
这里面的组件确定安装好了吗,这个在某处遇到错误就会停止执行,后面的可能就没安装……[/quote]
dotnet20sp1 install completed, but installed file /home/czm/LOL/.wine/dosdevices/c:/windows/assembly/NativeImages_v2.0.50727_32/indexb.dat not found
这是什么原因啊[/quote]
  1. mkdir -p $WINEPREFIX/dosdevices/c:/windows/assembly/NativeImages_v2.0.50727_32
  2. touch $WINEPREFIX/dosdevices/c:/windows/assembly/NativeImages_v2.0.50727_32/indexb.dat
Copy the Code
貌似没什么问题 就是找不到这个文件导致无法继续安装而已  其他问题不大
不过我安装好后画面好黑。。。。不知道怎么调整色彩。。。
Reply View the author
fengwuliuguang
deepin
2013-05-21 04:33
#117
英雄联盟安装完毕
但是画面发黑,人物模型什么的正常  但是画面的色彩十分灰暗  不知该怎么设置 求解
Reply View the author
electricface
deepin
2013-05-21 05:52
#118
英雄联盟安装完毕
但是画面发黑,人物模型什么的正常  但是画面的色彩十分灰暗  不知该怎么设置 求解
截个图来看看吧.
Reply View the author
yuyuen72
deepin
2013-05-22 20:43
#119
英雄联盟安装完毕
但是画面发黑,人物模型什么的正常  但是画面的色彩十分灰暗  不知该怎么设置 求解
什么显卡
Reply View the author
243750496
deepin
2013-05-22 23:19
#120
http://bugs.winehq.org/attachment.cgi?i ... format=raw
第一个补丁 怎么回不是patch文件?
@@ -, +, @@
    ole32: force inproc instead of local server
--- a/dlls/ole32/compobj.c       
+++ a/dlls/ole32/compobj.c       
@@ -2261,6 +2261,11 @@ HRESULT WINAPI CoGetClassObject(

     TRACE("CLSID: %s,IID: %s\n", debugstr_guid(rclsid), debugstr_guid(iid));

+    if(CLSCTX_LOCAL_SERVER == dwClsContext) {
+        dwClsContext = CLSCTX_INPROC_SERVER;
+        WARN("forcing CLSCTX_INPROC_SERVER instead of CLSCTX_LOCAL_SERVER\n");
+    }
+
     if (!ppv)
         return E_INVALIDARG;
这些代码怎么用?是哪个文件里的?为什么第二个补丁就是patch文件呢
Reply View the author
......6 / 13
To page