1. Post #1
    The Mad Man's Avatar
    July 2007
    71 Posts
    Steam friends app for Android, for mobile chatting with friends on Valve's Steam platform.



    This is a sign of respect towards Valve, I'm showing how much I like their Steam service with this Android app.

    The code is available on GitHub, with a little manual on my website.

    Please let me know what you think and any issues or feature requests you might have.

    Edit: Version 1.1:

    Added encryption, in the form of AES. Note that you can download the binaries from GitHub, instead of having to compile the code. The documentation covers how to setup the encryption.
    Thanks for the suggestions and let me know what you think!

    Edit: Version 1.11

    This is a minor update of the app, with exception handling. When the app crashes, a stacktrace gets uploaded to my webserver, so I can find out why it crashed.

    Download at https://github.com/FlyingPie/SteamDroid/downloads, the stacktrace output can be seen at http://dev.flyingpie.nl/stacktrace/index.php.

    Edit: Version 1.12

    With the help of the stacktraces I received, I found there was a problem with the sorting of the friends list, which caused crashes. This should be fixed, please let me know if you are still having trouble.

    Edit: Version 2 Alpha 1

    I've posted a very early release on GitHub of SteamDroid2. It only includes the APK, which you unrar and put on your mobile device. The purpose of this version is to test out how deployment goes on regular phones, without any development stuff on it. Also, the auth key system is not yet active, which means you'll have to disable steamguard if you want to try it out.

    Please note that this is an early alpha, I'd like comments about how the installation went and maybe some user interface stuff. If you are willing to try this version, be prepared for crashes and incorrect behavior.

    Another note: SteamDroid2 provides the same features as the first SteamDroid, without the need of an external server.

    Edit: Version 2 Alpha 2

    In de second alpha release, I got the auth codes working, which also solved the 'Invalid Protocol Version' issue.

    You can now enable Steam Guard again and try the new version out.

    Please let me know what you guys think!

    Edit: SteamDroid2 Beta

    The beta for SteamDroid2 is released, download it at GitHub.

    This beta includes some bugfixes and improved avatar support.



    Edit: Android Market

    SteamDroid2 is released on the Android Market, for easier downloading and crash reporting. Let me know what you think!

    Thanks to Jaybuz for helping with the design of the app.

    Link: https://market.android.com/details?i...RlYW1kcm9pZCJd

    Note that this is SteamDroid2, it does not require an external server and is plug-and-play.

    Edit: Released update

    Update 1.1 is released, note that due to me failing to backup the certificate, I had te re-release the app on the market.

    You can find the app at: https://market.android.com/details?i...RlYW1kcm9pZCJd

    Edit: Removed from Market

    Now that Valve's own Steam app has been released, I received a mail from Google. They got a complaint from Valve concerning a copyright issue.

    Thanks to anyone for the support, I really appreciate all the time you guys put into this!
    Reply With Quote Edit / Delete Reply Windows 7 Netherlands Show Events Winner Winner x 60Programming King Programming King x 10Friendly Friendly x 3 (list)

  2. Post #2
    Follow me on github!
    benjojo's Avatar
    January 2009
    2,620 Posts
    This is great. I can see the use in this right away!

    Edited:

    Also, remember to build from source guys.
    Reply With Quote Edit / Delete Reply Windows 7 United Kingdom Show Events Friendly Friendly x 2Agree Agree x 1 (list)

  3. Post #3
    Gold Member
    FlamingSpaz's Avatar
    May 2010
    2,378 Posts
    Does the server work on Linux?

  4. Post #4
    Gold Member
    Naelstrom's Avatar
    June 2010
    2,727 Posts
    Does the server work on Linux?
    It's coded in C#, so it won't work natively.

    Which is highly disappointing.

    Edited:



    Seems to work fine in mono though.
    Reply With Quote Edit / Delete Reply Linux United States Show Events Informative Informative x 2 (list)

  5. Post #5
    Gold Member
    FlamingSpaz's Avatar
    May 2010
    2,378 Posts


    Yeah seems to work for me too.
    Reply With Quote Edit / Delete Reply Linux United Kingdom Show Events Informative Informative x 1 (list)

  6. Post #6
    Gold Member
    Yogurt's Avatar
    December 2006
    1,089 Posts
    Does it support multiple clients?

  7. Post #7
    Reply With Quote Edit / Delete Reply Windows 7 Spain Show Events Informative Informative x 1 (list)

  8. Post #8
    SteamDB
    Marlamin's Avatar
    November 2007
    10,937 Posts
    I love you so much right now, OP. You are now my favorite Marco.
    Reply With Quote Edit / Delete Reply Windows 7 Netherlands Show Events Friendly Friendly x 2Agree Agree x 1 (list)

  9. Post #9
    Get your own DarkRP Server!
    FPtje's Avatar
    January 2006
    5,676 Posts
    Why is the server run on the computer?

    Is it because of the SteamAuth passwords being really annoying on a forever changing network?

  10. Post #10
    open.gl
    Overv's Avatar
    February 2007
    7,431 Posts
    Why is the server run on the computer?

    Is it because of the SteamAuth passwords being really annoying on a forever changing network?
    Because no one bothered to port SteamRe to Android yet.
    Reply With Quote Edit / Delete Reply Windows 7 Netherlands Show Events Agree Agree x 1 (list)

  11. Post #11
    Gold Member
    Van-man's Avatar
    August 2009
    15,159 Posts
    Why is the server run on the computer?

    Is it because of the SteamAuth passwords being really annoying on a forever changing network?
    AFAIK Android doesn't natively support C#.
    So someone would have to port it to C++ for it to be a single App that runs completely on the phone.

    Edited:

    http://www.mono-project.com/Main_Page
    Costs money
    Reply With Quote Edit / Delete Reply Windows 7 Canada Show Events Informative Informative x 1 (list)

  12. Post #12
    open.gl
    Overv's Avatar
    February 2007
    7,431 Posts
    AFAIK Android doesn't natively support C#.
    So someone would have to port it to C++ for it to be a single App that runs completely on the phone.
    Still very much worth it. Because, face it, it'll only really get popular when it's standalone.
    Reply With Quote Edit / Delete Reply Windows 7 Netherlands Show Events Agree Agree x 4 (list)

  13. Post #13
    Gold Member
    Yogurt's Avatar
    December 2006
    1,089 Posts
    There's always MonoDroid.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Informative Informative x 1 (list)

  14. Post #14
    Gold Member
    Van-man's Avatar
    August 2009
    15,159 Posts
    There's always MonoDroid.
    As said before, It ain't free.

  15. Post #15
    Gold Member
    VistaPOWA's Avatar
    October 2008
    8,370 Posts
    Some guy from Facepunch (namely AzzyMaster) has already made an Android application like this, the only reason why his (now non-working) application is better because you don't have to run a server that listens on your computer all day, he had a dedicated machine for the server.
    Reply With Quote Edit / Delete Reply Windows 7 Hungary Show Events Agree Agree x 3Dumb Dumb x 1Funny Funny x 1 (list)

  16. Post #16
    Gold Member
    Lord Ned's Avatar
    April 2006
    3,702 Posts
    Some guy from Facepunch (namely AzzyMaster) has already made an Android application like this, the only reason why his (now non-working) application is better because you don't have to run a server that listens on your computer all day, he had a dedicated machine for the server.
    Didn't that mean you had to give it your username/password? I'd feel a lot more secure running a server on my home machine (who's source I've read and compiled) than signing into someone's foreign server...
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Agree Agree x 11 (list)

  17. Post #17
    Gold Member
    nicatronTg's Avatar
    July 2009
    4,701 Posts
    I love you. Send me a PayPal address?

    Edited:

    Didn't that mean you had to give it your username/password? I'd feel a lot more secure running a server on my home machine (who's source I've read and compiled) than signing into someone's foreign server...
    Precisely why I like this over that.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Friendly Friendly x 1 (list)

  18. Post #18
    Hates php
    high's Avatar
    May 2006
    2,415 Posts
    Could always do a http://www.kickstarter.com/ and see if people want it(without the server) enough to raise 400$ for the monodroid license.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Friendly Friendly x 1 (list)

  19. Post #19
    Gold Member
    WeltEnSTurm's Avatar
    December 2007
    1,880 Posts
    "Could not connect to server: null"
    Where can I set the port?

  20. Post #20
    AJC
    AJC's Avatar
    August 2009
    205 Posts
    I'd pay for this. I've been looking for something like this for a long time.
    Reply With Quote Edit / Delete Reply Windows 7 Canada Show Events Friendly Friendly x 2Agree Agree x 1 (list)

  21. Post #21
    Gold Member
    DrogenViech's Avatar
    December 2006
    827 Posts
    I cba to check - does this use SSL between the phone, the server, and steam?
    Reply With Quote Edit / Delete Reply Windows 7 Germany Show Events Disagree Disagree x 1 (list)

  22. Post #22
    hOnK :o)
    i300's Avatar
    December 2009
    3,987 Posts
    Updating my Android SDK, then I'll do a build and report on how well it runs on the Motorola Atrix 4G.

  23. Post #23
    SK17a
    garychencool's Avatar
    October 2010
    13,729 Posts
    awesome! but i don't even have Steam
    Reply With Quote Edit / Delete Reply Windows 7 Canada Show Events Dumb Dumb x 12Informative Informative x 1 (list)

  24. Post #24
    Der FΓΌhrer
    Quark:'s Avatar
    January 2011
    4,093 Posts
    I'd pay for this. I've been looking for something like this for a long time.
    I don't know if he can legally sell it or not - OP should contact Valve.
    Reply With Quote Edit / Delete Reply Windows XP Professional x64 United States Show Events Agree Agree x 2Dumb Dumb x 2 (list)

  25. Post #25
    dajoh's Avatar
    March 2011
    625 Posts
    I wouldn't use this, it sends all of the account information (username, password, authcode) unencrypted.
    It even uses a text-based protocol, no kind of obfuscation/hashing/encryption is done.
    Reply With Quote Edit / Delete Reply Windows 7 Sweden Show Events Agree Agree x 4Optimistic Optimistic x 2 (list)

  26. Post #26
    Andrew McWatters
    Dennab
    March 2011
    4,658 Posts
    But uh, to decrypt it, since it's an open source project, couldn't you just look at the source and figure it out? I don't know.

  27. Post #27
    Gold Member
    FlamingSpaz's Avatar
    May 2010
    2,378 Posts
    But uh, to decrypt it, since it's an open source project, couldn't you just look at the source and figure it out? I don't know.
    His builds could have an encryption key redacted from source, and when people build they can make their own keys.

    If it works like that.
    Reply With Quote Edit / Delete Reply Windows 7 United Kingdom Show Events Agree Agree x 1Artistic Artistic x 1 (list)

  28. Post #28
    Wait... so if I write anything here, it's going to show up under my name?
    B!N4RY's Avatar
    December 2009
    7,381 Posts
    awesome! but i don't even have Steam
    ...why are you even on FP then?
    Reply With Quote Edit / Delete Reply Windows 7 Canada Show Events Agree Agree x 19Dumb Dumb x 1 (list)

  29. Post #29
    Andrew McWatters
    Dennab
    March 2011
    4,658 Posts
    His builds could have an encryption key redacted from source, and when people build they can make their own keys.

    If it works like that.
    You're right, didn't think about that.

  30. Post #30
    dajoh's Avatar
    March 2011
    625 Posts
    No, have the server generate itself a private and public key, send the public key to the client, the client generates a key for a symmetric encryption algorithm (ie. AES), then it encrypts it with the server's public key and sends it to the server. Only the server will be able to decrypt it since it only has the private key. All data sent from that point will be encrypted with the symmetric key.

    Edited:

    This is insecure, someone could impersonate the server, see below.
    Reply With Quote Edit / Delete Reply Windows 7 Sweden Show Events Artistic Artistic x 2Agree Agree x 1 (list)

  31. Post #31
    It's a boomer! Watch out!
    boomer678's Avatar
    March 2009
    1,519 Posts
    Does it matter if its encrypted or not if you are just using it on your own network?
    and it doesn't let me connect
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Dumb Dumb x 1 (list)

  32. Post #32
    Gold Member
    FlamingSpaz's Avatar
    May 2010
    2,378 Posts
    Does it matter if its encrypted or not if you are just using it on your own network?
    and it doesn't let me connect
    I'm p. sure a lot of us (Including me) are gonna put it on our remote servers.

  33. Post #33
    dajoh's Avatar
    March 2011
    625 Posts
    Does it matter if its encrypted or not if you are just using it on your own network?
    and it doesn't let me connect
    If you're on your own private home network, you usually have a desktop computer nearby that you can use.
    This is a major security problem, which the author should fix ASAP.

  34. Post #34
    Gold Member
    synthiac's Avatar
    June 2007
    1,095 Posts
    No, have the server generate itself a private and public key, send the public key to the client, the client generates a key for a symmetric encryption algorithm (ie. AES), then it encrypts it with the server's public key and sends it to the server. Only the server will be able to decrypt it since it only has the private key. All data sent from that point will be encrypted with the symmetric key.
    that's still vulnerable to mitm
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Disagree Disagree x 1 (list)

  35. Post #35
    hOnK :o)
    i300's Avatar
    December 2009
    3,987 Posts
    What the hell do I put in allowed.txt?

    Your steam username. Figured that out.

    Edited:

    Crashes after login on Motorola Atrix.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Informative Informative x 1 (list)

  36. Post #36
    Gold Member
    VoiDeD's Avatar
    August 2005
    860 Posts
    You probably will want to rework the callback handling code.

    https://github.com/FlyingPie/SteamDr...Steam3.cs#L147


    Use WaitForCallback instead of polling and sleeping.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Informative Informative x 1 (list)

  37. Post #37
    SWA

    December 2011
    6 Posts
    compiled the server just fine but Eclipse reports 70 errors, I don't suppose anyone has an apk?

  38. Post #38
    dajoh's Avatar
    March 2011
    625 Posts
    that's still vulnerable to mitm
    Thanks, indeed it is.
    You shouldn't send the public key to the client, generate the key pair in advance and have the client already know the public key.

  39. Post #39
    samm5506's Avatar
    July 2008
    645 Posts
    Looks great, but you may want to add a few pixels of padding to the left and right of the chat, so it's not hugging the sides of the screens. The main menu looks fantastic.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Agree Agree x 3Informative Informative x 1 (list)

  40. Post #40
    TIME ALLEN
    Panthereye's Avatar
    May 2008
    1,640 Posts
    awesome! but i don't even have Steam
    question: what was the purpose of signing up for facepunch then?

    also, i crash right as the program launches

    Reply With Quote Edit / Delete Reply Windows 8 United States Show Events Winner Winner x 1 (list)