Announcement

Collapse
No announcement yet.

Atlas - Alpha Lock, Custom Analytics & Tracking for UE4

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    Atlas - Alpha Lock, Custom Analytics & Tracking for UE4

    Overview
    Atlas provides a rudimentary form of tracking and logging for your UE4 title. There are two parts, the UE4 plugin (the titan) and the server (a celestial sphere). The plugin is responsible for sending the beacons and identifying the user to the server, and the server handles aggregation, caching and state maintenance.

    Alpha Lock
    Each title added to the server provides the manager with the ability to set a default access ability to any unauthorized user – Allow Game, Allow Editor. The plugin sends the users credentials and allows your title to act on the response, either exiting immediately or executing a method to allow you to update your UI, change values or do something more fun like blow up someone’s avatar.

    Server, State Maintenance, Data Aggregation & Caching
    The server allows for editing of the values and reviewing state. From a single view you can see when a given user last used your title, update their access and or remove them from the listing and revert them to anonymous usage.

    The reporting portion of the tool is not mature enough to be worthy of documenting. More details will be shared as the application grows. You can see a sample of the server here: atlas.gneu.org.

    Everything is functional as of now. There is a lot of flexibility built into it already, so customizing the beacons, reporting and such is definitely a realistic expectation.

    You can find more details on GitHub.
    Atlas
    | Node.js Server

    Change Log

    unreleased
    Standalone Server & Functional Plugin
    About Me | JavaScript and UE4 | Exodus | Code Notes

    #2
    this look interesting ,I was thinking to make a integration with nodejs(listen on tcp,udp) for replacing the ue4 dedicated server

    Comment


      #3
      So...this is for alpha access management? I don't fully understand its capabilities from the description - but it does sound interesting to me
      Game Developer @ LODZERO - My Twitter | tomlooman.com UE4 samples & tutorials | C++ Survival Game (Open-Source)

      Comment


        #4
        There is actually a team doing exactly that. Look up Netherdeep. I am still getting up to speed with their project but am planning on being a contributor once I get their methodology down.
        About Me | JavaScript and UE4 | Exodus | Code Notes

        Comment


          #5
          This provides access management, allowing you to control who has access to your game/editor along with a roll your own approach to analytics and tracking.
          About Me | JavaScript and UE4 | Exodus | Code Notes

          Comment


            #6
            Could you explain how to use it? I can't get the server to run, and there's no plugin configuration stuff.

            Comment


              #7
              How to set up Atlas

              Sure - with a disclaimer. The API for this project is still evolving and likely to be changing.

              The server is a lot more complicated, but soon ill have a demo server available - So I'll have to revisit the following:

              Server
              1. Checkout Atlas-Server
              2. Install MongoDB
              3. Start the mongo server (startmongo.bat)
              4. Start the server (startServer.bat)
              5. Navigate to localhost:3000 and initialize your Admin user.
              6. Navigate to the applications page (you may need to log in)
              7. Create a new entry for your application - Allow Game and Allow Editor are flags for anonymous users.
              8. Optionally - you can create a client entry, setting their state more in a more granular fashion


              Client
              • Checkout Atlas into your projects `plugins` directory
              • Add Atlas to your projects dependency list in your projects build.cs file:

              Code:
              // Analytics & Tracking
              PrivateDependencyModuleNames.Add("Atlas");
              • In your module's cpp file you will need to `#include "Atlas.h"`
              • within your module's startup you will need the following:

              Code:
              if (!Atlas::IsAvailable())
              	{
              		return;
              	}
              
              
              	Atlas &pAtlas = Atlas::Get();
              
              
              	pAtlas.SetApplicationID(TEXT("ProjectName")); // Application Name
              	pAtlas.SetServer(TEXT("http://localhost:3000")); // Host
              	pAtlas.IsInternal(true); // Passed along to server for tracking & can be used as a flag to control access
              
              
              	pAtlas.ShouldForceQuitOnFailure(true); // When the host responds with a failed request the application will force quit
              
              
              	pAtlas.CheckAccess("anonymous"); // Client Name
              That will allow you to handle user access. Of course you can (and likely will) change Project and Client Name values. The analytics portion is in a lot of flux so for now I wont get into that.
              About Me | JavaScript and UE4 | Exodus | Code Notes

              Comment


                #8
                I mostly needed the analytics side of things

                But this'll definitely come in handy. Thanks!

                Comment


                  #9
                  I am going to be pushing some enhancements on that front in the next few days to a week, but really I need some people using it and giving me input on what it is (and isn't) supposed to be doing. If I develop it without the input from you guys its going to be customized to my needs and wont likely meet yours.
                  About Me | JavaScript and UE4 | Exodus | Code Notes

                  Comment


                    #10
                    Originally posted by Bob_Gneu View Post
                    I am going to be pushing some enhancements on that front in the next few days to a week, but really I need some people using it and giving me input on what it is (and isn't) supposed to be doing. If I develop it without the input from you guys its going to be customized to my needs and wont likely meet yours.
                    If I knew where to begin with using it, I'd definitely do so. I'll take a look over this week, as I've got higher priorities on my list.

                    Comment


                      #11
                      I'm interested in the analytics side, but I've been holding off on trying it because you've mentioned it's going to be changing significantly. If you need feedback now I can take a look though.

                      Comment


                        #12
                        I am definitely interested in hearing what you are looking for out of this plugin, if you don't mind sharing your thoughts.
                        About Me | JavaScript and UE4 | Exodus | Code Notes

                        Comment

                        Working...
                        X