Giter Club home page Giter Club logo

Comments (12)

saul avatar saul commented on August 17, 2024 4

I've raised a PR for this here: #328

from demofile.

saul avatar saul commented on August 17, 2024 1

No, this won't trigger anti cheat detection. Demos are buffered in memory for a few minutes before they're flushed to disk. So what's on disk is always a few minutes behind what's actually happening in the match. Valve thought of this :)

from demofile.

saul avatar saul commented on August 17, 2024 1

This will imminently be released as v2.5.0. Considering Node v12 will be end-of-life by April, I've decided to drop support for it. This library now requires Node v14+.

I've also updated the examples to use the streaming interface and it's tested as part of CI.

Apologies for the slow turnaround on this ticket!

from demofile.

saul avatar saul commented on August 17, 2024 1

HLTV streams are already delayed for precisely the same reason. There is no delay added by this library though.

from demofile.

saul avatar saul commented on August 17, 2024

Great idea. I don't think it's going to be particularly simple to implement though. At the moment the library expects the whole demo to be available in the buffer.

We'd need to make it aware that if the rest of the file isn't available, to hang back until we get more data in the stream.

from demofile.

dangmai avatar dangmai commented on August 17, 2024

You're right, I read through the code and realize that demofile depends on binary-parser, which does not support streams. There's an outstanding ticket keichi/binary-parser#40 for that, but the project in general looks pretty inactive to me so I won't hold my breath.

Feel free to close the ticket or keep it open if you intend to implement this in the future.

from demofile.

zoidbergwill avatar zoidbergwill commented on August 17, 2024

There are some newer binary parsers, or someone could fork and update the keichi parser to support streams, if someone ever really wants this.

I found this one in a quick search too: https://github.com/Pupix/binary-buffer-parser

from demofile.

saul avatar saul commented on August 17, 2024

We'd just need to buffer enough until we had enough data to parse a tick, there isn't really any need to use a different binary parser.

from demofile.

thecatontheflat avatar thecatontheflat commented on August 17, 2024

As an easy win, maybe we could expose some controls over the parsing process via demofile.pause() / demofile.resume() methods? This way it would be possible to tell the library to wait until there's a new chunk of buffer available.

from demofile.

PrimeGoose avatar PrimeGoose commented on August 17, 2024

will this trigger anti cheat attention?

from demofile.

saul avatar saul commented on August 17, 2024

I'm having a reproducible issue with Node v12 on that PR. For some reason the stream is ending early, just after parsing the header. Does anybody have any ideas? It works fine on Node v14 and I can't reproduce the issue on my local Linux VM with Node v12 either.

from demofile.

LeBesta avatar LeBesta commented on August 17, 2024

No, this won't trigger anti cheat detection. Demos are buffered in memory for a few minutes before they're flushed to disk. So what's on disk is always a few minutes behind what's actually happening in the match. Valve thought of this :)

Sorry if this is not the place to ask, but does this mean the demoparser itself is a few minutes behind as well, or is it able to parse the game in real time? (as in at the same time as its livestream)

from demofile.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.