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

    我不知道该起个啥标题

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

    I wanna say this will be a short announcement, but you know the deal by now

    我本想长话短说,但你们知道的太多了.jpg

    我不知道该起个啥标题

    Before anyone asks: I'll be in lurker mode and probably miss whatever everyone is writing still, anyone tagging me gets the sweet fat hammer up their arse to get kicked by whichever @Staff or @Owner is having a great day. You have been warned

    在任何人问我东西之前:我将会潜水很长一段时间 ,可能会错过一些东西但别老在那@我,不然你就等着管理把你T了吧,你已经被警告过了(joke)

    我不知道该起个啥标题

    Having that said, let's get into it.

    废话不多说,我们来谈谈正事把。

    TL;DR: I will remain inactive here for a while longer. The current devs will keep working on SPT-AKI and shape it as they see fit, while I'll work on the new project codenamed Yuki (雪). I won't share/release the source/compiled form until I think it's ready for the public.

    我会休息很长一段时间,当前的开发组会继续开发SPT-AKI并为其润色,同时我会开发新的项目Yuki (雪),直到我认为合适的时机之前我都不会公开或者分享其源代码。

    For those that don't remember or weren't around here at the time, SPTarkov's rewrite was supposed to be project Aki, a C# rewrite of the server in which we could reuse a lot of code across the projects (server, modules, launcher). But when I realized how long it would take, SPT-AKI came to be as a stopgap solution; making modders more familiar with concepts like database patching, client module mods and more. To this extend, SPT-AKI has reached the goal. However, it was never designed to be maintainable, it just needed to do it's purpose that it was designed for.

    In addition, over the years the purpose of the server changed drastically:

    对新人或者记性不好的人来说,SPTarkov架构重写后就成了AKI,项目大量使用了C#(server,modules,launcher)但当我意识到这玩意要开发N年的时候,SPT-AKI已经水到渠成,那便是让MOD作者更熟悉db,客户端模组以及更多,这么看来,AKI已经达到了其目标,但无论如何,AKI都没有设计成可以长期维护的,只是为了完成主人的任务而设计的

    1. Just being able to run the game (polivilas emutarkov)

      能运行游戏就可以了(polivilas emutarkov)

    2. A custom singleplayer experience (jet 2019)

      人性化单机体验(jet 2019)

    3. Implementing all possible eft features for singleplayer (senko's pub emutarkov)

      在单机里实现所有的功能(senko's pub emutarkov)

    4. A moddable custom singleplayer experience (sptarkov)

      模块化自定义单机体验(sptarkov)

    5. A modding framework (SPT-AKI)

      模块化架构(SPT-AKI)

    The JS code of the project wasn't largely written for the current use. For a modding framework, you really don't need randomized bots or loot generation, flea market generation. Not having these features doesn't crash the game either, so it's in the end much better suited as a mod. It is fun to play with, absolutely, but the complexity of the functionality is AT LEAST a thousand additional lines of code each.
    The biggest problem for me with the server is JS. Compared to C#, the tools are immature, the lack of enforcement of types makes it hard to maintain a project with (TS types is like plugging a kitchen sink with a sponge), lacks the power (multi-threading for example) a more mature language has. Most of the devs know C# much better than JS also.
    Modders might not like C# as much as the devs do due to the increased learning curve, but I believe that on the long run the investment is worth it; we finally can have mods that can safely undo database changes and other people's mods, share the same tools we use across the project (lowering the entry to contribute overall) and get better documentation in return (yes, I am documenting everything I do now

    我不知道该起个啥标题

    ) in addition to autocompletion and a clean code base to develop against.

    While change isn't always fun, in our case the benefits heavily outweighs the disadvantages. I think that the project cannot grow (in quality, modding capabilities) without it.
    In the past days of not being active here, I've been working on a C# http server capable of handling HTTP with a TLS secure connection. Or in human language: the core of a server that could communicate and process the game's requests. I've cleared the first and to me the hardest hurdle now, meaning that progress is far enough that I can start trying to work towards loading into the main menu of escape from tarkov.
    I've laid the ground work for the initial beginning of the project. While it seems like nothing that it's not even capable of loading into the game yet, it is a huge step so far. It means that developing a primitive EFT server in C# on my own is doable within two weeks or so (aka loading into the main menu, loading into the raid, loading into hideout, changing locales, nothing else. No manipulation of the profile or game state of any kind).

    (if you got a better 4-or-less characters safe-for-work name/acronym that doesn't include “tarkov” or other copyrighted material, im open for it!)

    该项目的JS代码基本上不是为当前使用而编写的。对于一个modding框架,你真的不需要随机机器人或战利品生成,跳蚤市场生成。没有这些功能也不会使游戏崩溃,所以它最终更适合作为一个mod。当然,玩起来很有趣,但功能的复杂性至少是每一行额外的一千行代码。

    服务器最大的问题是JS。与C#相比,这些工具还不成熟,缺乏类型的强制执行使得维护一个项目很困难(TS类型就像用海绵堵住厨房的水槽),缺乏一种更成熟的语言的能力(例如多线程)。大多数开发人员也比JS更了解C。

    由于学习曲线的增加,Modders可能不像dev那样喜欢C#,但我相信从长远来看,投资是值得的;我们终于可以拥有mod,它可以安全地撤销数据库更改和其他人的mod,在整个项目中共享我们使用的相同工具(降低条目以提供总体帮助),并获得更好的文档作为回报(是的,我现在正在记录我所做的一切)

    )除了自动完成和一个干净的代码库开发。

    虽然改变并不总是有趣的,但在我们的例子中,好处远远大于坏处。我认为没有它,这个项目就无法发展(在质量、改造能力方面)。

    在过去的几天里,我一直在开发一个C#http服务器,它能够通过TLS安全连接处理http。或者在人类语言中:服务器的核心,可以通信和处理游戏的请求。我已经扫清了第一个也是对我来说最难的障碍,这意味着进步已经足够远了,我可以开始努力进入逃离塔科夫的主菜单。

    我已经为项目的最初开始奠定了基础。虽然它似乎什么都没有,甚至无法加载到游戏中,这是一个巨大的一步迄今为止。这意味着我可以在两周左右的时间内用C#开发一个基本的EFT服务器(也就是说,加载到主菜单,加载到raid,加载到hideout,更改区域设置等等)。没有任何形式的配置文件或游戏状态的操纵)。

    (如果你有一个更好的4个或更少的字符安全的工作名称/缩写词,不包括“塔科夫”或其他受版权保护的材料,我为它开放!)

    渐入佳境
    VIP3
    2021

    [s-1] 后半段采用了机翻,抱歉

    回复
    炉火纯青
    打赏了10金币
    回复
    初窥堂奥
    2021

    项目从未使用过C语言 C#和C完全是俩语言好不啦

    回复
    渐入佳境

    厉害了

    回复
    登堂入室

    [s-25] [s-7]

    回复
    初来乍到

    这是好消息啊,真的重写成功的话,mod也就很少出问题了

    回复
    渐入佳境
    VIP3

    好消息 到是好消息 。 那这么说新的Yuki 将是个长期且工程量巨大的项目

    回复

    请登录之后再进行评论

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