Skip to content
TORNLIFE More

API Bug

Started by marsey99 [1404499] on in Graveyard.

146 replies · 4.57k views · thread synced · 7 days ago · View on torn.com

Posts archived: 147 / 147 posts (100%) · the total is Torn's reply count + the opening post at the last fetch

Ahab [1735214]
Loads of people play without scripts and apps and the game is perfectly playable not using them shit the game would be better off if ched just got someone in who could whip something up for them to catch people scrapping the site illegally and then just kill the api cause it's a failed experiment that is being used way beyond what is abuse and people are getting dumber and dumber due to it.

We understand that crafting an API system for Torn could give some users an unfair advantage. We want the system to expand & enhance gameplay rather than giving users an advantage which makes it easier to compete against others. We have taken this into account during development, but we will be listening to feedback and making any appropriate changes that are required.

This is just laughable and has been for years now
Vhaeraz [2454199]
Dropping a chain is simply on the factions, if you have chainwatchers, one or multiple backups, this kind of thing should never happen.

However, scripts and the API have simply become an ingrained and essential part of the game. Especially newer players, likely a lot of them don't even know the game without them. Regardless, the game really falls short without them. I for one am not playing a nostalic game that should keep a pristine condition in the minds of people still trying the relive a game from 15 years ago.

Anyways, shit happens. What personally bugs me the most though, is that the issue was known and ongoing. Yet Torn staff completely misjudged the situation and the possible problems arising from bad API info. Honestly, it's been said before, but if it's bad and wonky, just disable it completely until it's fixed. The inability to properly respond created the situation that was very fruitful for more problems. Imo completely the opposite of how action should have been undertaken.

If all else fails, there could have at least been made a proper notification about there being issues going on that could lead to problems, so continue using it at your own risk.

Obviously proper preparation by factions should be expected, there is no excuse for lacking that. It's fine to call them learning this harsh lesson, words like naieve, lazy or negligent. It's up to certain degrees the harsh reality of things. What's troublesome though, is that Torn staff has been just as negligent, knowingly allowing the pushing out of wonky and wrong info, not having a proper failsafe preparation either. But apparently calling out on this is unfair, because the game of 15 years ago didnt have such features. Because it's an external factor not part of the game. Or simply because it'll be too much trouble to try and fix things.

For some reason 'fairness' is suddenly the keyword. As if Torn as a long running game, having undergone several major changes, bugs and exploits, 'fairness' is honestly the last thing that I would associate with the game. Simply having different starting moments leads to an inevitable multitude of unfairness of different levels. I personally fail to see why this should be a reason to not even make an attempt at all.
Gandalf [2031904]
I think its extremely disingenuous from those who have completed chains to come here and go "welp, you shouldn't have relied upon the api!" knowing fully well that if it wasn't them, that someone who chain watched literally just sat there watching netflix with the alert timer on. Lets not pretend that all of the other factions who have finished their chains never used the api to assist their chain watching once.

Regardless, I think that the argument that "we can't set precedent" is extremely flawed. You absolutely can rollback these chains, and say "we are doing this because we did not have a defined position on api usage before. From now on, if your chain falls due to api usage, we will no longer rollback the chain, and anybody using third party services does so at their own risk." This is not like English common law, where every case sets its own law, but just an online game. It's not that deep

What we have all learned from this is that we a) shouldn't rely on api services anywhere near as much as we do and that b) torn actively chooses to f**k over its community again and again. I know a lot of people are gonna be unsubscribing because of this incident, as it is quite clear they do not give a single shit.
Nexus [105937]
Did they though...?

Or did the first bug report filter down to the dev team, and then they discovered the issue as a result?
Nexus [105937]
Yes...

You should ALWAYS validate 3rd party data if its "mission-critical".

Shards fail, sometimes you get put onto a shit-instance on a load balancer, etc.

"Always assume the client downstream using your app is an idiot"...

VALIDATE YOUR DATA!

Jesus, just write a few Validator classes, then its a couple of references to be integrated with existing code.

Im gonna guess you've never dealt with a potentially autism-level-obsessive QA department before, no?
Felloser [2175870]
tbh I would have never thought of validating this data before in that way, I never thought of the possibility of a API just sending the same data again and again
Nexus [105937]
I mean, it sounds silly, but there will always be logical rules that exist between an existing database/cache and an external API to validate from (this can fall apart, brutally, if there isnt an existing dataset or its a new instance, etc, so bare that in mind, lol).

Always assume something can break, never assume the person providing an API can guarantee 100% accuracy, always assume idiots at every turn.

There wont be idiots at every turn, but if you assume there are...you'll find yourself more frequently unexpectedly surprised/impressed, than absolutely destroyed with disappointment.
marsey99 [1404499]
yeah, ched confirmed the issue was known of hours before the bug report was posted in the thread linked in the op.

1 msg in the ticker then could stopped any of the chains dropping. just disabling it could.
OddPotato [2029408]
I cant understand what you mean when you say validate your data, what do you validate your source of truth against?

Jesus, just write a few Validator classes, then its a couple of references to be integrated with existing code.

It's not like the response was malformed, there was no error code, the structure of data matches along with the types and you got it from the source of truth not some shady third party API source? What will you validate it against? against your imaginary data that you believe is correct?
All validation checks will PASS even with Validator Classes and you'd end up with the same error. If you asking to compare final validated data against torn webpage by scraping it, what is the point of API? Just remove the API call and just scrape it directly.

You can only do so much validation on a source of truth. I mean no other API provider in the world asks you to validate the data received from API against something else to check if their API sent correct information or not. You can only assume something will break to a certain point, network errors/malformed responses and downtime. You don't go about hey this API is working fine now but let me add this extra code which the API was supposedly replacing to ensure API is sending the correct information. If someone has to do that every time why even provide an API?

I mean if I was a client to a company and the company asks me to check every time if it's sending me correct information, any proposal to work with that company would directly go into the bin.

I'll repeat again, the problem is not Validating structure of data, the problem is the data in a valid structure.
Nexus [105937]
Yeah but the data didn't make "sense", based on the context of the data, and the last validated last response.

So throw it out, and throw a logged exception so you can ring the "Shit-Bell".

Unless its your source of truth, you need to assume it might not be valid, and validate it yourself.

Never let your application "break" for the non-technical end user, based on a 3rd party source of data.
OddPotato [2029408]
Unless its your source of truth, you need to assume it might not be valid, and validate it yourself.
It is the source of truth, it's called Official Torn API. and the data only didn't make sense when a human was actually observing it and by the time a human observed it it's too late. If you remove the human aspect for the application context the data is perfectly valid according to the application and no Shit-Bells would be rung.

They are called APIs for a reason and not GUIs. They are not meant for humans to look at, they are supposed to help humans doing stuff in background.
SirEdge [2609907]
I have access to the teams upstream. If they send me crap, I go file bugs on them until they fix it. I guess I'm spoiled.
JustJanet [911066]
Oy… do you even listen to yourself?! True, you didn’t mention chains. You didn’t mention anything else though and you responded to my post which focused on dropped chains!! Why would that be my focus? Because that’s what the main drama surrounded! If you wanted me to consider other issues then it is on you to address them! For you to even imagine you made some mind blowing point by asking if you mentioned chains is completely ludicrous!

Or did you expect me to ponder all the other things not addressed to see if they might be of pertinence to this conversation and then presume what else you might be talking about? Here’s a little hint, communication doesn’t work that way!!


[background color=var(--bbc-body-bg-color)]
[/background]
[background color=var(--bbc-body-bg-color)]I believe that is your entire problem! “Typing is so f**king hard! It’s so much work! Boo hoo!” You want to do less than the bare minimum to be understood in communication and to f**king succeed in the game! “Let some app do all the hard stuff!” [/background]



Th API fails because of too many like you who can’t function without the help! That’s still on you!! Torn keeps changing the number of info retrievals from an API key because too many people pulling too much data gum up the processors! Here’s another hint… The game is supposed to require engagement of the brain and actual choices by the user. Instead of bitching about how it’s not doing enough for you, go do some of the shit your supposed to be able to do on your own!! Or whine some more because that’s really effective!
Shandurai [25719]
You are getting incredibly worked up over this, moreso even than some of those who have lost days of chaining efforts. As someone not affected by the incident I wouldnt expect you to understand what the problem is which is why my first post laid it out for you, to communicate, and give you a chance to be in the know.

Frustration with how torn handles its many major issues.
Including but not limited to issues with chaining which is why I did not say anything about chaining in my first response. That was intentional.

Chains drop, it's over, as already mentioned well try again next time. Lots of frustration results in lots of squeaky wheels hence the threads.

Now to address your personal attack on 'too many people like you who cant function without the help' (and other implied insults) I dont use the API as I've widely claimed to anyone I talk to that I am computer illiterate and have no idea how. :) I have torn tools but it doesnt work, I think that's the most recent extension? I'm sure its lack of function is a user issue on my end.... which is why I dont use or rely on it for pretty much anything. Sometimes it's cool when the latest faction stat spies sync but it almost never loads for me. My poor computer savvy faction mates are so patient with me, RNG God love 'em, but I just dont get it so I'm sticking with computer illiterate.

I figured I should explain that since you still have zero clue about the topic at hand and are focusing on something irrelevant, spazzing and swearing over something that doesnt concern you, and worst your not listening to the many people this does affect saying "hey why couldnt torn have dropped one message in all those hours?"

So if your quite done getting a high off being a keyboard warrior and trying to insult people I think this horse is way past being dead.
Beerstein [1322136]
Anyone else find it amusing that Torn API is less reliable for watching chains than IRC bots 10+ years ago?

That said, hard to take a side here, on one hand play the game, on the other hand the API has become part of the game as much as many of us hate it. I'd say by not restoring the chain admins are sending a clear message that they don't trust their own API/reliability of it. If they restored it they'd be sending a message that they have faith in their own system.

So either choice could be argued, but the message is clear. Devs don't trust their own API and we shouldn't either.

Also, on the rare occasion a bot went down we'd jump to another facs channel and borrow their bot, so even IRC bots backups were more reliable than Torn API.

What I'm trying to say OP is, get an IRC bot with a backup and manually input hits, it'll be more reliable.
SirEdge [2609907]
so serious question for you-

I am transferring between the two NSO factions at the moment, so I happened to see something cogent to this question. I have access to the chain timer, but not attacks or attacknews. So at least the method I would use to validate the chain timer (verify the time since the last posted hit) isn't an option for most players.

Now it is late here, and I may be missing something obvious. How would you validate it without faction perms so it works for the rank and file?
Gandalf [2031904]
Of all the people to pick a fight with in this from Impulse, you're choosing Shan, who literally hasn't mentioned chaining once besides from when you tried to force her conversation that way... not only that but you're acting like a f**king child, which is really ironic considering you're accusing us of "wanting to do less than the bare minimum to be understood in communication".

Since you're struggling to understand some of the basics of communications, I'll let you in on a little hint as well. Adding more exclamation marks or big fancy words like pertinence doesn't make your point any more valid or any more heard, if anything it makes it seem like you're being ruled by your emotions and thus incapable of thinking rationally. Again, ironic considering you're the one who's saying we have communication issues.

And, to mimic your last point, why don't you "whine some more, because that's really effective!"