inherit
209492
0
Aug 19, 2015 17:44:40 GMT -8
Lester Applewood Roquefort
5
May 2014
lesterroquefort
|
Post by Lester Applewood Roquefort on May 22, 2014 10:06:31 GMT -8
I run a TF2 Game Forum and would love a Steam User Plugin.
|
|
Former Member
inherit
guest@proboards.com
131621
0
Nov 27, 2024 14:54:26 GMT -8
Former Member
0
January 1970
Former Member
|
Post by Former Member on May 22, 2014 20:47:33 GMT -8
Could you explain what a Steam Plugin is? How it'd work, what it would do, etc.
|
|
inherit
209492
0
Aug 19, 2015 17:44:40 GMT -8
Lester Applewood Roquefort
5
May 2014
lesterroquefort
|
Post by Lester Applewood Roquefort on May 26, 2014 21:31:50 GMT -8
It'd show your steam status.
|
|
inherit
King Oligochaete
126470
0
Feb 24, 2021 12:23:15 GMT -8
Wormopolis
Stop rating plugins with 1 star that dont deserve it.
20,002
June 2008
tbserialkillers
Wormo's Mini-Profile
|
Post by Wormopolis on May 27, 2014 20:27:42 GMT -8
Does Steam supply some sort of HTML that can be put on web pages?
|
|
inherit
209492
0
Aug 19, 2015 17:44:40 GMT -8
Lester Applewood Roquefort
5
May 2014
lesterroquefort
|
Post by Lester Applewood Roquefort on May 28, 2014 21:19:58 GMT -8
I'm guessing it does... mind you, it's based on the fact that Saxton Hell forums use it.
|
|
inherit
King Oligochaete
126470
0
Feb 24, 2021 12:23:15 GMT -8
Wormopolis
Stop rating plugins with 1 star that dont deserve it.
20,002
June 2008
tbserialkillers
Wormo's Mini-Profile
|
Post by Wormopolis on May 28, 2014 21:30:50 GMT -8
can you link to an example anyone can see?
|
|
inherit
209492
0
Aug 19, 2015 17:44:40 GMT -8
Lester Applewood Roquefort
5
May 2014
lesterroquefort
|
Post by Lester Applewood Roquefort on May 28, 2014 21:45:54 GMT -8
|
|
inherit
King Oligochaete
126470
0
Feb 24, 2021 12:23:15 GMT -8
Wormopolis
Stop rating plugins with 1 star that dont deserve it.
20,002
June 2008
tbserialkillers
Wormo's Mini-Profile
|
Post by Wormopolis on May 30, 2014 8:57:40 GMT -8
interesting. are you sure voidy just wont let you use the code? I see its an ajax request in there to get a response back based on an id, so not too complicated, but he might just let you use what he wrote if you ask him.
|
|
inherit
King Oligochaete
126470
0
Feb 24, 2021 12:23:15 GMT -8
Wormopolis
Stop rating plugins with 1 star that dont deserve it.
20,002
June 2008
tbserialkillers
Wormo's Mini-Profile
|
Post by Wormopolis on May 30, 2014 9:09:47 GMT -8
If not, it looks as if you will have to register to get your own API key from valve.
|
|
inherit
Official Code Helper
65613
0
1
Oct 22, 2024 1:56:19 GMT -8
Chris
"'Oops' is the sound we make when we improve"
9,018
December 2005
horace
RedBassett's Mini-Profile
|
Post by Chris on May 31, 2014 7:04:10 GMT -8
Very interesting request, unfortunately that code Voidy uses basically talks to his/her own server which then acts as a proxy between the code and the steam API Services. This is probably because the API requires an OpenID Connect transaction requiring the use of complicated encryption algorithms not normally available from a pure javascript environment. I know that Google implemented a pure javascript OpenID library a couple years ago but uncharacteristically placed a few licensing restrictions on it, I can't recall exactly what those restrictions were but I do remember them being the reason I abandoned the idea. Oddly enough the older V4 version of Proboards had this functionality built in through the use of the Gigya service where you would use OpenID Connect to verify your identity and give Proboards permission to access your information from sites such as facebook, AOL, Yahoo, steam, etc., it is sad that service was not included in version 5 because it would come in handy this particular instance even if it lacked the deeper oauth2 support needed to do more complicated things with that data.
Voidy's code would not really do you any good though since it contains a backend component and Proboards does not allow access to its backend, all plugins are clientside only and can not create code that can be run by the Proboards server (the backend). The layout of the forum system that code was written for would also be incompatible with the layout of Proboards forum system. There was a pure javaScript library (JSJWS) released since the last time I researched this subject so it might now be possible to do it in pure javascript, I'll look into it.
For the forum owner (or her delegate), obtaining an API key, as Wormo pointed out, would still be necessary since the API sets a rate limit of 100,000 requests per day. That should be enough for most forums unless it was an exceptionally large/busy forum but if a potential plugin chose to include a preconfigured API key instead of requiring owner to obtain one then it would run into daily outages when more than a few forums start using it and hitting that 100,000 requests per day limit (going down for everyone since the limit is tied to the key not the forum). Consider that for a page of 15 posts per page there are potentially 15 requests in just one page view and some forums like to set theirs to 30 posts per page which would be an even worse scenario. Your forum might have an exceptionally low pageview count but remember that it is not just you but all the forums using the plugin when using a shared API key, so per forum API keys would definitely be the way to go here.
There are ways to mitigate the rate limit problem such as caching recently received requests so if a user has multiple posts on a page, which is often the case, only one request would be needed for all of that user's posts. If one decides to use a Proboards user key to add persistence across page loads then some kind of configurable expiry could be added to further cut down on API traffic allowing the busier forums a trade-off between freshness of data and hitting that rate limit.
Such a plugin would not be for everyone though since it would require some footwork and some people simply hate the idea of exercise! I can hear the gripes now about it being "too complicated" and "doesn't work" or those passive-aggressive rates saying "excellent" but with one star. Pebble's excellent Shoutbox Sounds plugin comes to mind since it requires you to actually do some work to find then rehost your own sound files therefore not a plugin for the faint of heart or those opposed to any requirement of effort on their part. When imageshack moved to a rate limit system I recall creating a code that required the owner to obtain an imageshack API key and the backlash toward that code was so tremendously negative that it turned me off to coding API and API mashup codes to this day. I'll however do some research into whether a pure JS solution is now feasible since it was not just a few years ago.
--tl;dr
|
|
inherit
209492
0
Aug 19, 2015 17:44:40 GMT -8
Lester Applewood Roquefort
5
May 2014
lesterroquefort
|
Post by Lester Applewood Roquefort on Jun 10, 2014 11:28:07 GMT -8
I've heard alot about Voided, he/she does a lot of coding. I know nothing in regards to coding.
|
|
inherit
2671
0
May 14, 2013 14:40:03 GMT -8
Peter
🐺
10,615
February 2002
peter3
|
Post by Peter on Jun 10, 2014 11:45:46 GMT -8
At the end of the day, you will need a proxy to retrieve the data due to the terms of service for the Steam API (key has to be kept confidential).
A proxy isn't a big problem, if you have somewhere to host (i.e your own hosting, not sure about free PHP hosts (maybe Google App Engine)) the proxy (i.e PHP script), then from there it's a matter of getting someone to work with the data fed to the forum from the proxy.
There are free proxies out there for the Steam API, but from when I looked in the past (last year as I wanted to do something similar), none of them supported caching. Caching isn't so much to get around rate limits when using the Steam API, it's just good practice to implement anyway, and prevents a delay of the data coming back from the proxy having to perform the requests (needs a min. of 2 requests for new users, 1 for the profile, 1 for the summary which needs the steam id (64) that comes from the profile).
I can write a class for this, however it's a lot of work for just 1 person, If a lot more people were after this, then I would jump at it. For now, I would recommend finding a proxy, see if you can host it, then post when you have that setup. Then it's just a matter of finding someone to do the JS side of things to integrate it into your forum.
|
|