Open Fachep opened 4 months ago
新的设计似乎希望多个区服共存,目前对于原神/星铁的官服&b服可以做到这一点,无需额外转换。
原和铁启动时会读取当前工作目录下的config.ini,config.ini中大部分配置项仅用于官方启动器的版本校验,仅channel [cps?] subchannel会影响到实际运行的区服。 对于官服,除了原神3.x的某个版本,b服所需要的Plugins/[{arch}/]PCGameSDK.dll会被忽略。B服则是动态加载此dll,丢失会退回到官服。 因此可以设计针对 PCGameSDK.dll 的懒检查和开关,在启动对应的区服时,仅需将子进程的工作目录设置到 Starward 所创建的文件夹中。例如:
config.ini
channel
[cps?]
subchannel
Plugins/[{arch}/]PCGameSDK.dll
Yuanshen_Data/Plugins/PCGameSDK.dll
StarRail_Data/Plugins/x86_64/PCGameSDK.dll
# cn_gf/config.ini channel=1 cps=mihoyo sub_channel=1 # 0 for disabling taptap
# cn_qd01/config.ini channel=14 cps=bilibili sub_channel=0
这可能是目前的目标https://github.com/Scighost/Starward/issues/749
Checklist
Summary
新的设计似乎希望多个区服共存,目前对于原神/星铁的官服&b服可以做到这一点,无需额外转换。
Solution or Design
原和铁启动时会读取当前工作目录下的
config.ini
,config.ini
中大部分配置项仅用于官方启动器的版本校验,仅channel
[cps?]
subchannel
会影响到实际运行的区服。 对于官服,除了原神3.x的某个版本,b服所需要的Plugins/[{arch}/]PCGameSDK.dll
会被忽略。B服则是动态加载此dll,丢失会退回到官服。 因此可以设计针对 PCGameSDK.dll 的懒检查和开关,在启动对应的区服时,仅需将子进程的工作目录设置到 Starward 所创建的文件夹中。例如:config.ini
的情况下,懒检查/安装Yuanshen_Data/Plugins/PCGameSDK.dll
;对于星铁则是StarRail_Data/Plugins/x86_64/PCGameSDK.dll
。