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

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

需要:
打过补丁的wine、LOL国服完整安装包、winetricks、反TP补丁

我使用的wine版本是1.5.25(目前来说,您使用其他版本的wine也一样),这里需要加上补丁重新编译,补丁主要解决以下问题:
1、选择服务器后登陆时崩溃;
http://bugs.winehq.org/attachment.cgi?i ... format=raw
2、游戏中点击商店崩溃。
http://uz.sns.it/~ranma42/iLoL/0001-HAC ... k-si.patch

这些补丁都不是给1.5.25版本的wine写的,要修改或新增的代码行数不一样,就不能直接应用这些patch,我是照着patch一个一个找对应代码文件改的。下面详细讲一下操作过程。

一、给wine打补丁,并编译
首先咱们编译wine,(如果您觉得编译太麻烦,可以直接用我编译好的wine,看帖子最底下,不过,自己编译的应该还是比较适合自己的系统)
先下载wine的源码,解压出来

代码: 全选
  1. tar xvf wine-1.5.25.tar.bz2
 

然后对照补丁修改一下代码,修改完后咱们来编译

代码: 全选
  1. cd wine-1.5.25
  2. ./configure
 

为避免影响系统安装的wine,可以指定新的prefix

代码: 全选
  1. ./configure --prefix=/opt/lol-wine
  2. make depend
  3. make
  4. sudo make install
 

二、配置wine环境
接着,到http://winetricks.org/winetricks 下载最新的winetricks,当然,发行版有提供也行啦,只不过SlackBuild.org上提供的比较老,下载一些DLL时会有404错误。

配置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"
 

接着再来

代码: 全选
  1. WINEPREFIX=~/LOL/.wine WINEARCH=win32 $WINEVERPATH/bin/winecfg
 

# 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 physx
 

# 用winetricks安装一些Windows组件,其中physx是Nvidia显卡才要的,如果你的显卡不是Nvidia的,请删去;注意,在安装.Net framework 3.5的时候,进度条可能会在满格时卡住,没关系,kill掉wine和winetricks的进程后重新执行此命令就行了。

然后,我们再执行一下

代码: 全选
  1. WINEPREFIX=~/LOL/.wine WINEARCH=win32 $WINEVERPATH/bin/winecfg
 

,确保此时Windows版本是Windows 7。

三、安装LOL
好,接下来安装LOL,大家自行到官网去下载安装包,我用的是从17173上下的完整安装包:

代码: 全选
  1. WINEPREFIX=~/LOL/.wine $WINEVERPATH/bin/wine 17173_LOL_V3.0.7.9_FULL.exe
 

注意,在开始安装的时候,可能会出现“不能打开要写入的文件”的错误,只要将路径改改就好了,我自己测试是改成z:盘的路径。

四、应用反TP补丁(重要!)
安装完成以后,找到游戏目录下的Game/League of Legends.exe,备份好后用反TP补丁替换,反TP补丁主要是解决选好英雄后进入游戏时崩溃,反TP补丁见
http://zb.qn20.com/NewsView.aspx?NewsID=6
注意,每次更新LOL后都要检查一下League of Legends.exe文件有没有变化,如果没变,咱就继续L吧,如果有,去这个网站看一下反TP补丁有没有更新!!

五、运行游戏
运行游戏时,切换到游戏目录下的TCLS/目录,执行

代码: 全选
  1. WINEPREFIX=~/LOL/.wine $WINEVERPATH/bin/wine Client.exe
 

不过我的wine在安装好LOL后会在桌面生成图标,直接运行就可以了。
如果你的wine是安装到别的目录,比如/opt/lol-wine,那么可以建立一个脚本

代码: 全选
  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. "$WINEVERPATH/bin/wine" "$@" /media/data/Documents/LOL/英雄联盟/TCLS/Client.exe
 

保存为lol.sh,然后运行这个脚本。

好,接下来就好好享受LOL之旅吧!!

2013年4月1日:
有朋友反映说编译麻烦,我这里将我编译好的包发上来,分32位和64位,是分别在Fedora 18 x86和Gentoo amd64编译的,大家试着用一下吧,如果有问题,再发帖讨论。

lol-wine_32bit.tar.gz
lol-wine_64bit.tar.gz

如果您希望跟帖子里说的配置一样,根据自己的系统下相应的压缩包,解压到/opt/,

代码: 全选
  1. sudo tar xvf lol-wine_32bit.tar.gz -C /opt/
 

or

代码: 全选
  1. sudo tar xvf lol-wine_64bit.tar.gz -C /opt/
 

当然您也可以将/opt/另选为自己喜欢的目录。
接下来,您就可以跳过上面的“第一步”,直接从“第二步、配置wine环境”开始了 

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

2013年4月7日:
提高游戏fps的技巧(转自LOL论坛):
1、更改注册表

代码: 全选
  1. WINEPREFIX=~/LOL/.wine regedit
 

打开注册表编辑器,找到键
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
 

这里指定它只用编号为1的cpu核心。

(转,感谢原作者!)既然选择了Linux,有何必在乎这些——Linux wine国服LOL英雄联盟,完美运行!!的更多相关文章

  1. Linux CFS调度器之pick_next_task_fair选择下一个被调度的进程--Linux进程的管理与调度(二十八)

    1. CFS如何选择最合适的进程 每个调度器类sched_class都必须提供一个pick_next_task函数用以在就绪队列中选择一个最优的进程来等待调度, 而我们的CFS调度器类中, 选择下一个 ...

  2. ESXi服务器遇到 IPMI_SI_DRV 的解决, 感谢原作者 以及今天 解决问题.

    ESXI 服务器断电之后一直 LOADING MODULE IPMI_SI_DRV 的解决办法 今日家中忽然断电,之后 ESXi 服务器就一直疯狂转,连接显示器,发现原来一直没有启动.停留在ESXi  ...

  3. MAC office2016 安装及激活(试了一下,靠谱, 非常感谢原作者)

    转载地址:https://blog.csdn.net/jxq0816/article/details/77248462 非常感谢原作者. 一.安装包下载地址 http://officecdn.micr ...

  4. 调皮的程序员:Linux之父雕刻在Linux内核中的故事

    本文内容由公众号“格友”原创分享. 1.引言   (不羁的大神,连竖中指都这么帅) 因为LINUX操作系统的流行,Linus 已经成为地球人都知道的名人.虽然大家可能都听过钱钟书先生的名言:“假如你吃 ...

  5. 学习Linux须知1.0之Linux相关概念、工具(yum、vim)、防火墙等

    温馨提示:重点掌握的前面都标注了 ☆ 一.Linux 是什么? Linux 是一个操作系统. 我们的 Linux 主要是系统调用和内核那两层. 当然直观地看,我们使用的操作系统还包含一些在其上运行的应 ...

  6. Linux实战教学笔记08:Linux 文件的属性(上半部分)

    第八节 Linux 文件的属性(上半部分) 标签(空格分隔):Linux实战教学笔记 第1章 Linux中的文件 1.1 文件属性概述(ls -lhi) linux里一切皆文件 Linux系统中的文件 ...

  7. (转)Linux下安装rar fou linux

    在Linux下安装rar fou linux rar for linux 软件下载地址:http://www.rarsoft.com/download.htm 到目前为止最新的版本为4.10 beta ...

  8. .Neter玩转Linux系列之一:初识Linux

    一.为什么要学习Linux (1)首先我们欣赏一下,曾经的微软是如何看待Linux的,是不是很惊讶,微软还是很可爱的(#^.^#) 如今的微软看待Linux的态度:有人说微软技术那么厉害,难道微软就不 ...

  9. Linux(一)—— Unix&Linux 历史

    Linux(一)-- Unix&Linux 历史 Unix =Unix内核+Unix实用工具 Unix Unix 的诞生 Unix的历史可以追溯到20世纪60年代中期,当时麻省理工学院,AT& ...

随机推荐

  1. css 属性之绝对定位

    <html><head><style type="text/css">h2.pos_abs{position:absolute;left:100 ...

  2. 魅蓝3s adb interface 找不到驱动程序

    完全照搬大神的步骤就ok啦,,自己记录下,方便以后查找 Win7 x64 Eclipse无法识别手机 / adb interface有黄色感叹号,无法识别 http://blog.csdn.net/z ...

  3. Yii2——MYSQL操作

    先创建连接对象 $connection = new \yii\db\Connection([ 'dsn' => $dsn, 'username' => $username, 'passwo ...

  4. 直接引用windows命名空间

    再逛博客的时候,看见一段这样代码.获取系统密码的 static void DumpCredentials(Windows.Security.Credentials.PasswordCredential ...

  5. KEIL C51的XBYTE关键字

    The XBYTE macro allows you to access individual bytes in the external data memory of the 8051. You m ...

  6. 调用API函数,在窗口非客户区绘图(通过GetWindowDC获得整个窗口的DC,就可以随意作画了)

    http://hi.baidu.com/3582077/item/77d3c1ff60f9fa5ec9f33754 调用API函数,在窗口非客户区绘图 GDI+的Graphics类里有个FromHdc ...

  7. POJ1159 Palindrome(dp)

    题目链接. 分析: 感叹算法的力量. 方法一: 设 dp[i][j] 为字符串 s, 从 i 到 j 需要添加的最少字符数. 那么如果 s[i] == s[j], dp[i][j] = dp[i+1] ...

  8. POJ2240 Arbitrage(最短路)

    题目链接. 题意: 根据汇率可以将一种金币换成其他的金币,求最后能否赚到比原来更多的金币. 分析: 最短路的求法,用floyd. #include <iostream> #include ...

  9. COJ 0017 20604悲剧文本

    传送门:http://oj.cnuschool.org.cn/oj/home/problem.htm?problemID=17 20604悲剧文本 难度级别:B: 运行时间限制:1000ms: 运行空 ...

  10. Yarn应用程序运行流程剖析

    Yarn(Yet Another Resource Negotiator)是一个Hadoop集群资源管理系统,Hadoop2时被引入,旨在提高MapReduce的性能,但YARN已足够通用,使得它可以 ...