• Web-Based Steam Friends
    9 replies, posted
Hi, I'd like to know if there is a way of making an online Steam Friends messenger service. You could use OpenSteamWorks, however it would require an instance of Steam running on the server which is logged in as the user. This means that: 1) You need to run a virtual machine for each user, each virtual machine containing its own instance of Steam and a OpenSteamWorks to website connector. 2) Each user would have to log in to the instance of Steam running in the virtual machine - As far as I know OpenSteamWorks cannot log you in our out. Are there any better solutions ? Thanks.
1. Find a way to run multiple instance of steam, that should be possible I guess. 2. You can launch steam with -username -password (Pretty sure) [editline]18th November 2010[/editline] Think you might be able to run more instance using separated user accounts on your computer.
I just looked up the login command, it's [b]-login <username> <password>[/b]. Unfortunately it only works if Steam is currently closed - If you run it while it's already open / logged in then all it does it bring up the main window. In other words, you can't have multiple instances unfortunately. (At least, I couldn't get it working with my testing.) There's no logout command, however that could be done easily enough by just keeping track of the process handle and forcing it to close. Still, it's a step closer so thank you for your help.
have you tried running the 2 instance on different windows users, using the "runas" command?
Just tried it now, it didn't work. I was testing with the second Steam account details of "invalid invalid", which should have just brought up the login box stating that it couldn't login, however all it did was opened the Steam window for the Steam instance on my account. I.e: This is what I used: [b]runas /user:test "steam.exe -login invalid invalid"[/b]
Why do you need steam running or whatever? Can't you communicate with Steam servers like Steam does and accomplish the same?
The Steam Friends protocol has not been fully reverse engineered yet as some parts are encrypted: [url]http://imfreedom.org/wiki/Steam_Friends[/url] The guy who wrote that page seems to know much more than me in terms of reverse engineering protocols, so if he hasn't managed it yet I don't think realistically it's an option for me. (Actually he failed at the decompressing part, although he didn't specifically explain what went wrong.)
[QUOTE=yngndrw;26135773]As far as I know OpenSteamWorks cannot log you in our out.[/QUOTE] Technically OSW is fully capable of logging in, check the [url=http://tracker.limetech.org/projects/osw/repository/entry/OpenSteam/OpenSteam/]OpenSteam[/url] project in the svn repo. It's a little outdated and currently broken because of some changes Valve has made, but when it was developed it worked right out of the box. [QUOTE=yngndrw;26137332]The Steam Friends protocol has not been fully reverse engineered yet as some parts are encrypted: [url]http://imfreedom.org/wiki/Steam_Friends[/url] The guy who wrote that page seems to know much more than me in terms of reverse engineering protocols, so if he hasn't managed it yet I don't think realistically it's an option for me. (Actually he failed at the decompressing part, although he didn't specifically explain what went wrong.)[/QUOTE] We've gotten alot further with the protocol. The UDP networking has been (for the most part) fully reversed, and we've achieved full logon with some tools that have run their own networking. We used to have a wiki about our efforts, but it seems to have disappeared. For the most part you can check out the SteamKit library located here: [url]http://svn.limetech.org/repos/steamre/SteamKit/[/url], and AzuiSleet's latest efforts to rewrite and cleanup the library, here: [url]http://svn.limetech.org/repos/steamre/SteamKitX/[/url] The whole library is still a major work in progress, so I wouldn't recommend using it for anything really.
Thank you, it sounds perfect - I'll have a closer look when I next have some free time. Do you have an ETA on when the library will be "stable" ? (By that I mean it won't be changing due to development and can be used in projects.) Also are the tools which directly connected without Steam on the SVN and if so which projects are they ? You have quite a bit on your SVN to be searching through. I think the direct connection route would be the most ideal for this task.
[url=http://tracker.limetech.org/projects/osw/repository/show/OpenSteam]OpenSteam[/url] and the [url=http://tracker.limetech.org/projects/osw/repository/entry/Test%20Platform/main.cpp]Test Platform[/url] are the only two projects that currently make use of the steam libraries to login. The test platform code is a little more straight forward in it's simplicity, and has all the code required to login.
Sorry, you need to Log In to post a reply to this thread.