People around here have been talking about security issues being why we don’t and won’t have a trading post.
As a developer, I can see how such security issues might arise… “Let’s off-load the random number generator and all the purchase validation to the clients, it will save cpu cycles on the server” and then hackers read the packets between client and server and figure out that if they issue their own commands and edit them so that an “Add x resource” isn t accompanied by a “Subtract y resource”, hacked transactions can only be detected by running analyses on the main game database, though I would expect PG to have such processes.
Now, to tighten security, instead of letting the client roll the dice and say what was gained, the client should just call a function on the server and let it do the work of figuring out what is removed, what is added and validate if it can happen at all. Do that, and if a hacker changes a quantity in-game, the client and server will disagree, and if it happens too often… Ban. With the server exposing only functions rather than tables and views, it becomes very difficult to hack. Techniques such as SQL injection can be Invalidated simply by denying permission on currently updateable tables and allowing only the approved functions to do the work.
So… why don’t PG do that, you all might wonder?
It comes down to server capabilities. Offloading the RNG and validation to the client allows PG to spend much less money on their server, which need not be nearly as capable as one that can run all those calculations on top of everything else it does.
So, in short, PG’s issues with the security of the game are of their own making, in that they have been too stingy to shell out for high-end servers when they could make - or tolerate - sloppy programming choices that allow lower server load at the cost of a much higher risk of hacking. After all, if someone does hack the game, they would still have to do it under their own account or for the benefit of a particular account, and that account can be banned… can’t it?
However, if security is really that bad, then we are all lucky that someone who isn’t trying to benefit only themselves hasn’t come along. While there isn’t likely any money in it for such a hacker, a determined hacker could potentially hack everyone’s account, and when we all get an extra million rubies and diamonds, or even worse things are done to our accounts - you don’t want to know what - PG could be hard pressed to rectify the situation.
An attack of that nature could be quite obvious - broken accounts, everyone’s Christmas come at once, all dragons unlocked, that sort of thing, and all PG would have to do is roll back to a backup. However, an attack of this nature could also be very subtle - drop rates for some game resources increased a bit for a randomly selected fraction of the total player base, and reduces the drop rates for others, also randomly selected… but the intended beneficiaries would be benefited a bit more often than they were inconvenienced than everyone else. Who could tell who was an intended beneficiary and who was a victim if enough random numbers were used by the attacker? PG might not be able to pinpoint exactly when such an attack even began, and could they ban everyone who benefited if many did at some point, and many weren’t inconvenienced. There could be 250 to 5000 intended beneficiaries, but it could look like many thousands that didn’t include the intended beneficiaries were benefited more.
It would kill the game… or it would have to be overlooked.