Google’s recent deprecation of the YouTube v2 API did screw up a lot of things for a lot of people. I had to change my feed reader from having a single unified feed for all of my subscriptions, into over one-hundred individual feeds that I have to keep in-sync with any channels I may newly subscribe to, or unsubscribe from. But it also seems that the method TF2 used for uploading and checking in on replays was also affected, as it was still using the v2 API.
All of this came about when I was just browsing reddit like I normally do, when I spotted this comment of someone talking about how to easily game the TF2 replay achievements for getting an increasing number of views on your uploaded replay (up to 100k):
With that information – as well as the fact that I was still needing the 10k and 100k achievements – I decided to start searching around in the files to find the file(s) that I needed to alter to get this method to work. After a little bit of searching, I found the files required – these are the individual .dmx files for the rendered replays and can be found in /tf/replay/client/movies. It goes without saying that you actually need to have a replay saved and rendered out for something to appear in this folder.
Opening up an individual .dmx file in a raw text editor (in my case Notepad++), looks a little something like this. Note that this particular replay render was already uploaded four years ago, which is why it has an uploaded and upload_url values. If your replay isn’t uploaded, simply change the uploaded to 1 and add an upload_url value.
Notice that the upload_url uses a YouTube v2 API URL to get the data of your uploaded replay video. Problem is, the v2 API no longer exists and any URL of that construction returns an invalid response in Chrome. To remedy that, you need to create an XML file that mimics the construction and layout of a single video v2 API call result. Thankfully the v2 API documentation still exists at this point in time, so you can get the text you need from the relevant Google Developers page. Do note, there is an errant extra closing angle bracket in the middle of the text around the <yt:userId> section – remember to remove that. This text is the contents of that fake.xml you saw in my movies directory up above.
Now just upload that XML file somewhere where TF2 will be able to access the file directly. I uploaded it to my puu.sh account, and then changed the upload_url in the relevant .dmx file to match it.
Close and re-launch TF2 if it’s open. Then head to the replay section, choose the rendered replay that we edited, and then TF2 will check the fake XML file to fetch the video’s “data”. It will then read the data from the fake XML file, see it says over 300,000 views, and award you all the replay achievements at once. In my case, I already had the 100 and 1,000 view achievements, so I was awarded the remaining two.