Announcement

Collapse
No announcement yet.

Multiplayer stuttering bug / lag on Steam test _ video included (I tried everything, please help)

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

    Multiplayer stuttering bug / lag on Steam test _ video included (I tried everything, please help)

    Hello guys,

    I am trying to implement multiplayer to my project but I saw some weird really annoying stuttering on Steam test as you can see in the video. I have tested these conditions (seperatadly and combined) below but there is no change;

    https://drive.google.com/open?id=10b...tA9BafgVM-t_9q

    - I uploaded Unreal default TPS template with advanced steam sessions (just basic lobby code included)

    - I tried to change packet loss and lag in game but problem neverhappened on local, just happened on Steam in every condition (with lag our without lag)

    - I watched many server optimization video even Unreal live streams but I cannot see any fixed to my problem.

    - I uploaded Unreal default TPS template without advanced steam session, just create and find session nodes from Unreal default bp nodes, same problem happening.

    - I tried on different ethernet connections with different modem, nothing change.

    - I tried to use net dormancy, dormancy flush, force net update and tried to change net frequency update, net priorty.

    - I tried to disable replicate movement for default character and made custom replication for actor location (with or without interpolation), nothing change again.

    - I tried replicated projectile movement, projectiles is working correctly. This bug only happening for pawn with character movement component, I think.

    - Problem isnt happening on characters which can move with 'AI move to'. They have already character movement component but there is no problem because of AI move to.

    - I tried ticked and deticked 'component replication' on character mesh on related blueprint. Nothing change.

    * I made every test on Steam server, because I saw this problem only Steam server.
    * Also during this problem I cannot any huge difference on ping (it is stable between 5ms - 10ms)
    * I saw this bug on client and server (Mostly client). Even I saw this bug sometimes during client is stuttering on server and on itself! IDK why

    I just want to add these tutorials which I watched during make multiplayer system with or without advanced session;

    Without advanced session
    https://www.youtube.com/watch?v=TPakLkxc6f0

    With advanced session
    https://www.youtube.com/watch?v=rWs6...4c683a2VltXBx6

    Please help guys, thanks!

    Edit solution 1:
    I realized something, problem is only happening if we connect on same ethernet connection and during this status 'out saturation' in stat net is 100%. But If we connect different location with different ethernet connection, saturation is 0% and problem is not happening. I am digging deeper to find reason.

    EDIT 2: I saw ReceivedRawBunch value on stat.net screen changing from 1ms to 4 ms during this stuttering.
    Last edited by GusGame; 10-19-2019, 05:29 AM.

    #2
    On first sight seem like movement speed is not replicated. Do you have anything in tick (or maybe you change max walk speed somewhere but not on the server)?
    Try to debug by printing movement speed - max walk speed (you can see client and server debug info).
    Also check AnimBP - do not put anything there related to replication/network (probably all should be done via your character BP).

    I am not sure why you mentioned Steam anyway...you are testing this locally, right?

    This works fine with default TPS template.

    Comment


      #3
      I checked movement speed on each side. Everything seems correct. Also there is nothing on event tick. Anim bp is default. How can I check animbp in anycase?
      Also I can't see or simulate this problem on local. Just I see on Steam

      Comment


        #4
        When you said on Steam you mean Steam overlay, and subsystem not steam server, right? You are still hosting locally?
        It's hard to guess what's going on. Everything should work fine without any modification with TPS Template provided by Epic.
        Do you run dedicated server?

        Also, try to type "stat NET" in console to see if there's any packet loss or something...debug everything what you can debug

        Comment


          #5
          I mean I upload the game on my steam admin panel and I downloaded from 2 different account to 2 different pc. So this is complete user test on steam servers. I tried FPS and TPS template. I will try with stat NET right now. I just need package again as development and upload. Just a few minutes

          Comment


            #6
            During movement inrate values changed to 4000, but during idle these are max 400. What does it mean exactly, IDK.

            Comment


              #7
              You followed the wrong tutorial

              Comment


                #8
                As far as I know Steam provide the ability to save games to the cloud ("Steam Cloud ") but for multiplayer you need your own infrastructure. So basically, you downloaded the same packaged game that you uploaded. It's not hosted on Steam servers (they do not provide that). Your host is still local.
                However, you can test all of this without steam.

                Create .bat file and put the following:
                "{PATH_TO_YOUR_UE4}\UE4Editor.exe" "%CD%\{YOUR_PROJECT}.uproject" /Game/Maps/{YOUR_MAP} -server -log -nosteam -port=7777
                Change {PATH_TO_YOUR_UE4} to UE4 path (for example the path would be: C:Program Files\Engine\Binaries\Win64\UE4Editor.exe)
                Change {YOUR_PROJECT} to your project name (for example: TestProject.uproject
                And change {YOUR_MAP} to your mapname. Note that /Game/ is actually Content folder in your UE4 so make sure that path is correct.

                Put .bat file inside your project folder (where is .uproject located) and start it.

                It will run dedicated server for testing.

                Start one client and type in the console "open YOUR_LOCAL_IP:7777
                and start another client and type the same.
                Note that you need to replace YOUR_LOCAL_IP with your IP address on PC where you started the server (can be public IP too if you open ports).

                Test and see if the problem exists.
                Last edited by Mr. Wood; 10-16-2019, 04:32 PM.

                Comment


                  #9
                  Hmm I will try this but I want say one more thing. We can play and test the game on steam from different locations and different ethernet connections. also as far as I know Steam provide servers. But I will send an email to Steam about this. Also if Steam don't provide, how can we play together from different locations? I stuck with this idea

                  Comment


                    #10
                    Steam only provides basic data holding servers. Such as a master server. A server that holds a list of other servers for you to actually run your game on. Also achievement and stats servers. Again holds data for these things doesn't run logic.
                    Can you connect on your steam dedicated server and start/stop it? Can you see the logs of the dedicated server?
                    How many dedicated servers can you start on Steam?

                    I think you can not do anything of this. You need your own dedicated servers.

                    Comment


                      #11
                      Originally posted by Mr. Wood View Post
                      Steam only provides basic data holding servers. Such as a master server. A server that holds a list of other servers for you to actually run your game on. Also achievement and stats servers. Again holds data for these things doesn't run logic.
                      Can you connect on your steam dedicated server and start/stop it? Can you see the logs of the dedicated server?
                      How many dedicated servers can you start on Steam?

                      I think you can not do anything of this. You need your own dedicated servers.
                      Actually I'm using listen server :/

                      Comment


                        #12
                        That means you are hosting via your PC (in your case), not via Steam since they provides only server list so other users can connect to your server (your PC currently).
                        Last edited by Mr. Wood; 10-16-2019, 05:09 PM.

                        Comment


                          #13
                          I realized something, problem is only happening if we connect on same ethernet connection and during this status 'out saturation' in stat net is 100%. But If we connect different location, saturation is 0% and problem is not happening. Do you have any idea?

                          Comment


                            #14
                            Probably problem is with LAN (something saturates the network).
                            Try to put this in your DefaultEngine.ini
                            [/Script/OnlineSubsystemUtils.IpNetDriver]
                            MaxClientRate=15000
                            MaxInternetClientRate=10000
                            and

                            [/Script/Engine.Player]
                            ConfiguredInternetSpeed=10000
                            ConfiguredLanSpeed=20000
                            Not sure that it will help, but you can try.

                            Comment


                              #15
                              Originally posted by Mr. Wood View Post
                              Probably problem is with LAN (something saturates the network).
                              Try to put this in your DefaultEngine.ini


                              and


                              Not sure that it will help, but you can try.
                              unfortunately nothing change

                              Comment

                              Working...
                              X