Announcement

Collapse
No announcement yet.

Custom networking module

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

    Custom networking module

    Hello, Unreal community!

    I am not sure about where to post this, because it's not too much about gameplay code but rather closer to the engine layer. If I chose the wrong section feel free to move or delete this topic.

    So after a long time considering possibilities, I stopped working on my own engine and started to study this one, considering how I will implement the stuff my game idea needs. The most important feature I want to implement is [ONLINE]. Said that, this has been my focus of study in the last couple days when checking out the source code and example games. I liked the replication module, it's cool, but I am not sure if it will be enough for a fully online game with ambitious goals. Wouldn't it have security pitfalls? Also, I'm much more comfortable with the traditional, lower-layer way: dedicated server done from scratch and the communication through encrypted binary packets with opcodes.

    And my question is: does anything like this exist in the engine? If not, what would be the best way to approach it? I just need a way for the clients (Unreal) to connect to a non-unreal server and communicate with it through a low layer approach (byte buffers/char arrays).

    Thank you.

    #2
    I think there is nothing that you can't do with the current networking solution.

    The function replication is similar to the "traditional" methods.
    Also you can set a variable repnotify so you don't need opcodes and such things.

    Comment


      #3
      Still, I would prefer to use my own framework for the networking part, because in online games security is the most important thing and by using a set of utilities which I still don't even know how to use this will be impossible to achieve (not Unreal's fault but mine)... Plus I have my own networking framework already.
      All I need to know is what is the best way to implement such a module in a UE4 client. I can do a separated class using the engine's lower level networking utilities, but where do I store and initialize/release its singleton? In the game instance?

      Comment


        #4
        Hmmm

        My approach would be to write a plugin. To initialize/release singletons i think the best place would be to override the StartuModule and ShutdownModule methods.

        Docs:
        https://docs.unrealengine.com/latest...ace/index.html

        Comment


          #5
          For singleton, you can let the engine manage one for you. Look into the GameSingletonClassName and GameSingleton engine properties.

          -Camille

          Comment


            #6
            Thanks for your help, you'll have news from my team in the coming months

            Comment

            Working...
            X