原神电脑版【官服

您所在的位置:网站首页 原神pc启动器在哪里 原神电脑版【官服

原神电脑版【官服

2024-02-10 11:18| 来源: 网络整理| 查看: 265

写在前面

①最后修改于2022/12/23 游戏版本3.3 启动器版本2.22.0

②仅从功能出发,分析一下流程,不专业见谅

③下文中Lconfig特指启动器配置文件、Gconfig特指游戏配置文件,实际文件名皆为config.ini,Lc.xxx特指启动器配置文件[launcher]组相应参数、Gc.xxx特指启动器配置文件[General]组相应参数;参数使用蓝色,路径文件使用橙色,小节使用绿色

§1. launcher-启动器

鉴于玩家想通过安装多个启动器以实现渠道切换却卡在第一步,就先从启动器说起...

§1.1 启动器的安装

首先从各渠道官网下载安装包,下哪个都差不多但国际服下载相关功能可能网速比较慢

由安装软件常识:原神安装包相当于一个自解压的压缩文件,可以直接提取;一般都是直接运行安装,其位置取决于注册表【HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\原神(Genshin Impact)】项中InstallPath关键字键值,若不存在该项则取决于【HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion】项中ProgramFilesDir关键字键值

直接安装的文件夹名称只能是Genshin Impact,后期可以自行更改移动,如果在同一路径重复安装启动器,就会因为重名文件夹把原来的启动器顶掉大部分文件,除了Lconfig;同理,桌面和开始菜单中的快捷方式也因为同名被顶掉,即使你已经修改过了路径;注册表略有不同,国服为原神,国际服为Genshin Impact,大渠道之间不会被顶掉,官服B服仍会

§1.2 Lconfig-启动器配置文件

Lconfig-启动器配置文件,即启动器根目录下也就是launcher.exe所在目录里的config.ini文件

打开启动器时未检测到Lconfig或其[launcher]组内容不全时,会自动创建该文件夹或填入参数,以下是各渠道的初始Lconfig内容,大部分不具有参考价值,下面浅说一下各参数作用,具体功能放在§1.4

1. 可更改有用参数

①game_install_path-游戏安装目录,后文使用中文名称

默认为启动器根目录下.\Genshin Impact Game,中文路径必须转成十六进制以\x的格式写入,否则会乱码

②channel-渠道

默认为1,国服中B服为14、官服为1,国际服为1

仅在B服启动器&Lc.channel=14时下载B服sdk

2. 可更改无用参数

①cps-渠道备注(channel_postscript)

完全没有用处,仅备注

②sub_channel-子渠道

默认为1,对于启动器几乎没有用处

仅在国际服启动器&Lc.sub_channel=3时下载epicsdk

3. 不可更改参数

①game_dynamic_bg_name-游戏背景图片名称

获取自§1.3.3 data.adv.background

②game_dynamic_bg_md5-游戏背景图片哈希

获取自§1.3.3 data.adv.bg_checksum

③game_start_name-游戏启动名称

4. 其他参数

大部分不做解释,在启动器设置内有图形界面

①launcher_showup_type-是否退出游戏时弹出

②speed_limit_enabled-是否开启下载限速

③speed_limit_size-下载限速数值

④is_first_exit-是否首次退出

⑤exit_type-退出类型

⑥game_screenshot_clicked-是否点击过截图

⑦game_screenshot_tip_visible-是否显示查看截图弹窗

§1.3 启动器的GET请求

单分出去了一个专栏,内容稍微详细一些,避免此处过于臃肿

代码块内依次为官服、B服、国际服

对应的launcher_id,key:18 eYd89JmJ,17 KAtdSsoQ,10 gcStgarh

channel_id,sub_channel_id读取自Lconfig

可以很明确的看到官服&B服请求URL是相同的,仅参数有区别,launcher_id决定最多获取到什么,resource中channel_id&sub_channel_id决定能获取到什么,下面放的都是最简参数,国际服sub_channel_id=3目的为获取EPICsdk

1.getLatestRelease 获取启动器更新

key随版本更新,仅记录一组

2.resource 获取游戏资源

3.content 获取显示内容

4.changelog 获取启动器更新日志

5.protocol 获取游玩协议

6.plugin 获取补丁(?)

{{device_id}}待察

§1.4 启动器的主要功能

1. 安装vc运行库&补丁

运行安装包时没有该环境就会自动安装Microsoft Visual C++ 2015-2019 Redistributable (x64) - 14.27.29016也就是根目录里的vc_redist.x64.exe

补丁大概从§1.3.6获取,非win7系统请求没有结果(?)

2.启动器版本更新

若§1.3.1 data.has_update=true即需要更新(?),更新时不改变Lconfig

3.界面显示内容

依照§1.3.3发送请求,返回背景图片信息,海报、公告等(除B服启动器)

4.判断游戏存在&获取/更新游戏

在游戏安装目录下,存在名为YuanShen(GenshinImpact).exe的文件,且存在Gc.game_version,则判断为存在游戏,使用另外一个文件夹功能基于此判断

若不存在游戏,根据§1.3.2 data.game.latest内容下载最新版游戏本体&语言文件(系统语言)&sdk文件,仅在B服启动器&Lc.channel=14或国际服启动器&Lc.sub_channel=3时下载B服sdk或EPICsdk,下方更新同理;获取游戏时最后一级目录名称必须为Genshin Impact Game

若§1.3.2 data.game.latest.version与Gc.game_version相差两个小版本以内进行游戏版本更新(跨大版本待验证),大于两个版本将获取游戏;若§1.3.2 data.sdk.version不等于Gc.plugin_sdk_version,进行sdk版本更新

5.下载&解压

获取游戏下载2-3个文件分别为,YuanShen(GenshinImpact)_{verion}.zip,Audio_{lang}_{verion}.zip,B服sdk或EPICsdk(1f0f2988a4dce2ffde7a9bf2cf03f70a_6649586421998027419.zip或12e811ff46561379abff7282a7cd8a10_4290195114874450168.zip)其中游戏本体为每10G分卷压缩,仅在B服启动器&Lc.channel=14或国际服启动器&Lc.sub_channel=3时下载B服sdk或EPICsdk,解压同理

下载URL来自§1.3.2 data.game.latest,sdk来自§1.3.2 data.sdk,更新来自§1.3.2 data.game.latest.diff,预下载来自§1.3.2 data.pre_download_game

每下载完成一个压缩包进行第一次校验,等待全部文件下载&校验完成开始解压,全部解压全部后,再进行对所有文件的第二次校验

更新会多一步合并资源,合并时先根据deletefiles.txt删除过时文件,再使用hpatchz.exe根据hdifffiles.txt直接进行增量更新,不判断原文件版本

6.校验&一键修复

校验即比较文件的md5码,失败将会重下,第一次校验的的压缩包md5码来自§1.3.2,第二次校验的文件md5来自压缩包内的pkg_version,Audio_{lang}_pkg_version,sdk_pkg_version,仅在B服启动器&Lc.channel=14或国际服启动器&Lc.sub_channel=3时进行对sdk的校验

第二次校验等同于一键修复功能,非注明本文校验都以第二次为准,一键修复会检测游戏安装目录下是否存在pkg_version,否则按钮置灰无法使用

校验过程中如果很多文件(?)都未校验成功将直接重新获取游戏,个别文件失败仅重下该文件,后缀_tmp,单文件下载地址来自§1.3.2 .data.game.latest.decompressed_path

校验完成后对Gconfig进行处理,将Lc.channel,Lc.sub_channel,Lc.cps覆盖到Gc.channel,Gc.sub_channel,Gc.cps,更新Gc.game_version&Gc.plugin_sdk_version参数,并将[General]组参数置顶,清除无组参数

7.自动清除游戏特定残留文件

文件列表来自§1.3.2 data.deprecated_files,包含一些dll和sys文件

当Lc.channel=14时,不删除../YuanShen_Data/Plugins/PCGameSDK.dll,也就是B服SDK

§2 Game-游戏

更新中...

以下为过去内容

§3 游戏&启动器的问题orBUG

特指本文能解释的问题,其他问题见下方专栏

§3.1 启动器的BUG&问题

1、打开时报错0xc000007b或0xc00000e5

前者为不存在【Microsoft Visual C++ 2015-2019 Redistributable (x64) 】运行库;后者可能为运行库版本有问题,大概率伴随游戏driverError

2、自动覆盖Lconfig参数

国服启动器(国际服未发现且无影响)以launcher.exe为进程名启动后,打开启动器时自动覆盖以下参数到Lconfig[launcher]组

3、下载时网络/校验/解压错误

下载安装过程中,可能出现,网络错误、校验错误和解压错误,其中校验错误会直接删除文件,另外两个保留文件

网络错误大概率是真的网络有问题,也可能是已存在同名zip或下载进度丢失;校验错误可能是RAM、ROM还有网络出现问题,除非有CRC校验错误,游戏自行解压后是可以正常使用的;解压错误是因为启动器修改zip_tmp后缀为zip时已存在同名文件等原因

还有一个出错是因为磁盘格式Fat32,导致单个文件最大4G,下载会失败不记得报错是什么了

§4 未命名板块

§4.1 评价网上的各种换服方法

PC版官服B服换服教程一搜一大堆,大部分是炒冷饭,不谈优缺点,自己都没有理解原理,也没有创新,问他换服相关问题也不知道是怎么产生的怎么解决有也麻烦,为了流量,好心办坏事?不得而知。少量有新意的方法值得肯定,但往往换服过程不尽人意吧

国服国际服互转不多说,就是一个简单的替换文件;官服B服互转,无论是何种方式,一定是直接或者间接修改了Gc.channel(,添B站sdk),全局性问题下文不写

1、直接修改Gc.channel(,添B站sdk)

(1) 优点:一般情况下熟练后效率较高,最直接的方法

(2) 缺点:小白不友好

(3) 可能遇到的问题:

 ①修改需要管理员权限

 ②偶尔的官服存在B站SDK报31-4302

 ③启动器执行校验后覆盖参数

 ④启动器自行删除B站sdk

(4) 有误观点

 ①须同时修改Gc.sub_channel和Gc.cps

    需要taptap一直让Gc.sub_channel=1即可,除Gc.channel其他都不需要动,说检测作弊无稽之谈

 ②须同时修改Lconfig

    Lconfig对渠道无直接影响,B服sdk被删除也只需要使Lc.channel=14(除bug覆盖参数)

2、创建起始位置无Gc.channel=14的快捷方式,游戏安装目录Gc.channel=14并存在PCGameSDK

(1) 优点:一般情况下效率高

(2) 缺点:小白不友好

(3) 可能遇到的问题

 ①偶尔的官服存在B站SDK报31-4302

 ②启动器执行校验后覆盖参数

 ③启动器自行删除B站sdk

3、通过多次下载or复制,使有两份不同渠道文件

(1) 优点:两份文件互不干扰

(2) 缺点:下载更新耗时长、占用空间大

(3) 可能遇到的问题:启动器快捷方式覆盖

(4) 有误观点:两份文件须在不同盘,实际上路径不同即可,说这话的安装软件都没玩明白

4、换服程序

(1) 优点:一般情况下效率最高,同时如果作者懂可以规避一些简单的bug

(2) 缺点:要额外下载,程序体积问题等

(3) 可能遇到的问题:系统bug,程序bug

5、我做的换服脚本(夹带私货)

(1) 优点:一般情况下效率最高,可规避二级地址解析错误和官服存在B服SDK导致的31-4302,还可解决未知原因导致的config不读取,压缩文件体积2.6MB,其中和核心文件大小11KB,B服sdk占5.3MB

(2) 缺点:要额外下载(但提供蓝奏云),x.x.0版本往往不稳定

(3) 可能遇到的问题:

 ①被杀软拦截

 ②mshta.exe文件有问题导致脚本无法运行

待更新~~~

下方为上一版的内容,新版没更新完全时会一直保留

Launcher-启动器

从启动器说起...

安装时提供自定义选项,可自选安装路径。可以同时安装官/B/国际服启动器,唯一前提是路径不同,路径相同会覆盖(,将启动器单纯的复制可能会导致一些问题,没有实测)。覆盖安装的时候不会删除原有config.ini[launcher] 和【游戏安装目录】下文件。

当【游戏安装目录】存在YuanShen.exe(文件名正确即可,国际服为GenshinImpact.exe)和config.ini(内容最少为[General] game_version=当前版本号,具体见下文config.ini[launcehr]用途)时即判定已安装游戏。在启动器2.15.4.0版本,启动器打开后会有较长时间用来检测更新,在检测各项功能是最新版后不会再次触发检测

对比三种启动器没有很多差异。B服与官服区别仅在launcher.exe,uninstall.exe,Update.exe和config.ini[launcher];国际服除了上述三个还有7z.exe和一些dll不同

简单看一下启动器配置文件config.ini[launcher]的内容

cps用途不明,channel渠道,sub_channel子渠道,game_install_path游戏安装路径,game_dynamic_bg_name/md5背景图片及校验,game_start_name主程序名称,(is_first_exit退出弹窗,exit_type退出模式,speed_limit_enabled下载限制开关,speed_limit_size下载限速值)

channel:仅在使用B服启动器且config.ini[launcher]中channel=14下,获取游戏或config.ini[General]中plugin_sdk_version值不为3.3.0(包括不存在key)时会下载解压安装B服额外的包,非B服启动器无论怎么改参数都不会自动下载与安装B服额外的包

game_install_path:首次获取游戏时,游戏安装路径必须在../Genshin Impact Game下。有游戏本体后可以随意更改,也可使用设置中-本地文件-查找游戏功能修改路径

game_start_name:写在配置文件中看似可以自定义,实则,主程序名称必须为YuanShen.exe(国际服为GenshinImpact.exe)

其中cps、channel、sub_channel会在安装与更新时覆盖config.ini[General]中对应的参数

右侧选中的为B服原神额外的包,仅能在B服启动器下载得到,内有sdk_pkg_version和PCGameSDK.dll

启动器的一键修复。校验修复需要游戏目录下的 pkg_version 和 Audio_{lang}_pkg_version,该功能可以补全缺失的文件,用于误删等,大部分情况下一键修复并没有用处 。一键修复必须要有pkg_version,没有这个将不出现修复按钮

B服多一个sdk_pkg_version(用于补全PCGameSDK.dll),但类似上文channel参数与B服启动器,仅在B服启动器且config.ini[launcher]中channel=14且存在pkg_version时会校验修复

Game-游戏本体

游戏本体的下载与安装。在启动器点击获取游戏开始下载,下载后进行一次校验,然后解压再校验,最后生成一个config.ini[General],cps、channel、sub_channel继承自config.ini[launcher],game_version为当前版本号(,plugin_sdk_version为PCGameSDK.dll版本号,安装B服额外的包时自动添加参数),更新时类似。

往往检验的速度是比较慢的,尤其是机械硬盘。可以等下载完成后,直接关掉启动器,把zip_tmp后缀改成zip,手动把所有下载文件解压到当前文件夹,最后新建一个文本文档,重命名为config.ini,内容如下(图为用启动器启动游戏需添加的最少参数)

对比三个游戏本体同样没有很多差异。

B服和官服的pkg_version、Audio_{lang}_pkg_version完全一致,B服多一个sdk_pkg_version,那么差异就是其中写的PCGameSDK.dll

而国际服与国服只有Audio_{lang}_pkg_version相同,pkg_version内容不同,共计42处(有两处是mhyprot3.Sys.bak和mhyprot2.Sys.bak,没有计算在内)

所以官服B服切换只需要修改config.ini[General](,官到B额外加一个PCGameSDK.dll),而国服国际服切换要覆盖文件(,或用国际服的文件校验直接修复),并删除PCGameSDK.dll

覆盖文件下载链接(请核对版本):https://pan.baidu.com/s/1D-gEfE2QLV0fA4Ut3oVfiQ?pwd=yowv;QQ群【915926721】文件也可下载:群文件/原神相关Genshin/[版本]国服转国际服.zip&[版本]国际服转国服.zip

简单看一下初始游戏配置文件config.ini[General]的内容

cps用途不明、channel渠道、sub_channel子渠道、game_version游戏版本、sdk_versionPCGame.dll版本

game_version:用于启动器检测下载更新

plugin_sdk_version:见启动器分析部分

channel、sub_channel:国服见下图;国际服channel=1

当检测不到配置文件时,国服默认启动官服。也就是说国服原神程序的默认参数为channel=1,sub_channel=1

启动过游戏后,三个服在Data目录下生成【Persistent】文件夹,里面有一些资源文件,内容一样,是在加载游戏时的搭桥界面下载的;官服和国际服在Data目录下生成WebCaches文件夹;B服在【YuanShen_Data/Plugins】下生成fail3dlog.db 和 license.txt。这些都是后话了

最后是一些奇怪的机制,当游戏安装目录中的文件有丢失、损坏、多余,系统环境异常等,原神就会出现各种问题。有二级地址解析错误、数据异常31-4302、DllNotFoundException,游戏闪退打不开,登录不了等,因为说起来比较繁琐,比如如何界定哪些文件会出问题?类似的原因产生了不同的报错等等,这里新写了一个专门来解决BUG的专栏:cv14772737,同【写在前面③】

结论咳咳,不想写了,上面已经很详细了

如果这对你有帮助的话,

就给个三连+关注吧QAQ~



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3