Announcement

Collapse
No announcement yet.

MMO Starter Kit

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

    #46
    Originally posted by CodeSpartan View Post
    Thanks for your interest in this. You are right, stuff like who can attack what, calculating damage, NPC AI etc is done by a normal Unreal server (well, not your normal listen server, but a console dedicated server). The client or the server (depending on the situation) connect to the php scripts that connect to mysql and handle the authorization, saving and retrieving character data, etc. Then there is a third server, which is a socket chat server, done in C#. For a serious MMO it would be launched from a separate machine, but for the sake of demo, I just run it from the same virtual machine the main server runs on.

    I didn't find your comment on youtube however, maybe it will appear in a while.
    I am also interested in this specific part of your project. You said everything was blueprints except your chat server? How do you achieve doing the http stuff with blueprints? I cannot see anything exposed to blueprint making that possible.
    I've written a system in another engine so I can work out the PHP and mysql stuff easy enough, it's just the UE side I need to find out.

    Comment


      #47
      How do you achieve doing the http stuff with blueprints?
      https://forums.unrealengine.com/show...manager-VaRest
      MMO Starter Kit
      Dialogue Plugin
      Voxel Plugin
      Character Customization: Female

      Comment


        #48
        Ohh, don't I feel stupid.... I've been doing some searching and never came across that thread. Thank you good sir, Appreciate it.

        PS.. you have another customer when it's available. So much useful knowledge will be contained within this project.

        Comment


          #49
          Impressive! Truly amazing that something like this is a reality. I remember when someone made a thread saying they'd made a plugin like this for UDK as an April Fools joke.
          DO contact me with questions about Blueprint or other Unreal features! I don't bite! Or charge money! Just press that blue Skype button and fire away.

          Project Culverin - Open Ended First Person Shooter

          Comment


            #50
            Ok the stress test is over, thanks everyone who has joined! 145+ SoftLayer virtual hourly servers were used to simulate client machines. Each was running one full client (with visuals etc) in a tiny window.

            The clients simulated players running around (you can try this mode yourself by launching the client with command line argument -bot on the demo server). The area where they were supposed to run was quite small - this puts much more stress on the server than if they are in different locations, since this way each one's movement is sent to all the others.

            Video by Bastingse (Nate Elwick)

            Here are some statistics:

            Players CPU(%) RAM(MB)
            20 4.4 171
            145 13.8 814

            Total Server Bandwidth @ 145 active players: around 400KB/s (up and down combined)

            It worked and worked smoothly and I'm happy about it Around 64th client I panicked a little because I've heard a rumor about a 64 player cap. Well, there's no such cap . By the way the FPS on the client was very good (60+ with lots of programs open) even in the midst of those 140+ clients.


            Some screenshots:
            Click image for larger version

Name:	99.png
Views:	1
Size:	922.0 KB
ID:	1061770
            Click image for larger version

Name:	cp.png
Views:	1
Size:	210.1 KB
ID:	1061771
            Click image for larger version

Name:	121.png
Views:	1
Size:	953.2 KB
ID:	1061772

            P.S there has been a patch that added /who command to the chat. You can use it to see how many people are online. It is a bit bugged (doesn't start a new line) but it works.
            Last edited by CodeSpartan; 12-06-2014, 10:53 AM.
            MMO Starter Kit
            Dialogue Plugin
            Voxel Plugin
            Character Customization: Female

            Comment


              #51
              This is fantastic! Well done CodeSpartan!

              Comment


                #52
                Hey Code Spartan 145 is no small number Congrats on the load test

                Comment


                  #53
                  Its a beautiful thing to see the true multiplayer potential of ue4, fascinating how you set this test up! With the new world_max size of 20km on one map/server this is all coming together perfectly

                  Another question- The AI seem to be getting stuck, I guess they are pretty basic for now, theres no advanced stuff like doing traces or detection if your not in line of sight so they turn and navigate

                  This pic shows the AI getting stuck
                  http://i.imgur.com/5tTi18d.png

                  Will your project be able to use other AI for example if I follow an advanced tutorial or use another AI blueprint setup I can tie it in with yours easily?
                  Or will you provide a fully featured AI solution out of the box?

                  I know theres so much to be done in different areas, cant wait to see more!
                  Last edited by CyberDev; 12-06-2014, 03:39 PM.

                  Comment


                    #54
                    Originally posted by CyberDev View Post
                    Its a beautiful thing to see the true multiplayer potential of ue4, fascinating how you set this test up! With the new world_max size of 20km on one map/server this is all coming together perfectly

                    Another question- The AI seem to be getting stuck, I guess they are pretty basic for now, theres no advanced stuff like doing traces or detection if your not in line of sight so they turn and navigate

                    This pic shows the AI getting stuck
                    http://i.imgur.com/5tTi18d.png

                    Will your project be able to use other AI for example if I follow an advanced tutorial or use another AI blueprint setup I can tie it in with yours easily?
                    Or will you provide a fully featured AI solution out of the box?

                    I know theres so much to be done in different areas, cant wait to see more!
                    The AI shouldn't get stuck in those situations, it was stuck because of the small nav mesh I was using : https://www.dropbox.com/s/sou1v13rtx...vmesh.png?dl=0 When I made it big enough, I did about 10 circles around that house and the AI followed me just fine. So the next demo patch will have that fixed, I'm going to add some other things before I release the patch though.

                    You can use your own AI just like in a regular UE project.
                    MMO Starter Kit
                    Dialogue Plugin
                    Voxel Plugin
                    Character Customization: Female

                    Comment


                      #55
                      Fantastic work CodeSpartan!!!

                      Looking forward to supporting your hard work, I do have a question when you get a chance.

                      Will this support World Browser?

                      The articles I have been reading says out of the box UE4 doesn't support World Browser for multiplayer that you would have to implement for world origin shifting.

                      Thank you in advance!

                      Comment


                        #56
                        This is very awesome! Nice job.

                        Comment


                          #57
                          Originally posted by Nemodain View Post
                          Will this support World Browser?

                          The articles I have been reading says out of the box UE4 doesn't support World Browser for multiplayer that you would have to implement for world origin shifting.

                          Thank you in advance!
                          Correct me if I'm wrong but I think that would require making completely new custom networking to store the position of players on another server, It's over my head how to do coordinate shifting so precision issues don't happen with a massive seamless world

                          I suppose the workaround for now would be to run each zone of 20km on a separate server / map (and make the map look like a continuation of the same one)
                          Then players will be shifted and automatically loaded into the other zone when they get to the killXY border

                          The main problem with that is loading / reconnect times, However in UE4 unreal tournament reconnecting to another server running a different map is like instant, its soo fast, so maybe this can be viable...

                          I asked a few questions on how to set this up, but it requires coding that is beyond my capabilities, for I am just a 3d artist
                          Last edited by CyberDev; 12-08-2014, 12:25 AM.

                          Comment


                            #58
                            Originally posted by CyberDev View Post
                            Correct me if I'm wrong but I think that would require making completely new custom networking to store the position of players on another server, It's over my head how to do coordinate shifting so precision issues don't happen with a massive seamless world
                            But thinking about it, you might not need to split the world into levels in that sense. Just having mad local occlusion culling should do the trick if I'm right.
                            KITATUS
                            "Information shouldn't be behind a paywall, It should be free for all!"

                            Comment


                              #59
                              Originally posted by KitatusStudios View Post
                              But thinking about it, you might not need to split the world into levels in that sense. Just having mad local occlusion culling should do the trick if I'm right.
                              Then how would other servers know the exact location of players on other servers?
                              The XY killzone & maximum size of a single map/server is 20km, go beyond that or even at the extremities you have precision issues, so I don't think that would work & be that easy or epic would have already implemented it,

                              We already have culling ways with replication priority, same deal its just about the distance of a players from the origin of the world because moving the origin for one player would affect everybody without adding some sort of multi-coordinate overlapping system or store positions of players on separate server like most mmo's

                              But now that I think about it even world of warcraft has a sort of loading feature when you switch continents, like if your ported to another zone it takes a bit, but it is really quick, also if you go by boat maybe the boat takes so long because it shifts you into a seamless loading zone where the other places load behind the scenes (which would be awesome if ue4 could do this as another work around)

                              Perhaps the auto reconnect to another server/map when getting to the killxy bounds method I mentioned can be implemented into this project, so it is more of a complete MMO solution, the best that we can get for now, that would make it a real mmo!
                              Last edited by CyberDev; 12-08-2014, 01:08 AM.

                              Comment


                                #60
                                But now that I think about it even world of warcraft has a sort of loading feature when you switch continents, like if your ported to another zone it takes a bit, but it is really quick, also if you go by boat maybe the boat takes so long because it shifts you into a seamless loading zone where the other places load behind the scenes (which would be awesome if ue4 could do this as another work around)
                                Yes, WoW uses separate servers for each continent.

                                Guys, I do plan to make server-to-server travel (and it's not hard to do actually), however if I was making a new MMO I would be more concerned about gameplay at this point than about surpassing the size of a WoW continent . Is Unreal's new limit 20 km from side to side? Take a look at this: http://static.giantbomb.com/uploads/...6064-ubwcz.jpg, some pretty huge worlds were done with less. However, I do intend to make server-to-server travel, but for different reasons - so that a single realm can handle more users CPU-wise.
                                Last edited by CodeSpartan; 12-08-2014, 01:40 AM.
                                MMO Starter Kit
                                Dialogue Plugin
                                Voxel Plugin
                                Character Customization: Female

                                Comment

                                Working...
                                X