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
...13 / 13
To page
Rocky
deepin
2013-12-31 05:46
#241
wine对星际争霸2的支持怎么样啊?
Reply View the author
jalawov
deepin
2014-01-01 16:59
#242
wine对星际争霸2的支持怎么样啊?
反正crossover可以,wine应该也可以
Reply View the author
yumiaolwj
deepin
2014-01-04 02:08
#243
/home/aten/tools/lol-wine-1.6.rc2/lib/wine/ntdll.dll.so: cannot open shared object file: No such file or directory 这个怎么解决?
还有安装.NET Framework 2.0的时候失败,安装adobeair显示“无法找到此程序需要的版本”。。。。于是卡这半天了---
Reply View the author
leixiaozeng
deepin
2014-06-06 05:18
#244
嗯,这个得看看呀,多好的一东西 ,,LZ威武,,
Reply View the author
ahyanglf
deepin
2014-06-09 21:04
#245
lz辛苦了
Reply View the author
fuyou
deepin
2014-09-13 09:42
#246
这个真心要点赞啦~~~! :
Reply View the author
guchenjun
deepin
2014-09-17 07:28
#247
相当牛逼
Reply View the author
chaoswhq
deepin
2014-11-04 20:05
#248
[quote]安装可以,运行就不行啊!
wine: Unhandled page fault on read access to 0x00000000 at address 0xba4356 (thread 0054), starting debugger...
zhuang@zhuang-linux:~/Windows/英雄联盟/TCLS$ WINEPREFIX=~/Windows/.wine $WINEVERPATH/bin/wine Client.exe
wine: Unhandled page fault on read access to 0x00000000 at address 0xba4356 (thread 0064), starting debugger...
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x00ba4356).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:00ba4356 ESP:0033ee2c EBP:0033fe2c EFLAGS:00010287(  R- --  I S - -P-C)
EAX:bda0db13 EBX:7b8b5000 ECX:7bcd7000 EDX:00000000
ESI:7ffdf000 EDI:006c317b
Stack dump:
0x0033ee2c:  00000000 00000000 00000000 00000000
0x0033ee3c:  00000000 00000000 00000000 00000000
0x0033ee4c:  00000000 00000000 00000000 00000000
0x0033ee5c:  00000000 00000000 00000000 00000000
0x0033ee6c:  00000000 00000000 00000000 00000000
0x0033ee7c:  00000000 00000000 00000000 00000000
Backtrace:
=>0 0x00ba4356 in client (+0x7a4356) (0x0033fe2c)
0x00ba4356: movl        0x0(%edx),%eax
Modules:
Module        Address                        Debug info        Name (19 modules)
PE          400000-  bb0000        Export          client
ELF        7b800000-7ba50000        Deferred        kernel32
  \-PE        7b810000-7ba50000        \               kernel32
ELF        7bc00000-7bcd7000        Deferred        ntdll
  \-PE        7bc10000-7bcd7000        \               ntdll
ELF        7bf00000-7bf04000        Deferred        
ELF        7ed28000-7ed4a000        Deferred        libtinfo.so.5
ELF        7ed4a000-7ed6f000        Deferred        libncurses.so.5
ELF        7ef6f000-7ef7c000        Deferred        libnss_files.so.2
ELF        7ef7c000-7ef88000        Deferred        libnss_nis.so.2
ELF        7ef88000-7efa1000        Deferred        libnsl.so.1
ELF        7efa1000-7efe4000        Deferred        libm.so.6
ELF        f747a000-f747f000        Deferred        libdl.so.2
ELF        f747f000-f7633000        Deferred        libc.so.6
ELF        f7634000-f764f000        Deferred        libpthread.so.0
ELF        f7662000-f766b000        Deferred        libnss_compat.so.2
ELF        f766b000-f77ae000        Dwarf           libwine.so.1
ELF        f77b0000-f77d2000        Deferred        ld-linux.so.2
ELF        f77d2000-f77d3000        Deferred        [vdso].so
Threads:
process  tid      prio (all id:s are in hex)
0000000e services.exe
        00000092    0
        00000026    0
        0000001f    0
        00000010    0
        0000000f    0
0000001d winedevice.exe
        00000025    0
        00000022    0
        00000021    0
        0000001e    0
00000023 plugplay.exe
        00000029    0
        00000028    0
        00000024    0
0000002d mscorsvw.exe
        0000003b    0
        0000002f    0
        0000002e    0
0000005b mscorsvw.exe
        0000004e    0
        0000004b    0
        0000005f    0
0000005c mscorsvw.exe
        00000081    0
        00000049    0
        00000068    0
00000096 (D) D:\英雄联盟\TCLS\Client.exe
        00000064    0 <==
00000018 explorer.exe
        0000007a    0
        0000001b    0
遇到了和你一样的错误[/quote]

怎么样阿,我也是这个问题,解决了没有。。。
Reply View the author
李逍遥mx
deepin
2015-02-17 21:48
#249
点赞,收藏!
Reply View the author
tcmpan
deepin
2015-02-22 06:11
#250
膜拜大神 牛B
Reply View the author
627955512
deepin
2015-02-22 20:24
#251
楼主能不能弄个DNF教程啊
Reply View the author
WilliamVan
deepin
2015-02-23 19:47
#252
有谁试试现在还能用这个方法吗
Reply View the author
ddf120
deepin
2015-07-11 22:55
#253
牛逼的工程师不需要解释
Reply View the author
a12300114
deepin
2015-07-12 03:11
#254
去尝试风暴战区
Reply View the author
zale12
deepin
2015-12-02 17:29
#255
不过这种wine 游戏,需要持续更新吧?系统每次更新对游戏包没有影响吗?
Reply View the author
wangcheng
deepin
2016-06-01 05:49
#256
https://bbs.deepin.org/post/11754
这个很强大,必须支持啊。什么时候能收录到软件中心,就完美了

这个系统能玩LOL还有QQ飞车吗?
Reply View the author
abnerchou
deepin
2016-10-16 06:45
#257
楼主,这是什么情况?在make的时候报错了。。。。。parser.y: In function ‘rsrcid_to_token’:
parser.y:2840:15: error: ‘YYLEX’ undeclared (first use in this function)
   lookahead = YYLEX;
               ^
parser.y:2840:15: note: each undeclared identifier is reported only once for each function it appears in
Makefile:162: recipe for target 'parser.tab.o' failed
make[1]: *** [parser.tab.o] Error 1
make[1]: Leaving directory '/home/abner/Downloads/wine-1.6-rc2/tools/wrc'
Makefile:19718: recipe for target 'tools/wrc' failed
make: *** [tools/wrc] Error 2


Reply View the author
152******14
deepin
2016-10-16 07:58
#258
你们威武,有你们估计好多人双系统直接变单系统呀,你们对Linux的应用推广功不可没。佩服!弱弱的问一下,可不可以把dnf 也wine 下
Reply View the author
ghostwz
deepin
2016-10-17 06:13
#259
你真的可以!
Reply View the author
杨雨辰
deepin
2017-01-13 18:37
#260
这个总会过时的,万一腾讯一更新就不适用了。。。
Reply View the author
...13 / 13
To page