Steam Authentication & Integration

Steam Authentication & Integration 1.6.3

No permission to download
Yes, it seems to work on the default theme.
Any idea how I can fix this?

You're probably missing a header hook

How possible or practical would it be to put together a "Now playing" page that lists all logged in Steam users and what they're currently playing if in a game?

What are the API load implications of such a page? If you can give us some guidance on how this addon works on the backend and we can make it work we'd be glad to contribute our page code upstream to you.

I was out for a few days on a business trip but read this before I left. I was pondering over it for a little bit, but I don't think there's a totally efficient way as it sits right now... Only 100 steam ids can be requested at a time using the API status. So it would require an SQL query + splitting that up into groups of 100 + performing those API requests (1 per 100).

Another server Error log while user trying to register via Steam:
Code:
Error Info
ErrorException: getimagesize(): Read error! - library/XenForo/Model/Avatar.php:88
Generated By: Unknown Account, Today at 2:54 AM
Stack Trace
#0 [internal function]: XenForo_Application::handlePhpError(8, 'getimagesize():...', '/home/bacon/www...', 88, Array)
#1 /home/bacon/www/www/library/XenForo/Model/Avatar.php(88): getimagesize('/home/bacon/www...')
#2 /home/bacon/www/www/library/Steam/ControllerPublic/Register.php(599): XenForo_Model_Avatar->applyAvatar(472, '/home/bacon/www...')
#3 /home/bacon/www/www/library/XenForo/FrontController.php(337): Steam_ControllerPublic_Register->actionSteamRegister()
#4 /home/bacon/www/www/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#5 /home/bacon/www/www/index.php(13): XenForo_FrontController->run()
#6 {main}
Request State
array(3) {
  ["url"] => string(46) "http://ilovebacons.com/register/steam/register"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(13) {
    ["username"] => string(6) "Shares"
    ["email"] => string(21) "kjamesshare@gmail.com"
    ["timezone"] => string(16) "Pacific/Auckland"
    ["dob_month"] => string(1) "9"
    ["dob_day"] => string(2) "30"
    ["dob_year"] => string(4) "1998"
    ["gender"] => string(4) "male"
    ["agree"] => string(1) "1"
    ["associate_login"] => string(0) ""
    ["associate_password"] => string(8) "********"
    ["_xfToken"] => string(8) "********"
    ["redirect"] => string(23) "http://ilovebacons.com/"
    ["location"] => string(13) "Parts Unknown"
  }
}

Do you have GD installed? I've seen a similar xenforo error here as well:

http://xenforo.com/community/threads/cannot-upload-avatars.48049/#post-515573
 
I was out for a few days on a business trip but read this before I left. I was pondering over it for a little bit, but I don't think there's a totally efficient way as it sits right now... Only 100 steam ids can be requested at a time using the API status. So it would require an SQL query + splitting that up into groups of 100 + performing those API requests (1 per 100).

What if it was restricted to users actually in game and was capped at 100? We wouldn't want to see people online but not playing. Ideally it would collect up the player boxes that shows what game they are in as it already does, but add a page "Playing Now" and just grid display any boxes that are in game. In our particular example it would likely be less than 50 each time. The point here is to let members know who's in game and give them a way to join and/or steam message.
 
What if it was restricted to users actually in game and was capped at 100? We wouldn't want to see people online but not playing. Ideally it would collect up the player boxes that shows what game they are in as it already does, but add a page "Playing Now" and just grid display any boxes that are in game. In our particular example it would likely be less than 50 each time. The point here is to let members know who's in game and give them a way to join and/or steam message.

The problem is, you won't know who's in game until you do the API calls. The only other thing I can think of doing is querying the 100 most recent visitors that have steam ids attached to their profiles (if it's possible to construct that SQL query) and only display whoever is in game of those 100. But my only issue with it is that it isn't an accurate representation of all members playing games. It'll work for small forums, but not for large, as people who are playing games won't be active in the forums over people who are out of game.
 
I am having a issue getting this resource to work. I have installed it, entered my API key, but when I try to link my steam account I get the follow:

Error during authentication. Please try again.

I also have confirmed bcmath is installed, curl and openssl. anyone experience this when first trying this out?
 
The problem is, you won't know who's in game until you do the API calls. The only other thing I can think of doing is querying the 100 most recent visitors that have steam ids attached to their profiles (if it's possible to construct that SQL query) and only display whoever is in game of those 100. But my only issue with it is that it isn't an accurate representation of all members playing games. It'll work for small forums, but not for large, as people who are playing games won't be active in the forums over people who are out of game.

Is there a way to set a bounty for this to get done? I'm OK with the small forum scenario for now, and I'm OK with it being a bit random.
 
I'll see what I can do. Things have been a little hectic during the holidays, haven't had much time to work on this addon yet. Still want to fix the Firefox bug.
 
Another server error log on registration:
Code:
Error Info
ErrorException: Undefined variable: location - library/Steam/ControllerPublic/Register.php:423
Generated By: Unknown Account, 5 minutes ago
Stack Trace
#0 /home/bacon/www/www/library/Steam/ControllerPublic/Register.php(423): XenForo_Application::handlePhpError(8, 'Undefined varia...', '/home/bacon/www...', 423, Array)
#1 /home/bacon/www/www/library/XenForo/FrontController.php(337): Steam_ControllerPublic_Register->actionSteam()
#2 /home/bacon/www/www/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#3 /home/bacon/www/www/index.php(13): XenForo_FrontController->run()
#4 {main}
Request State
array(3) {
  ["url"] => string(758) "http://ilovebacons.com/register/steam?redirect=http%3A%2F%2Filovebacons.com%2F&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=id_res&openid.op_endpoint=https%3A%2F%2Fsteamcommunity.com%2Fopenid%2Flogin&openid.claimed_id=http%3A%2F%2Fsteamcommunity.com%2Fopenid%2Fid%2F76561198016110729&openid.identity=http%3A%2F%2Fsteamcommunity.com%2Fopenid%2Fid%2F76561198016110729&openid.return_to=http%3A%2F%2Filovebacons.com%2Fregister%2Fsteam%3Fredirect%3Dhttp%253A%252F%252Filovebacons.com%252F&openid.response_nonce=2013-12-21T20%3A14%3A23ZXtnuqIxAhOKoJhZhTsbfGxftJWo%3D&openid.assoc_handle=1234567890&openid.signed=signed%2Cop_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle&openid.sig=cDVsAMg9yE%2Bc1K7ZOM1fuYwnP2A%3D"
  ["_GET"] => array(11) {
    ["redirect"] => string(23) "http://ilovebacons.com/"
    ["openid_ns"] => string(32) "http://specs.openid.net/auth/2.0"
    ["openid_mode"] => string(6) "id_res"
    ["openid_op_endpoint"] => string(39) "https://steamcommunity.com/openid/login"
    ["openid_claimed_id"] => string(53) "http://steamcommunity.com/openid/id/76561198016110729"
    ["openid_identity"] => string(53) "http://steamcommunity.com/openid/id/76561198016110729"
    ["openid_return_to"] => string(78) "http://ilovebacons.com/register/steam?redirect=http%3A%2F%2Filovebacons.com%2F"
    ["openid_response_nonce"] => string(48) "2013-12-21T20:14:23ZXtnuqIxAhOKoJhZhTsbfGxftJWo="
    ["openid_assoc_handle"] => string(10) "1234567890"
    ["openid_signed"] => string(76) "signed,op_endpoint,claimed_id,identity,return_to,response_nonce,assoc_handle"
    ["openid_sig"] => string(28) "cDVsAMg9yE+c1K7ZOM1fuYwnP2A="
  }
  ["_POST"] => array(0) {
  }
}
 
Getting this error on when a Steam user registers:
Error Info
ErrorException: getimagesize(): Read error! - library/XenForo/Model/Avatar.php:88
Generated By: Unknown Account, Dec 5, 2013
Stack Trace
#0 [internal function]: XenForo_Application::handlePhpError(8, 'getimagesize():...', '/home/artiet/pu...', 88, Array)
#1 /home/artiet/public_html2/aocgamers.com/library/XenForo/Model/Avatar.php(88): getimagesize('/home/artiet/pu...')
#2 /home/artiet/public_html2/aocgamers.com/library/Steam/ControllerPublic/Register.php(599): XenForo_Model_Avatar->applyAvatar(62, '/home/artiet/pu...')
#3 /home/artiet/public_html2/aocgamers.com/library/XenForo/FrontController.php(337): Steam_ControllerPublic_Register->actionSteamRegister()
#4 /home/artiet/public_html2/aocgamers.com/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#5 /home/artiet/public_html2/aocgamers.com/index.php(13): XenForo_FrontController->run()
#6 {main}

I have GD installed.
 
I wonder if GD is having problems reading certain images from steam. Does the error give you any indication of the profile it tried to read?

If possible, are you able to install and try out ImageMagick to see if the error persists? (Make sure to change it in the XenForo settings as well)
 
Last edited:
I wonder if GD is having problems reading certain images from steam. Does the error give you any indication of the profile it tried to read? If possible, are you able to install and try out ImageMagick to see if the error persists? (Make sure to change it in the XenForo settings as well)

Pretty sure any profile is causing the error. The error only stops from getting user's avatar from Steam, the user still get his forum account setup and whatnot. As for trying ImageMagick, pretty sure I have that installed too, just can't find the option right now in XenForo.
 
Hi, I'm not able to get the SteamProfile badges showing on posts or anywhere else on custom themes, only the default shows them any ideas at all? Is there something I could add to custom themes to get the profile badges to show?
 
I'm seeing HTTP Error 500 on jsonproxy.php in Firebug.



That was the result back from the GET request to jsonproxy.php. Check your PHP error logs and web server settings out.

I'm running into the same issue as Ryuuji, followed the instructions you have him, and my PHP error log is empty but my main error log delivers the following after the get request:

[Thu Jan 02 11:53:01 2014] [error] [client 24.218.218.119] SoftException in Application.cpp:256: File "/home3/diplomun/public_html/js/steam/jsonproxy.php" is writeable by group
[Thu Jan 02 11:53:01 2014] [error] [client 24.218.218.119] Premature end of script headers: jsonproxy.php
[Thu Jan 02 11:53:01 2014] [error] [client 24.218.218.119] File does not exist: /home3/diplomun/public_html/500.shtml

My website URL is http://diplomunion.com

Thanks for your help, and great add-on
 
Hi, I'm not able to get the SteamProfile badges showing on posts or anywhere else on custom themes, only the default shows them any ideas at all? Is there something I could add to custom themes to get the profile badges to show?

Your probably missing a XenForo hook somewhere that this addon uses. I'm not well versed with 3rd party skins so I can't be more specific than that, but I can guarantee that's the issue. If you want to manually add it to your template not using hooks, copy part of the code out from steam_message_user_info.

I'm running into the same issue as Ryuuji, followed the instructions you have him, and my PHP error log is empty but my main error log delivers the following after the get request:

My website URL is http://diplomunion.com

Thanks for your help, and great add-on

https://www.jamit.com.au/support/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=233

Something I found while browsing google. May be of help. Not entirely sure.
 
Top Bottom