汉化QA
Q1: 汉化是你开发的吗?
A: 星际公民本地化是整个SC社区共同努力的成果,本地化的技术支持(汉化核心文件)来自StarCitizenModding, 汉化文本的制作和校对由星际公民汉化组负责,星河避难所主要负责汉化的整合与分发工作,所以遇到汉化文本问题请前往汉化群反馈。
Q2: 避难所能获取你的密码吗?
A: 避难所并不能获取你的密码,包括CIG的启动器也不会傻到把密码保存在你的电脑上。有一个反常识的点,从你注册游戏到登录这一整个过程,CIG可能从头到尾都不知道你的密码是什么,这个涉及到密码的哈希校验,就不展开了。如果想要知道避难所是如何登录你的账号(又懒得看源码的话),就请打开安装目录下的temp/loginData.json文件,这个文件包含了避难所登录游戏的全部信息。这些乱码一样(其实就是乱码)字符串都是从你填写的游戏目录中原样复制出来的,至于为什么要把这个文件保存在避难所的目录下,是因为这个临时文件在游戏退出时有被删除的可能。也许你注意到了这个文件中有三个字段username, token与auth_token, 这些一长串的字符是官方启动器把你的用户名和哈希后的密码传给服务器后随机生成的,从它们中还原出密码的可能性为零。注意,它们是临时的,一般每隔一段时间就会失效,或是服务器检测到你的IP频繁变动、手动修改密码,它们都会马上失效。还有一点需要说明的是,这个auth_token与你要登录萝卜网页所需要的cookie完全不是一个概念,所以避难所绝不可能凭此登录你的机库。(这是手机版星河避难所的绝活,请务必体验一下)
Q3: 为什么仅能通过避难所登录游戏(汉化后)?
A: 先介绍下EAC(Easy Anti-Cheat), EAC是一个由Epic运营的反作弊服务(就是被企鹅买了40%的送游戏大户)。它在你的电脑上独立运行,CIG的反作弊实际上只是调用了Epic提供的接口来判断自己的程序是否被修改。官方启动器内嵌了EAC服务,会在启动游戏前校验文件合法性。 出于某种考量,CIG进行的反作弊逻辑有两个特殊点:1.仅在启动器启动阶段进行反作弊检查。2.当EAC报告自己存在,但是由于被破坏无法判断环境是否安全时不会跳出。这里就是新版汉化和旧版汉化最大的区别点,它们使用了完全不同的方式来实现绕过EAC的目的。旧版汉化使用了修改EAC的解决方案,当汉化安装时,其会删除%userprofile%\AppData\Roaming\EasyAntiCheat下的所有文件(将EAC配置文件删除),并修改系统的hosts文件将modules-cdn.eac-prod.on.epicgames.com指向localhost(使EAC尝试向服务器请求修复失败)。由于CIG神奇的逻辑,启动器可以在EAC已安装但失效的情况下引导游戏,从而达到了使用官方启动器打开游戏的目的。 然而这种方案的弊端也是显而易见的,安装汉化的操作会直接破坏系统的EAC服务,从而导致使用EAC服务的游戏不同程度的出现问题(Apex、堡垒之夜、老头环、消逝的光芒、2042...)它们中的有些无法进入联机模式,有些干脆无法启动游戏。同时,对系统hosts的操作属于高危操作,极易引发系统错误(lsp错误),而且对EAC的修改也不是一劳永逸的,某些加速器(例:UU加速器)会检查EAC的完整性,当检测到EAC损坏后会"贴心"的替你修复EAC问题,从而导致反作弊检测恢复无法进入游戏。 星河避难所就是为了解决这些问题诞生的,可以说让官方启动器启动失败就是它的目标之一(说明EAC正常工作),避难所实际使用了游戏目录中遗留的登录信息带参数启动StarCitizen.exe来实现绕过启动器登录游戏(具体实现细节可以直接阅读源码)。除次之外它不会修改任何系统文件、任何与SC无关的文件。至于有些人会对点击游戏直接登录的操作有所不满,但这已经是无法修改官方启动器情况下最佳解决方案了(难道要点击启动游戏后弹出请在下方输入账号及密码的提示框?更可怕了好吗)如果某些人有精神洁癖,可以在每次退出游戏后删除软件目录下的loginData.json(这意味着以后你都要开两次游戏才能使用汉化)
Q4: 镖局增强版汉化是什么?
A: 镖局增强版是一个星际公民汉化的衍生版本,用于在商店购买面板等场景中快速预览游戏中物品的详细数值,例如弹药量,dps,组件数据,能很大程度减少在游戏时四处查询游戏数据的负担。