Search Unity

Socks - All in One Networking Solution

Discussion in 'Assets and Asset Store' started by Vancete, Jan 5, 2021.

  1. Vancete

    Vancete

    Joined:
    May 3, 2010
    Posts:
    198
    Socks is an All-in-One networking solution designed for Unity.

    It has been developed from scratch thinking on the requirements of little-to-mid size projects: it covers from the basics of networking functionalities, like realtime communication or RPCs to user management like user registering and login, inventories, currencies, etc. And even if it does not cover your needs, it's totally customizable, so you can make it perfectly fit all your needs.

    While it has been designed for Unity, it is platform agnostic, that does means that you can run the server on multiple different platforms, and develop your client with Unity and export it to any available platform, or even write an HTML + JavaScript web that connects with Socks.

    It's aimed to be the easiest networking system for Unity. Its simplicity makes it human-friendly, and will help you to develop faster multiplayer products.

    Docs: https://vancete.gitbook.io/socks/v/0.2.0/

    Asset Store: https://assetstore.unity.com/packages/tools/network/socks-all-in-one-networking-solution-186414

    The idea of this thread is to solve doubts, helps users and keep developing the product with the community.

    Best regards,
     
    Last edited: Feb 25, 2021
    BetaMark and Joe-Censored like this.
  2. BetaMark

    BetaMark

    Joined:
    Sep 27, 2014
    Posts:
    229
    I love reading about new networking assets being posted to the asset store, as I'm always adding to the list of ones for me to learn -- but I've got a really big first question for you: Why Socks?

    When I hear Socks, particularly related to servers, I think of the SOCKS (and SOCKS5) internet protocol standards that are often (but not exclusively) used in front of web servers.

    In my opinion, using this name will dilute the brand of your asset and confuse people tremendously when they go googling for solutions to any problem with a "socks server".

    If I'm missing something, and you are actually a server platform designed on top of the socks protocol, perhaps add that to the introduction of your documentation to explain how the two are related.
     
  3. Vancete

    Vancete

    Joined:
    May 3, 2010
    Posts:
    198
    Well, Unity assets are kind of a niche, i.e. I don't think anyone will Google 'problem with mirror networking', probably they will use the dev contact mail, or ask in this forum, etc.

    The Socks name refers to that article of clothing that never goes alone, like in multiplayer games. Also for sockets. Just a name.

    Interesting comment anyway.

    Regards
     
    BetaMark likes this.
  4. Vancete

    Vancete

    Joined:
    May 3, 2010
    Posts:
    198
  5. BetaMark

    BetaMark

    Joined:
    Sep 27, 2014
    Posts:
    229
    As a professional developer who is coming from outside of the game dev space, this is something I do all the time ;-)

    Congrats on the release!
     
  6. Vancete

    Vancete

    Joined:
    May 3, 2010
    Posts:
    198
    A new version will be available on the asset store in few days :)

    0.2.0
    • Added Custom Types, Pre and Post Actions.

    • Clients connected (101) now accepts channel filter

    • Added a Net Type that returns the channel list (102)

    • New example scenes provided on the client side

    • Provided server binaries.
     
  7. Vancete

    Vancete

    Joined:
    May 3, 2010
    Posts:
    198
    Package 0.2.0 is pushed to Asset Store, now pending of approval.

    Some fixes are also included. A new demo scene is provided showing how to deal with channels/rooms:
     
  8. Vancete

    Vancete

    Joined:
    May 3, 2010
    Posts:
    198
    Version 0.2.0 is now live on the asset store :)

    For the new version I'll be working on users functionality (user banning, user KV, etc...)

    Regards
     
  9. Eraile

    Eraile

    Joined:
    Aug 14, 2012
    Posts:
    16
    Looking forward to it! I'm available if you still need some opinion on your developments :)
     
    Vancete likes this.
  10. Thunderik

    Thunderik

    Joined:
    Apr 28, 2020
    Posts:
    32
    Interesting! Will be fun to try out one day :)

    It would be nice if you mention that the server mostly acts as a relay, if my understanding is correct.

    The docs link leads to the 0.1.0 version.

    Also, I can understand the base network functionality parts of the functionality page since those are a part of the getting started but it's unclear if the data-based functionality are examples of what a user could develop or something that's actually included.
     
  11. Vancete

    Vancete

    Joined:
    May 3, 2010
    Posts:
    198
    Socks works in a client-server architecture, and since the clients are connected directly to the server, no relay is needed.

    All the data-based functionality included on the docs are already implemented on the server side, so you can use it without any extra effort. Anyway, those are expandable, and you can even write your own functions.
     
    Thunderik likes this.
  12. Thunderik

    Thunderik

    Joined:
    Apr 28, 2020
    Posts:
    32
    What I meant with "relay" is that it seems that there is no gameplay logic on the server side or have I misunderstood something?
     
  13. Vancete

    Vancete

    Joined:
    May 3, 2010
    Posts:
    198
    A relay in networking is a piece that guarantees connection between users on 'restricted' networks (ports closed, mobile network, etc...). In this case is not required since you connect directly to the server and not to other player machine.

    About game logic on server side, its not included by default but you can write your own logic if you need to have an authoritative server.

    Regards
     
    Thunderik likes this.
  14. flametime123

    flametime123

    Joined:
    Feb 27, 2020
    Posts:
    5
    Hey! How long do you plan to maintain your asset?
     
  15. Vancete

    Vancete

    Joined:
    May 3, 2010
    Posts:
    198
    Complex question TBH.

    The first update was released some days ago. Now I'm working on the next one. After that, others will come, but I want to listen the community needs.

    Regards
     
  16. flametime123

    flametime123

    Joined:
    Feb 27, 2020
    Posts:
    5
    Hola!

    Give some feedback :

    1) Server zip must be only in C/Users/User, i put it in C/Users/User/Server and admin panel is broke
    2) Got these errors in console

    !ERROR TypeError: Cannot read property 'channel' of undefined
    at parseMessage (file:///C:/Users/LENOVO/server.js:176:30)
    at handleWs (file:///C:/Users/LENOVO/server.js:56:19)

    3) Got some problems with sprite flip, my code - https://pastebin.com/NvPCgWzu
    4) I can send messages only with string, int and float? Can i send struct?

    UPD:

    5) Work only one EntityBase component on GameObject?
    6) Can i set parameters in RPC?

    At all - very simple and easy plugin :)
     
    Last edited: Mar 10, 2021
  17. Vancete

    Vancete

    Joined:
    May 3, 2010
    Posts:
    198
    Hello there,

    The server runs anywhere you put it, BUT (and maybe I should specify it on the docs), if you use the binary instead of the script, you should copy the /client folder to wherever is the binary.

    About the errors, could you send me a little unitypackage with a sample how to reproduce it?

    Right now, only string, int and float is allowed, since it's how JSON works.

    Yup, only one EntityBase per GameObject.

    Regards
     
  18. ZhavShaw

    ZhavShaw

    Joined:
    Aug 12, 2013
    Posts:
    173
    You'd be surprised haha.
     
    Thunderik likes this.
  19. NaughtyMoleGames

    NaughtyMoleGames

    Joined:
    Jan 25, 2018
    Posts:
    51
    Is this asset still active? Still in beta? Is there a roadmap? Discord server? Thanks!

    Update:
    After taking a look at his (the developer) past assets, it seems he has a tendency to abandon assets a couple months after release. None of his projects have received any sort of long term support.
     
    Last edited: Jun 26, 2021
  20. Eraile

    Eraile

    Joined:
    Aug 14, 2012
    Posts:
    16
    This is what i notice too... Too bad, i though it could become something nice.
    Nice packaging though but can't recommend. Loaded it, saw it wasn't good enough compared to the vast majority of free assets & it's a price compared to other vastly better assets.