• 注册
  • SPTarkov 动态 SPTarkov 动态 关注:246 内容:59

    AKI-A8 (0.12.10): a bright future 光明的未来

  • 查看作者
  • 打赏作者
  • 当前位置: ODDBA社区 > SPTarkov 动态 > 正文
  • 27
  • SPTarkov 动态
  • SPT主创
    初窥堂奥
    VIP2
    SPTarkov项目组

    AKI-A8 (0.12.10): a bright future 光明的未来

    Hi everyone!    

    亲们好呀!

    I'll rely on the amazing translators once more.    

    我会一如既往地依靠一位译者帮忙翻译

    Thank you for your hard work and dedication!  [s-10]     

    感谢您无私奉献的精神![s-10] 

    Today;s post is going to highlight the porting process to 0.12.10, changes to the project and what's the current status of the project.

    今天这个帖子主要会着重介绍0.12.10的移植工作进度,项目的变动和项目当前的状况。

    This article is going to be exclusive to the chinese community, as a thank you for everyone's passionate reaction and support!

    这个帖子是专门写给华人社区的,感谢大家的热烈反应和支持!

    Thank all of you for your continued support, it really means much to me  [s-1] 

    感谢大家的支持,这对我来说真的很重要![s-1] 

    For a change, I'll include the song I'm listening to while writing this: Liu – Groove, Clarx & Maakhus – Psychedelic, Kastra – Renegade

    在说这些之前,我想分享一下我在码文时候的歌单:Liu – Groove, Clarx & Maakhus – Psychedelic, Kastra – Renegade

    Alright, down to business!

    行了,让咱开始说正事吧!

    0.12.10

    This patch is a very interesting one.

    这个补丁非常有意思

    Regarding the previous patch for those who missed it: 0.12.9.2 was compiled in such a way that it was impossible for de4dot to deobfuscate the asembly correctly.

    对于那些错过了0.12.9.2的人来说,那个版本的编译方式基本不可能给asembly文件除错

    Since major changes were made, the compilation result would be very different from what 0.12.9.2 would produce.

    由于0.12.10进行了重大改动,编译结果将与0.12.9.2产生的结果截然不同。

    With that in mind, we had a good shot at getting it to work.

    考虑到这一点,我们有一个很好的机会让它运作

    As always, I first manually inspected the game files to check for any changes (for example, if IL2CPP has been added).

    像往常一样,我首先手动检查了游戏文件看看是否有任何更改(例如添加了IL2CPP)

    After that, I injected own packet sniffer to obtain the server data into the game code and ran on live with my hijacked assembly-csharp.dll.

    然后用注入了我自己写的脚本的assembly-csharp.dll来获取服务器数据

    All game data was safely obtained, but…

    所有的数据都安全获得了,但是…

    Something was off

    出了点意料之外的状况

    – Korean language has been removed (due to BSG's incompetence of supporting Korean fonts)

      韩语已被删除(由于BSG不支持朝鲜语字体)

    – A new endpoint is hit: /client/location/getLocalLoot?locationId={locationId}&variationId={1-6}

      发现了一个新端点:/client/location/getLocalLoot?locationId={locationId}&variationId={1-6}(这局没看懂))

    I updated the server database, the launcher byte patch and compiled modules against the game assemblies.

    我还更新了服务器数据库、启动程序补丁和针对游戏程序集编译的模块。

    With all of that done, we have the game functional in a bare minimum state: no progression, no modding, only enough work has been done to get the game to start to the main menu.

    所有这些都完成之后,我们就有了一个最低下限的游戏功能:没有进度,没有修改,只能让游戏进入到主菜单。

    I got into the game, but as soon as I went to hideout the game would crash and starting a new raid would freeze on “Local game is starting…”.

    进入了游戏,但一旦我去了藏身处,游戏就会崩溃,进新战局的时候会卡在“本地游戏正在启动…”。

    This had to be caused by the new endpoint.

    这一定是新端点造成的

    After digging a bit in traces.log, it was indeed the case.

    在研究了一下日志文件后,果不其然

    The obtained server data showed that it's location data, except BSG added a new property to it as well.

    获得的服务器数据显示了它的位置数据,除此之外BSG还添加了一个新属性。

    The method where the endpoint was requested is… interesting to say the least.

    请求端点的方法是…至少可以说是很有趣。

    It's a private method and seems to never be called anywhere else, which makes me suspect that they use reflection internally to call these methods.

    它是一个私密的方法,似乎从未在其他任何地方被调用,这让我怀疑他们在内部使用reflection来调用这些方法。

    Or in simpler language: they put some real effort in hiding what actually goes on to a level a compiler or obfuscator couldn't do.

    或者通俗易懂一点:他们投入了一些实际的努力来隐藏那些编译器或模糊处理程序无法做到的事情。(针对SPT的)

    Combined with the recent changes and tampering, it's clear BSG is going actively out of their way to mess with the project.

    结合最近的变化和改动,很明显,BSG正在积极采取措施搞砸我们这个项目。

    I got fired up, I will break it.

    BSG你小子是不是没见识过什么是黑手!

    I wrote a mockup response and checked what would happen.

    我直接写了一个样品的response,并检查会发生什么。

    The game actually loaded properly into raids now!

    居然直接就进战局了!

    After porting the modules fully by updating all references, it was time to fully rewrite the OfflineLootPatch to support the new endpoint.

    在更新完所有引用完全移植模块之后,是时候完全重写OfflineLootPatch以支持新端点了。

    It was quite the bother as I'm working against a black box with no documentation on the new mechanisms.

    这可谓相当麻烦,因为我在没有新机制的说明文档支持下破解一个黑箱。

    Luckily after about 2 hours, the whole thing was up and running.

    幸运的是,大概两个小时后,事情开始有了转机。

    0.12.10 is finally properly supported in the dev branch.

    dev分支最终开始支持0.12.10了。

    Good thing to note is that this does NOT include non-essensial data such as trader assortiments, @Ereshkigaladds these bit by bit.

    值得注意的是,这并不包括非必要的数据,如商人分类,是@Ereshkigal一点一点加进去的。

    Current state    最近的状态

    Right now I'm waiting for Basuro (another member on the dev team) to finish up his revolutionary system that will allow modders to make much deeper and advanced client modifications (proper new bot types for example, not overwriting existing ones but actually new bot types).

    现在我正在等待Basuro(开发团队的另一个成员)完成他的系统改革,它将允许modders进行更深入和更高级的客户端修改(例如,正确的新bot类型,不覆盖现有的bot类型,而是允许存在不同的bot类型)。

    In addition, I'll be working on getting AKI A8's server in shape for release and wait for other contributors to make the server more accurate in emulation.

    此外,我还将努力让AKI A8的服务端发布,并等待其他贡献者使服务端在模拟中更加准确。

    There is still plenty of work to be done! [s-15] 

    还有很多工作要做![s-15]

    Future    未来

    I caught wind of MKI's offshoot and I'm very honored to see people taking the project a step further.

    我嗅到了MKI分支的风声,我很荣幸看到人们把这个项目做得更进一步。

    I'm very interested in incorperating some of the changes into the server, in addition to add even more protection measures to prevent thieves from stealing modder's work.

    我非常感兴趣的是在服务器中加入一些改动,此外还添加了更多的保护措施,以防止小偷们偷取模组作者的作品。

    However, with the introduction of these tools I hope to see more modders making tutorials how to accomplish various things, especially regarding models and texturing.

    然而,随着这些工具的介绍,我希望看到更多的模组作者的教程,特别是关于模型和纹理这方面的。

    The open-source nature of the project and mods allowed it to expand as fast as it did, without an alternative I fear that newcomers will have a hard time getting their hands on proper learning material.

    项目和模组的开源特性使它能够像以前一样快速扩展,没有其他选择,我担心新人将很难获得合适的学习材料。

    Thank you!    谢谢你们!

    Once again, thanks for everyone's patience and ongoing support!  [s-10]

    再次感谢大家的耐心和支持![s-10]

    @Silent.YH already uploaded the bleedingedge version to oddba for those who want to give it a go  [s-15] 

    @Silent.YH已经将BleedingEdge版本上传到oddba,供那些想尝鲜的人使用[s-15]

    I hope you liked the exclusive insight in updating the project.

    希望你对新版本有着独到的见解

    Also thanks to everyone who gave coins or those cool animated profile badges!

    同时感谢投币的各位和那些有着帅气个人档案动态徽章的人!

    I have more money than I can spend, perhaps I could host an event where I will reward some?

    我的硬币花不完了,也许我应该举办个活动来奖励一些大佬?

    (@Echo buy as many mods as you can in my name! Leave no stone unturned!  [s-25] )

    @Echo想方设法的用我的账号去买下来尽可能多的MOD![s-25]

    At last: the new website redesign looks amazing, keep up the great work oddba team! Love it!  [s-49] 

    最后:新的网站设计看起来很棒!Oddba团队继续努力!我喜欢这个![s-49]

    Appendix    附录

    – Obfuscation: source code protection by making the source code much harder to read.

      Obfuscation:通过使源代码更难阅读来保护源代码。

    – Deobfuscation: removing obfuscation wherever possible, can never be fully reversed.

      Deobfuscation:尽可能地消除模糊,永远不能完全消除

    – De4dot: a tool to deobfuscate assemblies with.

      De4dot:一种用以消除assemblies中模糊处理的工具

    – Assembly-CSharp.dll: contains the majority of Escape From Tarkov's source code.

      Assembly-CSharp.dll:包含Tarkov的大部分源代码

    – Packet sniffer: stores information comminucated between the client and the server.

      Packet sniffer:存储客户端和服务器之间的信息

    – Byte patch: file diffs on low-level, allows distribution for files without actually shipping the original one, thus not infringing copyright

      Byte patch:文件在低级别上有差异,允许分发文件而不实际传送原始文件,因此不侵犯版权

    – Modules: utilities and game patches for Escape From Tarkov's client ran using project Aki

      Modules:运行Aki的重要组件

    渐入佳境

    占个楼,加油!支持大佬!!

    回复
    圆转纯熟

    光明的未来~

    回复
    自成一派
    加油
    回复
    炉火纯青

    Thanks to your kind & hard work, I really had a better experience than EFT online [s-4-15]

    What's more it force me to learn js language on my own, opening a new gate for coding [s-2-11]

  • CarryTuu个人翻译:感谢你的友善和辛勤付出,我对EFT在线版有了个更深层次的认知,而且他强迫我自学js语言(王德法????)给我的代码之路打开了一个新的大门。 (个人翻译,仅供参考)
    拉黑 3年前 电脑端回复
  • 回复
    自成一派
    VIP4
    不学无术老年人
    打赏了66金币
    回复
    渐入佳境
    打赏了26金币
    回复
    自成一派
    VIP5

    仙狐大佬举高高!!!我是你永远的粉丝!~~


    回复
    自成一派

    YYDS

    回复
    圆转纯熟
    打赏了66金币
    回复
    自成一派
    VIP4
    打赏了99金币
    回复

    请登录之后再进行评论

    登录
  • 签到
  • 任务
  • 发布
  • 模式切换
  • 偏好设置
  • 帖子间隔 侧栏位置: