Search Unity

Assets [WIP] LoomSuite - Async Social Game Backend Framework

Discussion in 'Works In Progress - Archive' started by Fhiz, Feb 28, 2018.

  1. Fhiz

    Fhiz

    Joined:
    Feb 28, 2018
    Posts:
    81
    Hi everybody,
    I am working on a new asset since quite some time and although im new to the forums, I would like to use this post as a very first shout-out. Maybe you guys have some feedback for me, I will happily answer any questions. Im also looking for testers sometime later this year and will give away a free copy or two.

    My asset (LoomSuite) is a asynchronous network framework based on WebRequests with a strong emphasis on stability and security. Note that this asset is not suited for realtime communication as WebRequests are quite slow.

    The core (Encryption, Account Management etc.) is already finished and tested, but the asset won't be released until later this year because I want to add and test several features first (otherwise it would be quite useless in its current state). Im also launching a website a bit later this year (www.wovencode.net)

    Here is my "sales pitch" text that explains it in a few words:

    Async is the future! Are large scale solutions like Gamesparks or PlayFab too big for your indie project? You do not want to rely on 3rd party services like Apple Gamecenter? You want a lightweight, simple and easy-to-install solution that ships with a complete feature set (like Registration, Login, Leaderboards, Chats, Achievements and many more) out of the box? Then LoomSuite is exactly what you have been searching for!

    LOOM SUITE
    LoomSuite is a client and server framework based on Unity3d (LoomClient) as well as PHP/mySQL (LoomServer). LoomSuite allows you to add common online features to any kind of offline game project written using the Unity3d engine and is also compatible to most online game projects with adjustments. LoomSuite allows a game designer to add typical online (social) features like account management, chat, leaderboards, achievements, virtual currencies etc. to your game.

    THE LOOM SERVER
    The back-end runs on a conventional web-server with PHP and mySQL installed. A root server or compiled server EXE is not required. The network communication is based on WebRequests as it is not realtime. The client-server communication is encrypted using a secure encryption standard. The front-end is your typical Unity project and follows the “dumb terminal” principle.

    PLANNED LOOM SUITE FEATURES
    * Core * Accounts * Data * Profiles * Virtual Currencies * Ban/Penalty Module * Self Cleaning Server * Secure Encryption * Leaderboards * Friendlist * Achievements * Matchmaking * Guild * Chat * Timers * Rewards * Auction House * Mail * Ingame Shop * Game Rooms * Tournaments * Admin Panel * Virtual Goods * Challenges *

     
  2. Neviah

    Neviah

    Joined:
    Dec 1, 2016
    Posts:
    235
    Would this work with steam, xbox live, and ps network?
    If I used photon in my game, are there compatibility issues?
     
  3. Fhiz

    Fhiz

    Joined:
    Feb 28, 2018
    Posts:
    81
    Hi @Neviah - im glad that your are asking. No won't run into compatability issues. But let me answer your question in detail:

    LoomSuite does not hook into services like steam, xbox live or ps network as the purpose of this asset is to be completely independent (it allows you to host your own social backend service) - but you won't run into compatibility issues if you want to use those services using your own code or another asset.

    As LoomSuite uses WebRequests, it can be used on any device/OS that Unity can compile for. This includes most platforms:

    Mac, Linux, Windows, WebGL, iOS, Android, PS4, PSVita, XboxOne, Nintendo Switch

    No. LoomSuite uses contextless WebRequests that can run parallel to UNET, Photon or any other networking protocol (UDP/TCP), layer (HLAPI) or asset. You can also combine it with another asset that utilizes WebRequests.

    It should be noted that LoomSuite comes with a complete Login/Registration system and relies on that. Your photon implementation most likely already features a login/registration as well. So it would be your task to bring those two together, as this is beyond this assets scope.

    feel free to ask!
    -Weaver
     
  4. Fhiz

    Fhiz

    Joined:
    Feb 28, 2018
    Posts:
    81
    A quick update from my side: Im almost finished with the core functionality and will begin to add the first major gameplay feature to the asset soon. There is still some testing and polishing going on, but the base is more or less finished. Here is an overview of all completed features that Loom Suite currently has to offer:
    • LoomServer = PHP/mySQL Server (fully OOP)
    • LoomClient = Unity Client (available for most platforms and operating systems)
    • Configureable Server via Configuration files (PHP includes & constants)
    • Optional multiple games on the same Server (distinguished via an app ID)
    • Optional multiple Servers for various tasks (limited to 1 database currently)
    • Fully encrypted Client/Server Communication (256 bit)
    • Action based communication with extensive security checks and validation
    • Database stores passwords hashed + salted
    • Database stores sensitive data hashed (IPs, user devices etc.)
    • Database is based on mySQL, Server access via mySQLi
    • Client/Server Encryption Keys + Randomized Keys
    • Client Input Validation for all Inputs
    • Server re-validation of all Inputs and Data
    • Automatic Penalize/Ban Clients that temper data (penalize hacking attempts)
    • Automatic Client Version validation
    • Optional Client action delay to prevent spam
    • Client ships with a simple but fully functional GUI
    • Account Registration (Username, eMail, Password)
    • User Login/Logout (Username, Password)
    • Forgot Password (Password reset via eMail and confirmation by user)
    • Change Username
    • Change eMail (requires eMail confirmation by user)
    • Change Password
    • Delete Account
    • Optionally limit Client side risky actions (e.g. username change only every 24 hours)
    • Optional Account Registration Limit per device
    • Optional Account Confirmation via eMail
    • Option to resend the registration confirmation
    • User levels (visitor, unconfirmed, user, admin, superadmin etc.)
    • Soft/Hard Deletion of User Accounts
    • Simple Server eMail system + eMail templates
    • Scheduled Server Side Tasks (periodically)
    • Triggered Server Side Tasks (e.g. on Account register / on Account deletion)
    • Server Side Tasks include:
      • Prune Banned Accounts periodically
      • Prune Deleted Accounts periodically
      • Prune Online Accounts periodically (prune inactive Accounts)
      • Prune Online Clients periodically (prune inactive clients)
      • Prune Unconfirmed Accounts periodically
    All in all, it's still quite technical but the "fun stuff" follows soon.

    In case you are reading this, thanks for doing so - stay tuned for more updates!
    -Weaver
     
    Neviah likes this.
  5. Fhiz

    Fhiz

    Joined:
    Feb 28, 2018
    Posts:
    81
    Tiny LoomSuite Devlog:

    Finished Milestone 1 (that comprises the Core System)
    • All features mentioned in the above post are now fully implemented, tested and bullet proof (fingers crossed)
    • Added simple Profanity Filter (you cannot register a account with the name "idiot" for example) - the filter is configureable and will later be used to censor chats/messages as well.
    Started working on Milestone 2 - that will include:
    • Virtual Currencies
    • Chat
    • In-game Messages
    • Friendlist
    ETA for Milestone 2 is April (keep in mind project release 1.0 is not before next year)

    Plus, project website is now up and running - added the first pages of documentation already (quite tech heavy):

    http://wovencode.net
     
    Neviah likes this.
  6. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    1,235
    Can't wait to see how this comes along.
     
  7. Fhiz

    Fhiz

    Joined:
    Feb 28, 2018
    Posts:
    81
    Still on it, will take a while though (as stated in the opening post) !
     
  8. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    1,235
    That's no problem, so will my game, lol.
     
  9. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,316
    Sounds interesting. :)
    Will there be a usuable first release with some Basic Features maybe leaderboards and exchanging Messages and Progress notifications between the Gamers in near future?