I’m sure that by now every forum-dweller has heard something about the current situation with PG’s new Public Atlas API. But for those who don’t, let’s recap.
PG has, since at least spring 2019, given blanket permission to users to gather information about WD through the use of third party tools. More recently, different employees noticed that third party tools were being used by the community. They attempted to stop this behavior by sending out a game-wide announcement that the use of these tools could result in a ban.
The resulting response showed that the overwhelming majority of the community used these tools, so they retracted their statement, and promised to release public APIs for everyone to use.
Now, I am by no means against public APIs. In fact, I made this thread, over a year ago:
I was more than happy when they announced plans for public APIs. But when the API was finally released, it fell quite short of expectations. These APIs were full of bugs (they still are), security issues that compromised player accounts (somewhat fixed), and most important of all, incomplete; by omission or design, it’s now very difficult to get information that much of the community had been relying on.
Over the past few weeks, these APIs have proven unstable: often breaking, sometimes having inexplicable and unannounced restrictions added, and in some cases providing information that lagged weeks behind reality. Overall, it has been very difficult to work with. PG has–more than once–forced updates on developers from the player community without even telling us. These cause our tools to break, and force us to undertake several hours of debugging, during which we rush to fix previous work to get things back to working order.
Worst of all, PG added rate-limiting to the API that will make any tools created with it very slow to update. Obviously, this was added without even informing the community; we found out only after all our tools broke. PG has said that these restrictions aim to reduce load, because:
We know server costs are not cheap, but we are making tools to improve the game experience of PG’s game; this makes the game more usable in a way that PG itself has not done, and creates value for all users, which is certainly represented in revenue. Simply put, we’re adding value to PG’s product by providing features PG has often talked about, but never delivered.
Several of us in the player community are or have worked in software engineering, building scalable systems on large software products with hundreds of thousands of concurrent users. We regard with extreme skepticism the claim that a 20% increase in traffic is an unacceptable cost on an app with 30,000-40,000 total users; scalable systems are generally designed to be robust in the face of increased load. Those of us who have analyzed network traffic for the game can confirm that the game itself sends a vast amount of unnecessary traffic, far exceeding 20% of the total bandwidth consumption.
However, let us grant, for the sake of argument, that bots have costs; let us go further, and regard the matter as though bot traffic represented a material cost to PG, with no corresponding benefit. Even seen so, these new rates do the exact opposite of their intent. I am now forced to send many, many times more requests to the server to keep information updated, with the result that server load actually increases.
My own server load has increased a total of 7-10% from the previous API. The solution to the rate-limiting is to manage a fleet of alts so that we can use the API at a sensible rate. It is beyond me how PG thought this would decrease traffic.
In the end, PG closed the old endpoints a few days back, forcing us to work with a broken product that they declared good enough and have not indicated that they plan to fix soon.
So, what do we want PG to do differently?
- We want better communication from PG.
- We want PG to stop limiting information that we have been using for years now.
- We want a stable and working product, like the old API.
- We want PG to focus on real problems, rather than making it harder and more painful for us to make tools that help the whole community.
Mentioning every problem with the public endpoints would make this post way too long, so I’m going to end with a petition that a group of us started last night. I’m sure many of you have read it by now, but if you haven’t, please read and (if you agree) consider signing. Thanks to the 700 players who have signed it and supported it so far!