标题: [精]在Linux中通过虚拟机使用Windows版网游加速器 [v1.0.4: 添加不代理某些域名的功能]
时间: 2020-09-17发布,2023-04-11修改
在最下面,请点击“查看全部”展开全文。
版本库(不含Windows虚拟机镜像,无法单独使用):
https://gitee.com/winegame/tproxy-jiasuqi (如果你不是专家,你不需要它)
~/jiasuqi/linux/jiasuqi.conf
就能看到不代理域名列表。命令行操作方法:
# 安装nslookup命令
# 适用于UOS/Deepin/Debian
# 其他发行版请自行想办法安装nslookup命令
command -v nslookup || sudo apt install dnsutils
cd ~
aria2c -x5 -s5 --allow-overwrite -o jiasuqi.tar.xz https://file.winegame.net/jiasuqi/jiasuqi-v0.1.4-without-vm.tar.xz
tar -vxf jiasuqi.tar.xz
UOS/Deepin/Debian:
sudo apt install qemu-system virt-viewer zenity ipset iptables iproute2 dnsutils openssh-client aria2 xz-utils
通过命令行下载并解压。
cd ~
aria2c -x5 -s5 --allow-overwrite -o jiasuqi.tar.xz https://file.winegame.net/jiasuqi/jiasuqi-v0.1.4-without-vm.tar.xz
tar -vxf jiasuqi.tar.xz
cd ~/jiasuqi/vm
# 虚拟机镜像有两个版本,任选其一
# 64位版(推荐)
aria2c -x5 -s5 --allow-overwrite -o windows.img.xz https://file.winegame.net/jiasuqi/windows-x64.img.xz
# 32位版(不推荐,不支持某些加速器,如果执行了上面的命令,就不需要执行这一条命令)
#aria2c -x5 -s5 --allow-overwrite -o windows.img.xz https://file.winegame.net/jiasuqi/windows.img.xz
# 执行上面任一命令后,继续执行后续解压操作
echo "正在解压..."
XZ_DEFAULTS="-T 0" xz -d windows.img.xz
文件会解压到你当前用户的主目录(/home/用户名
)里,文件夹名称jiasuqi
。
解压Windows虚拟机镜像很慢,请耐心等待,如果你想看进度,可以开另一个终端执行以下命令:
watch -n1 ls -lh ~/jiasuqi/vm
进入解压出来的jiasuqi
文件夹(在主目录,又名“主文件夹”,又名“Home目录”,不在桌面),双击“启动加速器.sh”,选择“在终端中运行”,然后按提示操作(参考上面的视频)。
如果虚拟机无法联网,请为它配置静态IP:
IP:10.23.45.2
子网前缀长度:24(或者子网掩码:255.255.255.0)
网关:10.23.45.1
首选DNS:114.114.114.114
备用DNS:114.114.115.115
参考教程:https://jingyan.baidu.com/article/63acb44af8602820fcc17e82.html
刚开始弹出的exe选择框,选择的是要加速的游戏,不是要安装的加速器。你可以在虚拟机内下载、安装加速器,不需要在Linux里下载。
虚拟机打开后,如果不在里面运行“启动代理.bat”,Linux就无法联网。注意,“启动代理.bat”打开的黑色窗口必须一直开着,关掉它相当于关掉代理,Linux会立即断网!此外,如果用完代理后想恢复Linux正常联网,请给虚拟机关机。
如果虚拟机无法打开,终端上出现以下错误:
qemu-system-x86_64: failed to initialize KVM: No such file or directory
需要在BIOS中打开虚拟化支持,Intel叫做VT-x,AMD叫做SVM或者AMD-v。也有的BIOS直接叫做"Virtualization Technology"(VT)。
开启方法可参考以下教程:https://blog.csdn.net/weixin_44210782/article/details/104661303
如果虚拟机经常卡死,可能是内存不足,可以打开jiasuqi/vm-cli.sh
文件,然后把-m 2G
改成-m 3G
或更大。
如果虚拟机磁盘空间不足,可以用以下方法扩容:
虚拟机关机。
打开终端执行命令(把10G
改成想要增加的容量):
qemu-img resize ~/jiasuqi/vm/windows.img +10G
其他加速器未测试,欢迎补充。
_retail_
”里的“Wow.exe”(正式服)或者“_classic_
”里的“WowClassic.exe”(怀旧服)。_retail_
”里的“Overwatch.exe”,不是外面的“Overwatch Launcher.exe”。league-of-legends/drive_c/Riot Games/League of Legends
”文件夹里的“LeagueClient.exe
”。注意:v1.0.3之前的版本有Bug,无法加速LOL国际服,请升级到v1.0.3后使用。加速器使用了114 DNS,在jiasuqi/linux/jiasuqi.conf
中指定。如果效果不好,你可以换成其他DNS。注意,为了让DNS解析请求被代理,请不要使用内网IP作为DNS(比如192.168.1.1),否则DNS查询流量不会经过加速器,加速可能不会生效。
此外,jiasuqi/linux/jiasuqi.conf
中指定的DNS只用于Linux侧,Windows侧的DNS是由Windows自己管理的,你可以在网络适配器IPv4属性中修改(教程)。
-m 2G
)和2核(-smp 2,sockets=1,cores=2,threads=1
,这四个数字分别是当前分配
,插槽
,核心
,线程
。目前的数字代表:只有1个CPU插槽sockets=1
,插槽里的CPU有2个核心cores=2
,每个核心1线程threads=1
,也就是不支持超线程,然后把这个CPU中的2核全部分配给虚拟机-smp 2
,你可以根据你的CPU实际情况进行调整)。『回复列表(80|隐藏机器人聊天)』
@大尨,你用我的包测试的吗?我就分配了2核2G,只是为了开个加速器。你要多开程序,那打开vm-cli.sh
把核数和内存都加一加(看帖子的原理8)。
如果你是自己安装的虚拟机,有个地方要注意,就是这个CPU拓扑:
如果你的虚拟机支持手动设置,一定要手动设置。我的设置代表1个CPU插槽(套接字
是socket
的误译,在这里应该是插槽
),8核,16线程。如果你分配16核,这个虚拟机的默认设置是虚拟为16个单独的单核CPU(在Windows上会看到“插槽 16”)!!!这就非常离谱了,有时候性能会比只分配1核还差,因为在多个独立CPU之间进行同步,性能开销太大了。
顺便一提,vm-cli.sh
里的-smp 2,sockets=1,cores=2,threads=1
,就是指上面的当前分配
,插槽
,核心
,线程
。如果要改成和图中一样的,就是-smp 16,sockets=1,cores=8,threads=2
。我默认没设threads=2
,是为了防止在不支持超线程的CPU上启动失败。
此外我用的CPRA_X86FRE_ZH-CN_DREY.iso这个精简版Win10镜像真的非常小,几乎没有任何多余的东西,适合虚拟机使用。而且我特地选了32位版,因为64位版大一倍(不仅硬盘,内存占用也翻倍)。
@大尨,如果你指的是你的Linux很卡,那么你可能只是没有安装显卡驱动。
请在这里安装显卡驱动:
https://hu60.cn/q.php/bbs.topic.94828.html
顺便一提,你的问题描述的如此不清楚,除了上述三种可能(用我的包很卡,自己安装的Windows虚拟机很卡,自己安装的Linux很卡),还有无数种可能。所以,详细准确的描述问题,让读者看了只能想到一种解释,才能更快的解决问题。
是可以的,你把vm-cli.sh里面的qemu和remote-viewer命令删掉,然后去linux/jiasuqi.conf里面修改虚拟机IP就可以了。
如果你用自己安装的Windows系统,要把windows-x86/x64文件夹里面的内容放到C:\Tools里,然后安装里面的OpenSSH(或者你自己从系统的添加删除功能里面装),再把linux文件夹里面的id_rsa.pub加到SSH信任证书里面。
当然还要配置好防火墙,允许linux连接Windows的22和1080端口。
OpenSSH安装时要运行 install-sshd.ps1 和 FixHostFilePermissions.ps1
此外,证书可能要放在 %ProgramData%\ssh\administrators_authorized_keys 才会生效。
OpenSSH我是从这里下载的:https://github.com/powershell/win32-openssh
我的OpenSSH里的 FixHostFilePermissions.ps1 修改过,可以给 %ProgramData%\ssh\administrators_authorized_keys 修复权限。
权限没修复,不会生效。
重启SSH服务的方法:
net stop sshd
net start sshd