欢迎光临散文网 会员登陆 & 注册

Linux终于能完美游玩FF14:满速下载与游玩全解,第三方启动器支持一键登录

2022-06-20 20:57 作者:逻辑学带师Songer  | 我要投稿

(本文主体为Wine运行启动器,现已有原生编译版启动器,请翻到最后查看)

相信广大国服光呆一定长期为一件事所困扰,那就是,国服相关的下载器和启动器等实在是太……special了

先不说这个长相老掉牙的下载器 (我当年的旧电脑还会卡死在0%,被逼无奈上了WeGame的黑车);

这个很……复古的界面……(图源国服官网)

然后就是启动器那如蜗牛一般的更新速度,10M/s以上的带宽跑出1M/s的速度,实乃一绝;

更为大家熟悉的就是登录游戏的繁琐操作,每次登录都要这么做一套(现在各位可以开始笑了):

  1. 掏出你的手机;

  2. 打开叨鱼app;

  3. 点击跳过开屏广告;

  4. 点击启动器的“一键登录”(虽然其实不用等广告就能点);

  5. 如果app成功弹窗,就在手机上拖动滑块完成登录验证;

  6. 要是不能,又得打开扫一扫界面,扫描启动器二维码以登录。

虽然PC版叨鱼可以真·一键登录,但是这玩意绝不是什么省油的灯,我劝你们千万不要安装。我曾经安装过一次,结果发现它的所谓“安全”功能趁管理员权限之便,把我的罗技g控制面板当危险程序沙了,搞得我以为鼠标坏了,焯!

另外,还有一个对我来说很重要的问题,那就是国服FF14无法在Linux上完美游玩。这一问题并不是因为FF14游戏本身的运行难度过高,其实狒狒本体早已能用Wine完美运行。对于国际服的官方启动器版,可以更改两个小参数(官方启动器改为旧版,以及跳过会导致游戏卡死的第一次运行游戏过场动画,就是“海德林,一颗充满活力的行星”那个),即可正常模拟运行;或者也可以使用国际服的第三方启动器XIVLauncher进行游玩;而G胖方面的Proton大法(上游基于Wine)更是已经可以完美运行Steam版的国际服FF14(不然你以为他为啥能在Steam Deck上陪儿子玩,虽然Deck的兼容性验证还是“不支持”);但是国服长期以来却并不能享受这种待遇。

ProtonDB的兼容性页面 https://www.protondb.com/app/39210
Lutris的页面 https://lutris.net/games/final-fantasy-xiv-online/

nga之前有在Linux下游玩国服狒狒的帖子教程,也有依照教程制作的lutris脚本,但是是32位容器+DX9模式运行。我测试过,盛趣官方的启动器在Wine下运行需要在容器内安装ie8,而winetricks提供的ie8只能在32位容器内安装,DX11又无法工作于32位模式。

原帖地址 https://bbs.nga.cn/read.php?tid=18782486

然后这个b站视频在此基础上,解决了ie8依赖的问题,得以使用64位容器,甚至还可以使用ACT(虽然是纯净版,无法使用国服整合),但DX11模式仍然无法工作。有评论区老哥发现原因在于,登录验证中的核心进程在DX11模式下启动后会立即自杀。考虑到国际服早已放弃DX9支持,国服指不定什么时候也会紧随其后,留在DX9上显然不是长久之计。

直到上月,XIVLauncher终于有了国服移植版,最后的一块拼图完整了。我喜大普奔,终于不用再受官方启动器的气了,立即下载使用。目前的版本经测试,可以实现记住登录凭据,真·一键登录,不需要掏手机,不需求管理员权限,而且更令人惊喜的是,Linux也终于可以在DX11下运行国服了!!!快把游戏安利给你身边常用Linux的朋友(不是

本文包含以下内容:

  1. 如何不使用官方下载器下载游戏;

  2. 如何让WeGame和盛趣双端共用游戏文件(我就是双修用户);

  3. 如何使用第三方启动器在Linux上畅玩狒狒。


免责声明:XIVLauncher为第三方启动器,不受官方承认;其包含可选开启的某功能,该功能存在争议和风险性。本文仅使用该启动器以登录启动游戏,未对游戏文件和程序进行更多操作;本文不鼓励也不建议任何人开启其可选功能,也不会回答任何与可选功能相关的问题,使用第三方启动器的一切后果由使用者自行承担。本文提倡各位纯净进行游戏,至于官方态度,请移步丝瓜和吉田,请外挂警察不要在这理发店

绕过官方下载器的方法很简单,游戏离线安装包的文件链接都是明码,并且和启动器在同一个目录下,稍微修改一下链接就可以了。我们首先复制出来下载器的链接:

路径是https://ff14.jijiagames.com/6.0/FFXIV_20220303_downloader.exe,很显然这个6.0目录下面放置有我们所需要的所有文件。接下来看下面的文件MD5码列表:

那么我们要做的事情就很简单了,把链接中FFXIV_20220303_downloader.exe替换成该列表中的文件名,再用其他下载工具下载即可。就是手动改链接操作略微麻烦,如果自己愿意动脑筋的话,可以利用一下其他下载工具的批量链接下载功能等。所有文件下载完毕之后的安装就不用讲解了,一路next即可。

速度可以跑满,爽的一笔

WeGame和盛趣双端共享的话,现在已有人开发了现成的工具(见https://bbs.nga.cn/read.php?tid=24056122)。其实其核心原理很简单,就是mklink命令,利用NTFS文件系统的符号链接功能。如果没学过Linux的可能不好理解这一功能,通俗来说,就是为一个文件夹在另一处创建了一个“传送面板”或者“影分身”,这个“分身”和原始文件夹呈现出的内容完全一致,对分身的修改也会反映到原始文件夹上,一个文件夹可以在两处用,并且只占用一份空间,毕竟是“传送面板”嘛。

如果你已经同时安装了WeGame版和盛趣版两份游戏,想快速合并其实很简单。删除其中一个版本下面的game文件夹,再把另一个版本的game文件夹用mklink命令做一个符号链接到该位置替换之,就可以共享游戏文件了,这也是上面那个工具的原理所在,我最早就是手动用这种土方法共享双端文件的。

(请注意,mklink只能在命令提示符下使用,Powershell不支持该命令,如果你打开了Powershell,请先在Powershell里面键入cmd运行命令提示符。如果提示权限不足,请以管理员方式启动Powershell/命令提示符。另外,一定要记得备份game下面的My Games文件夹以防丢失键位等设置!)

符号链接在图标旁边会带一个箭头,看上去很像快捷方式,不过其实是完全不同的东西

接下来是XIVLauncher这个第三方启动器。国服的移植版本见该链接:https://github.com/ottercorp/FFXIVQuickLauncher。请注意目前该启动器还处于测试版,可能存在不稳定因素。对于Windows用户来说,直接下载安装,指定好游戏目录,即可使用。

Linux用户的话,记得先使用Winetricks,在容器中安装好版本号高于4.5的.Net框架依赖(XIVLauncher基于.Net开发),我采取的是直接安装winetricks中的dotnet48,总之原则上是版本就高不就低。从微软官网下载安装包也可以,但还需要msi安装程序作为前置,所以还不如直接用winetricks。另外强烈建议安装dxvk(在Wine下玩大型游戏的神器,将DirectX API转换成Vulkan的兼容层),游戏体验会相当丝滑。其他的依赖应该都不需要,这一点不同于官方启动器方案需要大量繁琐的依赖。我这里省去了所有安装细节,因为我默认长期使用Linux的用户应该熟悉Wine的使用方法了,如果你不熟悉,建议先自行搜索学习Wine相关资料(我个人强烈推荐ArchWiki https://wiki.archlinux.org/,哪怕你使用的发行版不是Archlinux,它也有极强的参考价值)。

在Linux和Wine上安装的话,这里需要注意几点:

  1. rundll32报错“This application could not be started”弹窗可以无视;

  2. 如果你的容器中已经安装了Wine-mono这个Wine方面的.Net运行库仿制版,可能需要手动在Wine设置里面卸载它(解除其dll替换项),以防和官方.Net冲突;

  3. 使用何种wine运行库目前是玄学问题,似乎随运行环境不同会存在差异,可能只能靠自己反复试错。我尝试过程中发现使用多种wine运行库都会出现很长的XamlParseException报错,最后尝试到wine-staging 7.11才成功。如果你发现还有别的运行库可以成功运行,也欢迎分享出来。

  4. 如果因为种种玄学原因实在无法自行安装.Net,或者是懒,可以直接参考我上面引用的视频,评论区置顶有已安装好.Net的Wine容器打包,很方便,拿来就能用,我测试环境的时候也用过;

  5. 如果你成功启动了XIVLauncher,还要注意,在Wine环境下它不会弹窗询问游戏目录位置,而是会在加载一会之后直接报错称无法更新。其实这个报错是有迷惑性的,真实原因是启动器找不到游戏目录。解决方法是直接修改启动器的配置文件,手动指定游戏目录的位置(Wine中Linux文件系统的根目录对应到Z盘)。

可以查看日志或者命令行输出,若显示这样的信息输出,说明可以运行启动器。反之则可能报Xaml错误或假死
在discord与人交流的情况

Finally, it's done!

完成效果展示。可以看到仅DX11下可用的高分辨率界面选项

经进一步测试,ACT也可以运行,不过只能运行原版。我使用呆萌整合进行了测试,结果呆萌整合的汉化等功能以及所有插件都没有加载,等同于启动了原版ACT,不过仍然可以手动加载插件以使用FFXIV解析插件和Overlay悬浮窗。

如果要使用ACT,需要额外注意两点:

  1. ACT会出现中文程序在Wine中的典中典口口口乱码情况,老办法,winetricks安装corefonts和fakechinese字库之后得到了解决;

  2. 默认情况下,FFXIV解析插件会无法解析进程网络数据而报错。解决办法在上面提及的视频中可以找到,出自https://github.com/valarnin/ffxiv-tools/,我手动运行其脚本中的三行命令后,解析插件即可成功解析战斗数据。

Overlay悬浮窗似乎可以使用,但存在一定问题,悬浮窗经常神神秘秘不肯出现;并且游戏哪怕是无边框窗口化时,悬浮窗都会被游戏遮挡,当然这一问题应该涉及窗口管理器,非KDE用户可能不会出现此问题。不过我觉得有解析功能,能传logs就足够了,要什么自行车:D

至于FF Logs Uploader,直接就有原生的Linux appImage包,直接用就完事了。

我估计作用是允许对wine相关进程的网络活动进行捕捉
ACT可以正常解析数据

理论上说,Wine以及其下游也能运行于Mac上,所以以上方法也能在Mac上故技重施。另外,Steam Deck也当然可以使用该方法游玩国服,因为SteamOS本质上就是一个ArchLinux,甚至如果你在Deck中选择切换到桌面模式,就能见到一个基于KDE Plasma的桌面环境,甚至可以使用pacman的软件源,这也正是我正在使用的Linux方案,所以理论上应该同样适用。有兴趣的朋友可以自己研究一下。

希望各位在艾欧泽亚玩的开心!

(2022/8/14:忙于考研复习,才发现某乎有人引用了我的拙文,Mac用户可以参考这篇:

https://zhuanlan.zhihu.com/p/539627025

用到了XIV on Mac这个项目:https://www.xivmac.com/)

(2022/9/24:XIVLauncher原项目FAQ给出了Steam Deck上运行启动器的方法:https://goatcorp.github.io/faq/steamdeck

看到这个,再翻看XIVLauncher项目,发现XIVLauncher现在已经可以编译成原生Linux和MacOS的版本,毕竟.Net已经是跨平台的了,但是目前从Github下载不到正式安装包。Archlinux AUR库已经有人上传了AUR包(xivlauncher-git),从PKGBUILD看,目前需要从源码指定参数自行编译,国服版本理论也可以这么做。我现在是没工夫折腾了,各位需要的还是自理罢)

https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=xivlauncher-git

2023/3/22:从xlcore编译原生启动器运行游戏

截止目前,AUR有xivlauncher-cn-git包处于活跃,archlinux用户可以方便地下载安装。AUR真的是无尽宝藏一把子爱住了

红字表明启动器无法使用自动登录功能,每次都要扫码。不过我现在玩的也少了懒得研究了(Linux密钥这块说实话我一直没弄懂,我明明有GnuPG也生成过私钥啊

启动器默认情况下会自行下载wine-staging,如果你希望使用系统自带的wine,就需要修改一下设置。这回也不用非得改配置文件了,可以进设置页指定游戏目录,存档目录也可以单独指定!

游戏正常运行需要dxvk,如果使用的是系统wine需要手动WINEPREFIX=~/.xlcore_cn/wineprefix setup_dxvk一下。

然后就可以开玩了!


Linux终于能完美游玩FF14:满速下载与游玩全解,第三方启动器支持一键登录的评论 (共 条)

分享到微博请遵守国家法律