What's new

QoS and Ping in DOTA 2 - Please help me :)

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Weggy

Regular Contributor
Hi eveyone,

Now I play alot of DOTA 2 and when I'm playing my ping is the be all and end all. It must be good. So I have the Asus RT-AC5300 as I thought it would help me with this issue. But I'm still struggling to get QOS to effectively work well.

Now I have a 44Mbps download connection. When that connection gets 3 to 4 Mpbs of use by another device, say an Amazon Fire Stick streaming NetFlix, I start to see large ping spikes in my game.

Now ofcourse I've setup QoS, fiddled with it. The only thing that seems to work is stopping people use more than 3 to 4 Mbps. But to me this doesn't make sense as the line has far more bandwidth than that.

So can someone give me any help as to what I might be doing wrong?

Many Thanks!
 
Hi eveyone,

Now I play alot of DOTA 2 and when I'm playing my ping is the be all and end all. It must be good. So I have the Asus RT-AC5300 as I thought it would help me with this issue. But I'm still struggling to get QOS to effectively work well.

Now I have a 44Mbps download connection. When that connection gets 3 to 4 Mpbs of use by another device, say an Amazon Fire Stick streaming NetFlix, I start to see large ping spikes in my game.

Now ofcourse I've setup QoS, fiddled with it. The only thing that seems to work is stopping people use more than 3 to 4 Mbps. But to me this doesn't make sense as the line has far more bandwidth than that.

So can someone give me any help as to what I might be doing wrong?

Many Thanks!
Explore this thread: https://www.snbforums.com/threads/r...ements-custom-rules-and-inner-workings.36836/ This works very well for gaming and video while the rest of the house still can use the internet.
EDIT: Works best with Asuswrt-merlin.
 
I already have Asuswrt-merlin Firmware Version:384.5 installed. Which part of this uber thread are you refering to for me to look at? I was hoping to not get overly complex with the changes. This looks like a nightmare :)
 
I already have Asuswrt-merlin Firmware Version:384.5 installed. Which part of this uber thread are you refering to for me to look at? I was hoping to not get overly complex with the changes. This looks like a nightmare :)
Do you have SSH access setup to your router? Can you login to it using putty or xterm etc?
 
Yea I've used putty and logged into my router via it once before.
When ready to install then follow the thread to the install part. It has now been reduced to a command line entered at the command prompt of the putty ssh session.. It works out of the box the way you want it to, if you follow the settings for WEBUI configuration. Later you also use putty to fine tune the script.
 
Thank you I'll have a read. If this is such a major flaw thats appears to of been attended to, why isnt it a firmware update to Asuswrt-merlin?
 
Thank you I'll have a read. If this is such a major flaw thats appears to of been attended to, why isnt it a firmware update to Asuswrt-merlin?
The routers QOS programming is all a Trend Micro owned thing. The code is out of merlin's control its locked. Fresh created a addon script that basically proves one of the problems with Trends QOS could be fixed. It runs on top of or along with the Trend's QOS. The only entity that can fix it is Trend and Asus themselves. Sorry. This really does solve your kind of issue, read a few times and figure it out. If you are running a windows machine I highly recommend two programs that are free. WinSCP and Notepad ++
 
K I'm on this section "-Enabling the Optional Gaming Oriented Rule" and I'm alittle confused. The IP I need to add to this script is "192.168.1.198", but I'm not sure if I should be changing the settings on this CIDR tool to match my network or keeping to whats displayed on that page. Could you give me alittle help?

Infact, before I do this I should ask do I really need to do it. As it seems this makes all traffic from my IP go into other. Im not sure thats what I want.
 
K I'm on this section "-Enabling the Optional Gaming Oriented Rule" and I'm alittle confused. The IP I need to add to this script is "192.168.1.198", but I'm not sure if I should be changing the settings on this CIDR tool to match my network or keeping to whats displayed on that page. Could you give me alittle help?

Infact, before I do this I should ask do I really need to do it. As it seems this makes all traffic from my IP go into other. Im not sure thats what I want.
To keep gaming to one ip, if I get you right, your cidr would be 192.168.1.198/32 if you check a cidr converter and there are lots you can expand the limits of the cidr by lowering the value like say 192.168.1.198/31 or /30 this would be useful if you have say a computer that you game on and a xbox too. You assign them the ips in your cidr range example: 192.168.1.198/31 describes two ips 192.168.1.198 and 192.168.1.199 in this example you would assign a static address to your gaming machines using these addresses described by the /31 cidr reference.
 
Remember to remove the comment (#) from the start of the line. Also click apply on the QOS page to apply those settings. It takes approx.5 minutes for everything to work from then.
 
Before I did this I wanted to see what the status was with the default change. The answer is, its much worse! I don't tihnk that should be the case right? I dont need this gaming bit for it to improve?

I've followed the setup, making sure the QoS config is the order he mentions.
 
Before I did this I wanted to see what the status was with the default change. The answer is, its much worse! I don't tihnk that should be the case right? I dont need this gaming bit for it to improve?

I've followed the setup, making sure the QoS config is the order he mentions.
Shouldn't be worse. If you game then the rule helps class traffic so that game updates do'nt interfere with game play. The usual suspect for poor performance is setting up the bandwidth limitations in the script with an editor like notepad++(must always add up to 100) and the upload and download rates in GUI on the QOS page (usually set from 80% to 95% of your every day speed test results (best site is dsl reports, requires membership but it's free).
 
K I've uploaded the modified version of the script and increased the QoS bandwidth settings as they might have been closer to 85% than 95%. To help here is what my settings look like on QoS:
https://imgur.com/a/PX5bNmH

Also I ran "/jffs/scripts/FreshJR_QOS -debug" to get some info on if the script is working. Here is that log:

adaptive QOS: Undf Prio: 2
adaptive QOS: Undf FlowID: 1:14
adaptive QOS: Classes Present: 8
adaptive QOS: Down Band: 41984
adaptive QOS: Up Band : 9216
adaptive QOS: ***********
adaptive QOS: Net = 1:10
adaptive QOS: VOIP = 1:12
adaptive QOS: Gaming = 1:13
adaptive QOS: Others = 1:14
adaptive QOS: Web = 1:11
adaptive QOS: Streaming = 1:15
adaptive QOS: Downloads = 1:16
adaptive QOS: Defaults = 1:17
adaptive QOS: ***********
adaptive QOS: Downrates -- 2099, 4198, 8396, 6297, 4198, 12595, 2099, 2099
adaptive QOS: Downbursts -- 3198b, 9597b, 4797b, 3198b, 3198b, 3195b, 3198b, 319 8b
adaptive QOS: DownCbursts -- 50Kb, 50Kb, 50Kb, 50Kb, 50Kb, 50Kb, 50Kb, 50Kb
adaptive QOS: ***********
adaptive QOS: Uprates -- 460, 921, 1843, 1382, 2764, 921, 460, 460
adaptive QOS: Upbursts -- 3198b, 3198b, 3198b, 3198b, 3198b, 3198b, 3198b, 3198b
adaptive QOS: UpCbursts -- 11197b, 11197b, 11197b, 11197b, 11197b, 11197b, 11197 b, 11197b

K, still after all this I'm getting large ping spikes still in game.
 
Last edited:
I still think you need to look at this stuff:
Code:
####################  Bandwidth Setup #####################

    user_variables() {
        #Percent of download speed guaranteed per QOS category, change below as desired     (minimum value per section 5, sum should not be greater than 100)
        NetControl_DownBandPercent=5                    #This value can be adjust as desired        **  no spaces before or after the "=" sign **
        VoIP_DownBandPercent=10                            #This value can be adjust as desired        **                no decimals              **
        Gaming_DownBandPercent=15                        #This value can be adjust as desired
        Others_DownBandPercent=10                        #This value can be adjust as desired        #Note: New destination for unidentified traffic
        WebSurfing_DownBandPercent=10                    #This value can be adjust as desired
        Video_DownBandPercent=40                        #This value can be adjust as desired
        FileTransfer_DownBandPercent=5                    #This value can be adjust as desired
        Default_DownBandPercent=5                        #This value can be adjust as desired        #Note: Original destination for unidentified traffic, repurposed for "Gaming Downloads on ports 80/443"
    
        #Percent of upload speed guaranteed per QOS category, change below as desired         (minimum value per section 5, sum should not be greater than 100)
        NetControl_UpBandPercent=5                        #This value can be adjust as desired
        VoIP_UpBandPercent=20                            #This value can be adjust as desired
        Gaming_UpBandPercent=15                            #This value can be adjust as desired
        Others_UpBandPercent=20                            #This value can be adjust as desired        #Note: New destination for unidentified traffic
        WebSurfing_UpBandPercent=10                        #This value can be adjust as desired
        Video_UpBandPercent=20                            #This value can be adjust as desired
        FileTransfer_UpBandPercent=5                    #This value can be adjust as desired
        Default_UpBandPercent=5                            #This value can be adjust as desired        #Note: Original destination for unidentified traffic, repurposed for "Gaming Downloads on ports 80/443"
    }
You can see I have delegated a lot of bandwidth to video it's what I do gaming is my next choice. These values add up to 100 total so just subtract and add as you see fit. Direct everything to gaming and don't rob to much from voip as it is used for in game voice. Test. What are your ISP rated speeds? What do you actually pay for not score?
 
My PC network settings are:
Code:
IPv4 Address. . . . . . . . . . . : 192.168.1.198
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1

While my script now currently reads as follows:
Code:
####################  Bandwidth Setup #####################

    user_variables() {
        #Percent of download speed guaranteed per QOS category, change below as desired     (minimum value per section 5, sum should not be greater than 100)
        NetControl_DownBandPercent=5                    #This value can be adjust as desired        **  no spaces before or after the "=" sign **
        VoIP_DownBandPercent=10                            #This value can be adjust as desired        **                no decimals              **
        Gaming_DownBandPercent=15                        #This value can be adjust as desired
        Others_DownBandPercent=10                        #This value can be adjust as desired        #Note: New destination for unidentified traffic
        WebSurfing_DownBandPercent=10                    #This value can be adjust as desired
        Video_DownBandPercent=40                        #This value can be adjust as desired
        FileTransfer_DownBandPercent=5                    #This value can be adjust as desired
        Default_DownBandPercent=5                        #This value can be adjust as desired        #Note: Original destination for unidentified traffic, repurposed for "Gaming Downloads on ports 80/443"
    
        #Percent of upload speed guaranteed per QOS category, change below as desired         (minimum value per section 5, sum should not be greater than 100)
        NetControl_UpBandPercent=5                        #This value can be adjust as desired
        VoIP_UpBandPercent=20                            #This value can be adjust as desired
        Gaming_UpBandPercent=15                            #This value can be adjust as desired
        Others_UpBandPercent=20                            #This value can be adjust as desired        #Note: New destination for unidentified traffic
        WebSurfing_UpBandPercent=10                        #This value can be adjust as desired
        Video_UpBandPercent=20                            #This value can be adjust as desired
        FileTransfer_UpBandPercent=5                    #This value can be adjust as desired
        Default_UpBandPercent=5                            #This value can be adjust as desired        #Note: Original destination for unidentified traffic, repurposed for "Gaming Downloads on ports 80/443"
    }


####################  Custom Rules Setup #####################
    
    iptable_down_rules() {
        echo "Applying - Iptable Down Rules"
        ##DOWNLOAD (INCOMMING TRAFFIC) CUSTOM RULES START HERE   
            
            iptables -D POSTROUTING -t mangle -o br0 -p udp --sport 500 -j MARK --set-mark ${VOIP_mark_down} &> /dev/null                                                #Wifi Calling (1/2) - (All incoming traffic w/ WAN source port 500  goes to "VOIP" Traffic Container)                                 
            iptables -A POSTROUTING -t mangle -o br0 -p udp --sport 500 -j MARK --set-mark ${VOIP_mark_down}
            
            iptables -D POSTROUTING -t mangle -o br0 -p udp --sport 4500 -j MARK --set-mark ${VOIP_mark_down} &> /dev/null                                                #Wifi Calling (2/2) - (All incoming traffic w/ WAN source port 4500 goes to "VOIP" Traffic Container)
            iptables -A POSTROUTING -t mangle -o br0 -p udp --sport 4500 -j MARK --set-mark ${VOIP_mark_down}
            
            iptables -D POSTROUTING -t mangle -o br0 -p udp --dport 16384:16415 -j MARK --set-mark ${VOIP_mark_down} &> /dev/null                                        #Facetime
            iptables -A POSTROUTING -t mangle -o br0 -p udp --dport 16384:16415 -j MARK --set-mark ${VOIP_mark_down}
            
            iptables -D POSTROUTING -t mangle -o br0 -m mark --mark 0x80080000/0xc03f0000 -p tcp --sport 80 -j MARK --set-mark ${Default_mark_down} &> /dev/null        #Gaming (1/3) - Routes "Gaming" traffic coming from port 443 into "Defaults"
            iptables -A POSTROUTING -t mangle -o br0 -m mark --mark 0x80080000/0xc03f0000 -p tcp --sport 80 -j MARK --set-mark ${Default_mark_down}
            
            iptables -D POSTROUTING -t mangle -o br0 -m mark --mark 0x80080000/0xc03f0000 -p tcp --sport 443 -j MARK --set-mark ${Default_mark_down} &> /dev/null        #Gaming (2/3) - Routes "Gaming" traffic coming from port 80 into "Defaults"
            iptables -A POSTROUTING -t mangle -o br0 -m mark --mark 0x80080000/0xc03f0000 -p tcp --sport 443 -j MARK --set-mark ${Default_mark_down}
            
            iptables -D POSTROUTING -t mangle -o br0 -d 192.168.1.198/32 -m mark --mark 0x80000000/0x8000ffff -p tcp -m multiport ! --sports 443,80  -j MARK --set-mark ${Gaming_mark_down} &> /dev/null        #Gaming (3/3) - Routes Unidentified Traffic into "Gaming", instead of "Others", for LAN clients specified
            iptables -A POSTROUTING -t mangle -o br0 -d 192.168.1.198/32 -m mark --mark 0x80000000/0x8000ffff -p tcp -m multiport ! --sports 443,80  -j MARK --set-mark ${Gaming_mark_down}
            
            #iptables -D POSTROUTING -t mangle -o br0 -d 192.168.2.100/30 -m mark --mark 0x80000000/0x8000ffff -p udp -m multiport ! --sports 443,80  -j MARK --set-mark ${Gaming_mark_down} &> /dev/null        #Gaming (3/3) - Routes Unidentified Traffic into "Gaming", instead of "Others", for LAN clients specified
            #iptables -A POSTROUTING -t mangle -o br0 -d 192.168.2.100/30 -m mark --mark 0x80000000/0x8000ffff -p udp -m multiport ! --sports 443,80  -j MARK --set-mark ${Gaming_mark_down}           
        ##DOWNLOAD (INCOMMING TRAFFIC) CUSTOM RULES END HERE
    }

    iptable_up_rules(){
        
        #wan="ppp0"                ## WAN interface over-ride for upload traffic -- Variable ONLY needs to be defined for users non-Rmerlin 384+ firmware
                                # RMerlin v384+ Firmware AUTOMATICALLY detects correct interface --> this variable should be left COMMENTED/DISABLED on RMerlin v384+
                                # Other firmwares are configured to assume an eth0 interface --> this variable should be manually set if the connection type differs from eth0 ( ppp0, vlanXXX, etc)
                                
        echo "Applying - Iptable Up   Rules ($wan)"

        ##UPLOAD (OUTGOING TRAFFIC) CUSTOM RULES START HERE   
        
            iptables -D POSTROUTING -t mangle -o $wan -p udp --dport 500 -j MARK --set-mark ${VOIP_mark_up} &> /dev/null                                            #Wifi Calling (1/2) - (All outgoing traffic w/ WAN destination port 500  goes to "VOIP" Traffic Container)                                         
            iptables -A POSTROUTING -t mangle -o $wan -p udp --dport 500 -j MARK --set-mark ${VOIP_mark_up}
            
            iptables -D POSTROUTING -t mangle -o $wan -p udp --dport 4500 -j MARK --set-mark ${VOIP_mark_up} &> /dev/null                                            #Wifi Calling (2/2) - (All outgoing traffic w/ WAN destination port 4500 goes to "VOIP" Traffic Container)
            iptables -A POSTROUTING -t mangle -o $wan -p udp --dport 4500 -j MARK --set-mark ${VOIP_mark_up}
            
            iptables -D POSTROUTING -t mangle -o $wan -p udp --sport 16384:16415 -j MARK --set-mark ${VOIP_mark_up} &> /dev/null                                    #Facetime
            iptables -A POSTROUTING -t mangle -o $wan -p udp --sport 16384:16415 -j MARK --set-mark ${VOIP_mark_up}
            
            iptables -D POSTROUTING -t mangle -o $wan -m mark --mark 0x40080000/0xc03f0000 -p tcp --sport 80 -j MARK --set-mark ${Default_mark_up} &> /dev/null       #Gaming (1/3) - Routes "Gaming" traffic going to port 443 into "Defaults"
            iptables -A POSTROUTING -t mangle -o $wan -m mark --mark 0x40080000/0xc03f0000 -p tcp --sport 80 -j MARK --set-mark ${Default_mark_up}
            
            iptables -D POSTROUTING -t mangle -o $wan -m mark --mark 0x40080000/0xc03f0000 -p tcp --sport 443 -j MARK --set-mark ${Default_mark_up} &> /dev/null      #Gaming (2/3) - Routes "Gaming" traffic going to port 80 into "Defaults"
            iptables -A POSTROUTING -t mangle -o $wan -m mark --mark 0x40080000/0xc03f0000 -p tcp --sport 443 -j MARK --set-mark ${Default_mark_up}
            
            iptables -D POSTROUTING -t mangle -o $wan -s 192.168.1.198/32 -m mark --mark 0x40000000/0x4000ffff -p tcp -m multiport ! --dports 80,443 -j MARK --set-mark ${Gaming_mark_up} &> /dev/null     #Gaming (3/3) - Routes Unidentified Traffic into "Gaming", instead of "Others", from specified LAN devices in rule (line 1/2)
            iptables -A POSTROUTING -t mangle -o $wan -s 192.168.1.198/32 -m mark --mark 0x40000000/0x4000ffff -p tcp -m multiport ! --dports 80,443 -j MARK --set-mark ${Gaming_mark_up}

            #iptables -D POSTROUTING -t mangle -o $wan -s 192.168.2.100/30 -m mark --mark 0x40000000/0x4000ffff -p udp -m multiport ! --dports 80,443 -j MARK --set-mark ${Gaming_mark_up} &> /dev/null     #Gaming (3/3) - Routes Unidentified Traffic into "Gaming", instead of "Others", from specified LAN devices in rule (line 1/2)
            #iptables -A POSTROUTING -t mangle -o $wan -s 192.168.2.100/30 -m mark --mark 0x40000000/0x4000ffff -p udp -m multiport ! --dports 80,443 -j MARK --set-mark ${Gaming_mark_up}
            
        ##UPLOAD (OUTGOING TRAFFIC) CUSTOM RULES END HERE
    }

Lastly, my ISP (BT) provides me with an estimated High VDSL Range A (Clean) of 55Mbps Downstream and 13.1. Upstream. However, www.speedtest.net shows real world speeds of 43.84Mbps down and 9.75Mbps up. Because of this my QoS settings are currently at 41Mbps down and 9Mbps up.
 
After running "/jffs/scripts/FreshJR_QOS -debug" to check all is functioning I get:
Code:
Undf Prio:
Undf FlowID:
Classes Present: 8
Down Band: 41984
Up Band  : 9216
***********
Net = 1:10
VOIP = 1:11
Gaming = 1:13
Others = 1:12
Web = 1:14
Streaming = 1:15
Downloads = 1:16
Defaults = 1:17
***********
Downrates -- 2099, 4198, 4198, 6297, 4198, 16793, 2099, 2099
Downbursts -- 3199b, 9598b, 4799b, 3199b, 3199b, 3199b, 3199b, 3199b
DownCbursts -- 50Kb, 50Kb, 50Kb, 50Kb, 50Kb, 50Kb, 50Kb, 50Kb
***********
Uprates -- 460, 1843, 1843, 1382, 921, 1843, 460, 460
Upbursts -- 3199b, 3199b, 3199b, 3199b, 3199b, 3199b, 3199b, 3199b
UpCbursts -- 11198b, 11198b, 11198b, 11198b, 11198b, 11198b, 11198b, 11198b
 
Why aren’t you testing with dslreports to find what bandwidth values give you best bufferbloat/quality as stated in instructions.

If your inputted limits give bufferbloat, it doesn’t matter how traffic is identified as all traffic will go to crap upon congestion.
 
The gaming rules using this address 192.168.2.100/30 that are commented out should be changed to 192.168.1.198/32 as well. This will capture the udp traffic as well. Your bandwidth settings look like mine...lol. Fix the game rule in download as well as upload. Un comment them when done and apply settings on QOS manual bandwidth page. Also you should use dslreports and login to store your results so you can tell what is going on. Test scores without a login vary greatly.
 

Similar threads

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top