• Open Steamworks
    616 replies, posted
  • Would there be any advantages for a steam client made from scratch? Except for the amount of awesomeness ofc.
  • [QUOTE=databee;17913829]Would there be any advantages for a steam client made from scratch? Except for the amount of awesomeness ofc.[/QUOTE] You can probably control most of the networking to VALVe, meaning knowing what kind of information gets sent - although the dlls could do that on their own - and you can use fake Steam clients to make an independent IM or plugin for an IM - well so far only for Windows, since you still require the dlls.
  • What's in this link would be possible with this, right? [url]http://www.facepunch.com/showthread.php?t=787943[/url]
  • No, not at all. This is just interfacing with the steam libraries, they're not going to magically run on a completely different architecture. That would require reverse engineering the steam protocols and writing the client in its entirely.
  • [QUOTE=blankthemuffin;17926681]No, not at all. This is just interfacing with the steam libraries, they're not going to magically run on a completely different architecture. That would require reverse engineering the steam protocols and writing the client in its entirely.[/QUOTE] Just write a steam friends relay server, connect to said server from your mobile device, exchange data.
  • [QUOTE=blankthemuffin;17926681]No, not at all. This is just interfacing with the steam libraries, they're not going to magically run on a completely different architecture. That would require reverse engineering the steam protocols and writing the client in its entirely.[/QUOTE] This would be a bad thing? It could give us an open-source Steam client.
  • [QUOTE=arienh4;17926942]This would be a bad thing? It could give us an open-source Steam client.[/QUOTE] I'm pretty sure it's not a walk in the park. That's probably what he was getting at
  • [QUOTE=arienh4;17926942]This would be a bad thing? It could give us an open-source Steam client.[/QUOTE] Well, you have to reverse-engineer the dlls. VoiDeD is 'just' retrieving the interfaces.
  • [QUOTE=efeX;17926953]I'm pretty sure it's not a walk in the park. That's probably what he was getting at[/QUOTE] Fair enough. I thought you were implying it was bad to do rather than hard to do.
  • It is bad, Valve don't like external apps messing with their shit It will probably go against your EULA or something, or it will think you're using PacSteam or whatever
  • [QUOTE=Jinto;17926727]Just write a steam friends relay server, connect to said server from your mobile device, exchange data.[/QUOTE] FU, that's what I was going to start working on today, and now everyone will think I stole the idea :sigh:
  • [QUOTE=DementNeo;17927523]It is bad, Valve don't like external apps messing with their shit It will probably go against your EULA or something, or it will think you're using PacSteam or whatever[/QUOTE] lolno
  • [QUOTE=DementNeo;17927523]It is bad, Valve don't like external apps messing with their shit It will probably go against your EULA or something, or it will think you're using PacSteam or whatever[/QUOTE] Then they should open up their chat protocol. They told me they would go to XMPP sometime this year, haven't heard from them since. [editline]02:24PM[/editline] [QUOTE=DrTaxi;17927672]FU, that's what I was going to start working on today, and now everyone will think I stole the idea :sigh:[/QUOTE] If someone provides you with an idea, it's rarely seen as stolen, you know.
  • It isn't if the OpenSteamworks implementation is really as far as it seems. Then it's just as easy as coding a new Steam client with the source to the DLLs.
  • Well, so far VoiDeD only provided the interfaces, as such you cannot code a completly open Steam client yet, until the implementation to the interfaces also gets reverse engineered (or open-sourced by Valve or leaked).
  • [QUOTE=PieClock;17928436]It's it's possible but probably insanely hard to do, right?[/QUOTE] One of the things that VoiDeD discovered is that valve uses key-based encryption for most of it's entry level handshaking. Meaning, unless you know valve's public key, there is no way to actually login to steam with a 3rd party client. However, since he interfaced steam.dll, he just uses that, bypassing the need of a public key.
  • The public key is either provided during the logon procedure or is stored in steam itself. I'm unsure as of which and I haven't spent much time figuring it out. Either way it's possible to login with a 3rd party client. However, reversing the network protocol would not be as hard as reversing steam.dll/steamclient.dll with an aim to recreate all network functionality. As for what I'm currently doing, I'm trying to figure out how to make steamclient.dll intefaces play well with steam.dll. I'm able to get steam.dll to logon to steam servers, but all secondary logon attempts with steamclient interfaces have failed.
  • [QUOTE=Zero Vector;17946968]Oh god does this mean this could be used to make a Steam Messenger[/QUOTE] Read the damn thread lol
  • Excuse me as I don't know shit about reverse engineering but how did you get the .lib files?
  • [url]http://support.microsoft.com/kb/131313[/url] On an unrelated note, I'm still having no luck with the logon procedure so far. [url]http://code.assembla.com/steamworks/subversion/nodes/Test%20Platform/main.cpp[/url] It seems like it should work, but I always get a SteamServerConnectFailure_t callback with k_EResultInvalidPassword result. I've triple checked that the password is correct, so the error is due to something else.
  • I hope this makes any sense: Although I don't know why, but might the function expect a modified password (salted or something)? Do you have an error in your code so it gives you an InvalidPassword result instead of the correct one?
  • Very interesting project you've got going. I wish you nothing, but the best of luck Good Sir.
  • [QUOTE=Ibutsu;17948727]Very interesting project you've got going. I wish you nothing, but the best of luck Good Sir.[/QUOTE] This is why commas are important.
  • [QUOTE=DementNeo;17927523]It is bad, Valve don't like external apps messing with their shit It will probably go against your EULA or something, or it will think you're using PacSteam or whatever[/QUOTE] hi my name is NeoDement and I KNOW NOTHING AT ALL as usual