Announcement

Collapse

Forum Rules

  • No flaming or derogatory remarks, directly or through insinuation.
  • No discussion, sharing or referencing illegal software such as hacks, keygen, cracks and pirated software.
  • No offensive contents, including but not limited to, racism, gore or pornography.
  • No excessive spam/meme, i.e. copious one liners in a short period of time, typing with all caps or posting meme responses (text/image).
  • No trolling, including but not limited to, flame incitation, user provocation or false information distribution.
  • No link spamming or signature advertisements for content not specific to Dota 2.
  • No Dota 2 key requests, sell, trade etc.
  • You may not create multiple accounts for any purpose, including ban evasion, unless expressly permitted by a moderator.

  • Please search before posting. One thread per issue. Do not create another thread if there is an existing one already.
  • Before posting anything, make sure you check out all sticky threads (e.g., this). Do not create new threads about closed ones.
  • It is extremely important that you post in correct forum section.

  • Balance discussion only in Misc.
  • All art related (such as hero model) feedbacks go to Art Feedback Forum.
  • All matchmaking feedback should go here: Matchmaking Feedback
  • All report/low priority issues should go here: Commend/Report/Ban Feedback
  • No specific workshop item feedback. These should go to workshop page of that item.
  • When posting in non-bugs section (such as this), use [Bugs], [Discussion] or [Suggestion] prefix in your thread name.



In case you object some action by a moderator, please contact him directly through PM and explain your concerns politely. If you are still unable to resolve the issue, contact an administrator. Do not drag these issues in public.



All rules are meant to augment common sense, please use them when not conflicted with aforementioned policies.
See more
See less

Dota 2 Demo File Format

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dota 2 Demo File Format

    We have released tool named demoinfo2.exe that will parse Dota 2 demo files (ending in .dem) and dump out every message in the demo. Using this tool, third parties can parse the demo for various game events to generate information and statistics.

    For more information and where to download the download the binary and source code please see the Dota 2 Demo Format page at the Valve Developer Community Wiki:
    https://developer.valvesoftware.com/..._2_Demo_Format

  • #2
    nice!

    Comment


    • #3
      interesting.

      Comment


      • #4
        This is very exciting, thanks Zoid!

        Comment


        • #5
          Thanks! Just build it and poked around the source a little bit, seems quite clear to get data from a replay.

          Comment


          • #6
            The only missing piece now is being able to download replays in some way other than the game client. Are there any plans to expose an API for developers to get replays files without having to go through a client or without asking their users to upload replays?

            The optimal solution seems like it would be to expose a web API for getting the dumps created by demoinfo2.exe. This saves Valve and third parties bandwidth. Maybe this is just my web bias coming through.

            Great work guys, keep the awesome coming.

            Comment


            • #7
              Originally posted by doodledad View Post
              The only missing piece now is being able to download replays in some way other than the game client. Are there any plans to expose an API for developers to get replays files without having to go through a client or without asking their users to upload replays?

              The optimal solution seems like it would be to expose a web API for getting the dumps created by demoinfo2.exe. This saves Valve and third parties bandwidth. Maybe this is just my web bias coming through.

              Great work guys, keep the awesome coming.
              This is quite exciting as I've been wanting to add DOTA 2 functionality to dotacash for quite some time now but had no desire to run a lame irc league. This is indeed a step in the right direction but as doodledad points out there should still be some api because:
              • There is no way to get a replay file outside of the client (I already packet sniffed it but quickly abandoned that silliness).
              • Asking users to upload dem files would be insanity as they are quite large which would eat up tons of bandwidth and server resources for a very time limited use (I have considered doing it client side and upload the parsed version but it still doesn't really make much sense to me at this time).
              • Finally, there should be more control for how games are hosted so that we don't have to rely on players to host their own games for league play.

              Very nice to see that we are moving in the right direction though.
              Keep up the good work!

              Comment


              • #8
                Originally posted by Zoid View Post
                We have released tool named demoinfo2.exe that will parse Dota 2 demo files (ending in .dem) and dump out every message in the demo. Using this tool, third parties can parse the demo for various game events to generate information and statistics.

                For more information and where to download the download the binary and source code please see the Dota 2 Demo Format page at the Valve Developer Community Wiki:
                https://developer.valvesoftware.com/..._2_Demo_Format
                What's the word on 3rd party stats programs/websites? There's already at least one out there using the UDP requests sent to get match details. Will we be seeing a not-so-hacky solution to this, or will Valve be frowning upon publicly viewable stats? I'm trying to help a friend in developing his own stats page for his website, but we'd rather not circumvent the system put in place to hide that data (and frankly, we haven't a clue how to spoof UDP requests).

                Comment


                • #9
                  That's exactly what I was doing about a month ago for dotacash but I abandoned the idea after packet sniffing the game info request (which isn't that complicated) but I didn't want to cause any trouble and I figured an official method would be implemented in time. Besides as I mentioned leagues won't really pick up until we can have more control over the game creation process. It's a waiting game on our end (at least it is for dotacash until valve gives us some non-hackish methods to use).

                  Comment


                  • #10
                    so..

                    So I just got here, and haven't looked into this at all... but it appears this will only run on Windows? Are you serious? How is this going to be useful for web sites?

                    Comment


                    • #11
                      While we only provided a Visual Studio 2010 solution, there's nothing preventing the code from being ported to Mac OS X or Linux. Google's protocol buffers support both platforms as well. It would be easy to port the code, there's nothing in it that is dependent on windows.

                      Comment


                      • #12
                        Will we need to worry about backwards compatibility at any point, or do you foresee the replay format staying as-is for a really long time? Will the proto files need to be changed at all in the future, requiring a re-compile? This is amazing btw, keep it up!

                        Comment


                        • #13
                          haha ... this time has come ... now waiting for PHP parser
                          sorry for my bad English ...

                          From Vietnam with Love - Lagest DOTA 2 Community in Vietnam: DotA-2.Vn

                          Comment


                          • #14
                            Except for conio.h, __cdecl, __declspec( noreturn ) and some other windows only functions?

                            I know there's a workaround for most of em, (and you can just delete the conio reference if you remove the interrupt at the bottom of demofiledump) but just saying the port took longer than expected

                            Comment


                            • #15
                              Originally posted by Tharuler View Post
                              Except for conio.h, __cdecl, __declspec( noreturn ) and some other windows only functions?

                              I know there's a workaround for most of em, (and you can just delete the conio reference if you remove the interrupt at the bottom of demofiledump) but just saying the port took longer than expected
                              Did you actually finish the port? Would you mind sharing to save time?

                              Comment

                              Working...
                              X