• SteamRE - Reversing the Steam protocol
    116 replies, posted
I remember someone asking 2 valve employees at a chat one time and they didn't really seem to like to answer it. I think one said something like 'I'm not a lawyer' and the other was like 'maybe' I don't think they care unless it causes trouble
[QUOTE=BrQ;30370821]I remember someone asking 2 valve employees at a chat one time and they didn't really seem to like to answer it. I think one said something like 'I'm not a lawyer' and the other was like 'maybe' I don't think they care unless it causes trouble[/QUOTE]I asked them about this. More so on the legality of SteamRE and BurtonJ and ChewyG both said something similar to "I'm not a lawyer, I do not know"
What did you expect them to say...
[QUOTE=blankthemuffin;30377832]What did you expect them to say...[/QUOTE]"I will consult with other people and get back to you." "It's fine" or something
[QUOTE=TehWhale;30377848]"I will consult with other people and get back to you." "It's fine" or something[/QUOTE] The problem is they can't give legal advice to you in any case, which is all they can do unless they change the EULA.
[QUOTE=blankthemuffin;30378018]The problem is they can't give legal advice to you in any case, which is all they can do unless they change the EULA.[/QUOTE] And more importantly, they don't want to be responsible for it.
The best thing you can do is probably contact Gabe
Is information still available detailing the protocol, a wiki perhaps? I'd like to implement this in Ruby, and using the library within Ruby is becoming problematic. I could dig through the code, but I was wondering if something simpler was available already.
We've got our wiki here: [url]https://bitbucket.org/VoiDeD/steamre/wiki/Home[/url]
i have just downloaded and build it, however when i try vapor i get an error message that says: "Unable to logon to Steam2: Unable to get a list of Steam2 authentication servers" the aplication output goes like this [code]Vapor Steam2: Connecting to GDS Server 72.165.61.189:27030... Vapor Steam2: Getting auth server list from 72.165.61.189:27030 using username 'Xxxxxxxx'... 'Vapor.exe' (Managed (v2.0.50727)): Loaded '..\VoiDeD-steamre\Projects\Vapor\Vapor\bin\Debug\Classless.Hasher.dll' Vapor Steam2: Unable to get auth server list. Trying next GDS server... Vapor Steam2: Connecting to GDS Server 72.165.61.190:27030... Vapor Steam2: Getting auth server list from 72.165.61.190:27030 using username 'Xxxxxxxx'... Vapor Steam2: Unable to get auth server list. Trying next GDS server... Vapor Steam2: Connecting to GDS Server 69.28.151.178:27038...[/code] and then an exception: [code] Vapor Steam2: Unable to connect to server. System.Net.Sockets.SocketException: A connection failed becase the other party did not answer corecly or in time 69.28.151.178:27038 At System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) At System.Net.Sockets.Socket.Connect(EndPoint remoteEP) At SteamKit2.TcpSocket.Connect(IPEndPoint endPoint) in ..\VoiDeD-steamre\SteamKit2\SteamKit2\Networking\Steam2\TcpSocket.cs:regel 56 At SteamKit2.ServerClient.Connect(IPEndPoint endPoint) in ..\VoiDeD-steamre\SteamKit2\SteamKit2\Steam2\ServerClient.cs:regel 115 At Vapor.Steam2.GetAuthServerList(String userName) in ..\VoiDeD-steamre\Projects\Vapor\Vapor\Steam\SteamContext.cs:regel 50 [/code] does anyone got any ideas on what is wrong? i turned off my firewall, (oh wait i should not say that on a public forum that stores my IP somewhere) Network development was never my strong point :D
Update your local copy. You have very old code.
I downloaded Vapor 1.5.exe and it worked perfectly, so somehow the code i downlaoded was realy old. thanks for the sepport
Vapor 1.5 doesn't work so well here on linux. Mouse wheel doesn't scroll, right-click menu shows up with the text the same color as the background (so I can't see any text), for whatever reason I cannot put the main window into focus, and the vapor icon doesn't appear in the taskbar/notification area (so if I close the main window it never comes back). Although it works perfectly fine on windows, ever thought of a proper port for linux? To me it seems ridiculous for the opensource alternative to steam have ties with windows still. Tomorrow I'm going to spend some time (read: days) studying your code and wiki to see if I can port it myself, however unlikely it may be. Please don't think i'm some inconsiderate, insatiable human being; I love the hard work and devotion put into this and it works fantastic in windows! Nice work.
[QUOTE=Naelstrom;34043068]and the vapor icon doesn't appear in the taskbar/notification area (so if I close the main window it never comes back).[/QUOTE] The NoTray build of Vapor exists for this reason. As for all the other issues: yeah, they're a headache. They can mostly be attributed to Mono. With a proper gtk# UI, they could most likely be fixed, but I just don't have the time to go through such a large redesign.
Would you mind if I add you on steam and ask a few questions if I run Into trouble? I plan to understand the steam protocols myself and write c++ from scratch.
[QUOTE=Naelstrom;34043496]Would you mind if I add you on steam and ask a few questions if I run Into trouble? I plan to understand the steam protocols myself and write c++ from scratch.[/QUOTE] I don't mind at all. Keep in mind there are also two other places you may get some help. One being our IRC channel: [url=irc://gamesurge.net/#opensteamworks]#opensteamworks @ irc.gamesurge.net[/url], and the other being the [url=steam://friends/joinchat/103582791430091926]FP Programmers Steam chat[/url]. I mention the FPP chat because there's sometimes others in that chat working on Steam related things.
[QUOTE=Naelstrom;34043496]Would you mind if I add you on steam and ask a few questions if I run Into trouble? I plan to understand the steam protocols myself and write c++ from scratch.[/QUOTE] I'm working on this too, although VoiDeD thinks I'll fail because of an idea to implement protobufs in a better way I had (which I may not do)
i am trying to copy paste the code to a windows mobile libary so i can run a steam frends chat on windows mobile 7 :P, the auto generate code seems a bit tricky tho as i dont seem tobe able to generate it myzelf, but the biggest fear is ofcourse that some used classes are not sepported on the compact framework
[QUOTE=Quandrastorm;34080056]i am trying to [b]copy paste the code[/b] to a windows mobile libary so i can run a steam frends chat on windows mobile 7 :P, the auto generate code seems a bit tricky tho as i dont seem tobe able to generate it myzelf, but the biggest fear is ofcourse that some used classes are not sepported on the compact framework[/QUOTE] Found you're problem
i dont see the problem :D ofcouse i might have to edit it a bit but ill see how far i can get
Is there anyway to make a little chat client or addition to Vapor so that we can chat with steam groups? (ClanChat) Or is that not even an option in SteamRE? If not, why?
[QUOTE=Novangel;27842429]But useful as shit anyway.[/QUOTE] I wouldn't say that "useful as shit" is positive :v: [editline]12th April 2012[/editline] [QUOTE=Datastream;35538240]Is there anyway to make a little chat client or addition to Vapor so that we can chat with steam groups? (ClanChat) Or is that not even an option in SteamRE? If not, why?[/QUOTE] I couldn't get steamre to work anymore.
[QUOTE=Datastream;35538240]Is there anyway to make a little chat client or addition to Vapor so that we can chat with steam groups? (ClanChat) Or is that not even an option in SteamRE? If not, why?[/QUOTE] [url]https://bitbucket.org/VoiDeD/steamre/src/ae184c9d1a24/SteamKit2/SteamKit2/Steam3/Handlers/SteamFriends/SteamFriends.cs#cl-328[/url] And other related functions. [QUOTE=_NewBee;35538686]I couldn't get steamre to work anymore.[/QUOTE] What issues are you having? [SUB]Also, technically the library is called SteamKit. SteamRE is just the umbrella project name for everything steam related.[/SUB]
I decided to try and use IronPython and use the SteamKit stuff into python but I'm having trouble with the C# to python syntax. So far I've gotten VS 2010 and built the SteamKit2 into a .dll (with a bunch of other files) and pointed my sys.path to the .dll paths. So I'm now trying to convert the Vapor GUI into the python version by doing it step by step logging in and accept/reject/send friend requests/trades. So here is what I've done: In IronPython I've managed to do this without any errors: >>> import clr >>> clr.AddReferenceToFile("SteamKit2.dll") >>> import SteamKit2 >>> steam_client = SteamKit2.SteamClient() >>> steam_friends = SteamKit2.SteamFriends >>> steam_user = SteamKit2.SteamUser Now I'm kinda stuck getting the login details passed into the SteamKit2.SteamUser.LogOnDetails; I know that is the class that deals with the user/pass logins but I can't seem to find the method or function to set it and connect. Any ideas? Thanks for any help!
Sorry, you need to Log In to post a reply to this thread.