• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.
Steam Authentication & Integration

Steam Authentication & Integration 1.6.3

No permission to download

HowIChrgeLazer

Well-known member
#1
HowIChrgeLazer submitted a new resource:

Steam Authentication & Integration (version 1.0.9) - Authenticate with Steam! Contains additional features: Game statistics, Notices, and SteamProfile

This addon provides Steam Integration allowing new & existing users to establish accounts via their Steam accounts using the Steam Web API. This is similar to the Twitter (New) plugin which adds no custom template code by hand and instead properly creates templates and implements them using hooks.


Prerequisites

Installation Steps

  1. ...
Read more about this resource...
 

HowIChrgeLazer

Well-known member
#4
Hey 8thos,

This is a continuation of the original Steam Authentication and Integration that fixes some bugs and problems caused by accessing data via XML from the steamcommunity without an API key. It also has an updated steamprofile badge with less requests than the original addon.

The link to trigger a steam login should be as follows:
Code:
http://yourdomain.com/xf/register/steam?reg=1
With yourdomain being replaced with your domain url, and xf is the location of your forums (not needed if xenforo is on the root of your domain).
 
#6
Hey Straydog,

Make sure the option is checked on in the Steam Integration settings. You can also try manually running the cron. It may time out depending on how many users/games it has to go through, but it's a good way to test. It's scheduled to only run once a day, so you may have to wait that long for it to update.

Tools > Cron Entries > Steam User Polling Controls Drop-down > Run

It looks as though mine grabbed updates. Keep in mind it'll be a hit or miss based on how finicky the steam community is. Unfortunately the new Steam Web API doesn't have features to grab player game statistics, so I don't believe it can be obtained used the API key and through JSON. This is the most "reliable" method that I can see so far.

Also keep in mind, the 1.0.9 discussion is here:

http://xenforo.com/community/threads/steam-authentication-integration.42694/
I edited the cron and ran it manually. I am the only registered member testing this right now. I have a ton of games so that could be part of it and also my names in Steam and the Forum don't match. They are linked though. We shall see but I can live without that part. Just thought it would be neat to have.
 

HowIChrgeLazer

Well-known member
#7
Hmmm. What edits did you make to the cron? Any errors in your log?

I just ran it manually now, and it did do some updates for me. I had some hours change (both up/down) in Top Recently Played Games section of my admin control panel.
 
#8
I have moved the days and times up and down. I have run it manually and I have no errors in the log at all. It seems to very quickly respond that the cron has been run like there is not data being pulled. I have no doubt its a Steam issue somewhere...
 
#10
Hmmm. What edits did you make to the cron? Any errors in your log?

I just ran it manually now, and it did do some updates for me. I had some hours change (both up/down) in Top Recently Played Games section of my admin control panel.
I have moved the days and times up and down. I have run it manually and I have no errors in the log at all. It seems to very quickly respond that the cron has been run like there is not data being pulled. I have no doubt its a Steam issue somewhere...
So I delved into settings and such and it seems that it was related to the profile permission settings within Steam. I am not sure which ones were causing the issue but I set my profile to all public and it updated the data. Working very nice now. :)
 

Kerby

Active member
#11
Bug after language change
I changed language on row 15 in js/steam/ajax/steamprofile.xml to german. After that, it stucks on my profile page steam badge at "Lade.." (german word for "Loading..").

Request
Steam Profile Badge should be also optionally (new setting in options) viewable in User-Overlay (the default xenforo user overlay is showing, when clicking on a username/avatar in postings of a thread). Cause I don't want to show badge in postings and if a user wants to shortly view if the other user is in steam game/online, he doesn't have to click twice through to the profile, a short overlay-look can give the information too.
 

HowIChrgeLazer

Well-known member
#13
Thanks for updating this, I seem to have always been too distracted to get back to the work on it! Looks good, I'll have to poke around in it a bit in the future.
Not a problem, I know how that can be. Feel free to work off this edited version anytime to help improve it. Thanks for working on this originally, it's been a great tool.

So I delved into settings and such and it seems that it was related to the profile permission settings within Steam. I am not sure which ones were causing the issue but I set my profile to all public and it updated the data. Working very nice now. :)
Hidden profile will do it. XML data isn't available for people who don't have their profile data public.

Bug after language change
I changed language on row 15 in js/steam/ajax/steamprofile.xml to german. After that, it stucks on my profile page steam badge at "Lade.." (german word for "Loading..").
Looks like it doesn't have profile_ visibilities set in the javascript. Found the bug and fixed. Will be rolled out in 1.1.0 (the file changes are already committed to github as of this post). If possible, I need German translation for the following words: Offline, Online, Busy, Away, Snooze, In-Game.

If anybody would like to translate into other languages, that would be great as well. Right now it only has English, part German, and part Portuguese (missing the same words above as German is).

The phases I need are (German, and Portuguese already have this translated):
"Loading..."
"This user has not yet set up their Steam Community profile."
"This profile is private."
"Invalid profile data."
"Join Game"
"Add to Friends"
"View TF2 Backpack"

I also need the translations for these statuses:
Offline, Online, Busy, Away, Snooze, In-Game

Request
Steam Profile Badge should be also optionally (new setting in options) viewable in User-Overlay (the default xenforo user overlay is showing, when clicking on a username/avatar in postings of a thread). Cause I don't want to show badge in postings and if a user wants to shortly view if the other user is in steam game/online, he doesn't have to click twice through to the profile, a short overlay-look can give the information too.
This one may require a little tweaking and time. I tried implementing it into the member card in 1.0.9 before I released it. The way it loads in the overlay, it won't actually trigger the steamprofile javascript. I'll see what I can do about making it work. It's the same bug as quick reply.
 

Kerby

Active member
#14
Thank you! Now I handled to fix the bug on myself too^^ Some "," or "}" and translation phrases were missing in right place ;)

Here my overall little bit optimised, testing proof and bugfree translation for german:

german : {
loading : "Laden...",
no_profile : "Dieser Benutzer hat bisher kein Steam Community Profil angelegt",
private_profile : "Privates Profil",
invalid_data : "Ungültige Profildaten",
join_game : "Spiel betreten",
add_friend : "Freund hinzufügen",
view_tf2items : "TF2 Items ansehen",
profile_visibilities : {
0 : "Offline",
1 : "Online",
2 : "Beschäftigt",
3 : "Abwesend",
4 : "Untätig",
5 : "Im Spiel",
7 : "Möchte handeln",
6 : "Möchte spielen"
}
},
Looking forward for the steam badge in member card implementation ;)
 
#15
are the game statistics set to update at a certain interval or something? I have to account linked on my site and neither have any games shown owned or played. Just making sure I'm not missing something
 

HowIChrgeLazer

Well-known member
#16
I'll roll those translations into the dev branch Kartus, I just have English place holders right now.

Just so everyone is aware. On GitHub I have two branches for this addon. The master (production) and the development branch. I am tagging versions as I code them for easy download. Users are welcome to try the development branch (it's the code I currently run on my website). But bare in mind, I can't vouch for it's stability. Please don't get upset if it's broken or breaks your website. You can feel free to bug report, but that's about it. I use it on my production site to see if I catch any bugs in normal operation.

are the game statistics set to update at a certain interval or something? I have to account linked on my site and neither have any games shown owned or played. Just making sure I'm not missing something
Things to check
1) Game Statistics enabled in options
2) Steam profiles are public
3) Has the cron run yet?

If the cron hasn't run yet, give it 24 hours or temporarily change the hour it runs to force it. (Manual run is a bit hit or miss). It's also run on account association too.

Chances are, the steam community sent an unavailable page to you and the code nulled it when building stats. This is unfortunately out of my control. The Steam Web API (which tends to be more reliable) doesn't have data for a user's game stats. At your own risk, you can try using the build on the development branch. In theory, it attempts to make three retries on grabbing the XML information if it fails, waiting five seconds in between.

I still need to make sure the cron doesn't time out when processing data. However, it seems to be updating my game data. I can't get a precise count if it's 100% updated because I have too many steam users at this point to manually check.
 

Kerby

Active member
#17
I still need to make sure the cron doesn't time out when processing data. However, it seems to be updating my game data. I can't get a precise count if it's 100% updated because I have too many steam users at this point to manually check.
By 1.0.9 game data is collected well in my forum. I have only one steam account linked at the moment. So I don't know if it will work with more linked accounts from your forum users.

@Ace of Death: Just wait 24h, then it should work ;)
 
#18
By 1.0.9 game data is collected well in my forum. I have only one steam account linked at the moment. So I don't know if it will work with more linked accounts from your forum users.

@Ace of Death: Just wait 24h, then it should work ;)
alright thanks
I'll roll those translations into the dev branch Kartus, I just have English place holders right now.

Just so everyone is aware. On GitHub I have two branches for this addon. The master (production) and the development branch. I am tagging versions as I code them for easy download. Users are welcome to try the development branch (it's the code I currently run on my website). But bare in mind, I can't vouch for it's stability. Please don't get upset if it's broken or breaks your website. You can feel free to bug report, but that's about it. I use it on my production site to see if I catch any bugs in normal operation.



Things to check
1) Game Statistics enabled in options
2) Steam profiles are public
3) Has the cron run yet?

If the cron hasn't run yet, give it 24 hours or temporarily change the hour it runs to force it. (Manual run is a bit hit or miss). It's also run on account association too.

Chances are, the steam community sent an unavailable page to you and the code nulled it when building stats. This is unfortunately out of my control. The Steam Web API (which tends to be more reliable) doesn't have data for a user's game stats. At your own risk, you can try using the build on the development branch. In theory, it attempts to make three retries on grabbing the XML information if it fails, waiting five seconds in between.

I still need to make sure the cron doesn't time out when processing data. However, it seems to be updating my game data. I can't get a precise count if it's 100% updated because I have too many steam users at this point to manually check.
I'll check back tomorrow at 10AM when it is suppossed to run and see if it worked, thanks
 

Adam Howard

Well-known member
#19
Seems Steam has changed a few things....

You will be granted access to Steam Web API keys when you have games in your Steam account.
Visit Steam Support for more information
I had uninstalled the old version completely so that I could start off fresh. This means I needed to get my API Key again. Turns out that Steam will only grant me access to that API once I start buying games. :rolleyes:

This was not true before.... I've never purchased a single game from steam. Simply because I hate how they demand you need to log-in for everything... ie... No physical CD / DVD's and no remote offline playing.

Despite that.... Ironically.... I do have tons of games people have given me.

Must think of a game that I don't mind buying now that I don't mind not physically owning.
 

HowIChrgeLazer

Well-known member
#20
Yikes... Yeah that's going to be one of those difficult things to work with. Without the Steam API, the registration and account association is plain clunky at best. I could code something to check if the Steam API Key is blank and have it go about the old method, and include my retry code in 1.1.0-dev1. But I can't guarantee that you'd go 100% error free.

Same deal with the SteamProfile badges. You'll get 302 errors more often, and be forced to use the old method of one request per steam badge on a forum page via the XML route. :(