Hi guys, I recently got a MikroTik Routerboard and I have been wondering if there is anyway that I can prioritize my PC when I am playing CS:GO. Usually when my family is using the internet and I’m trying to play, my ping goes really, really high (200+) and it’s bugging me. So yeah, is it possible for my PC to use most of the internet bandwidth (maybe around 80-90%) when I am playing? Thanks.
Hi ,
Yes it’s possible , we call it QOS(quality of service) aka Queue in Mikrotik.
usually done by 2 step :
1-Mark our connections and packets. (It will be done by IP/Firewall/Mangle)
2-set their priority higher than others(It will be done by Queue)
Marking connection and packets :
**** here we mark any connection coming from your PC (assuming your PC IP address is : 192.168.100.100)
chain=forward action=mark-connection new-connection-mark=MyPC_Connections passthrough=yes src-address=192.168.100.100 log=no log-prefix=“”
**** here we mark any connection going to your PC
chain=forward action=mark-connection new-connection-mark=MyPC_Connections passthrough=yes dst-address=192.168.100.100 log=no log-prefix=“”
**** here we mark any packets related to MyPC_Connections
chain=forward action=mark-packet new-packet-mark=MyPC_Connections passthrough=yes connection-mark=MyPC_Packets log=no log-prefix=“”
**** Above mangles mark every packets and connections of your PC , internet , LAN , gaming ,all…
*** If you wanna mark specific traffic it usually done by its IP address and port , if you know your game center IP address(es) and port which using for communicating , you can easily just mark your Gaming packets
Now we set our marked traffic priority :
add name=MyPC_QOS packet-marks=MyPC_Packets priority=1/1 target=“”
** Default priority is 8 , so you can set you traffic to 1 and force the router to take care of your traffic first thing on its list ![]()
There are many option in firewall mangle and Queue , i suggest you to read references for more control over your traffic
Hi, thanks for the detailed post, but when I type in the first command in the terminal I get a syntax error (line 1 column 6). What’s the problem here? I did change the IP address to my PC’s (which is 192.168.88.254 according to Windows 10 ethernet settings).
Just go to / IP Firewall Mangle and put add keyword before your commands ( i forgot to write them
)
Also it’s better to not use New Terminal ,go to IP/Firewall/Mangle and use the GUI , there are many option you can use and get familiar with them
Okay thanks, I got it to work. It made my download speed very good but my ping and upload speed are even worse than before, which makes me lag a lot in CS:GO. Anyway to make it so it’s more focused on ping/upload speed? Because that’s what I have been trying to do from the beginning.
If you use Mangle GUI instead of command line you will find many options , you can customize your Mangle , In/Out interface , port , ip addresses could be useful for you , any network has its own architecture and situation , so i can not give you an explicit Mangle because i don’t know how is your network set up and what IP and port does your game using , in my opinion now you are familiar with the Mangle and Queue concepts , so try to find out a solution for yourself , it makes you stronger ![]()
Hi, i just bought mikrotik router 2 days ago, managed to setup and get the connection. Im trying to implement QoS like OP. Just wondering does all these mangle setup need to have Ip address? Im having trouble how to set a static Ip address on all my device (on wifi and ethernet) since if i disconnect my device surely my dhcp will give another new ip address and these mangle rule will not be followed(because of the ip setup).
Don’t use one by one single IP , firewall supports subnets and IP ranges :
one Mangle with 192.168.20.0/24 matches all IP’s from 192.168.20.1 to 192.168.20.254
Also you can use IP pool which is supported with both DHCP and Firewall , very useful and you’ll never get confused about your addresses (naming is supported by IP pool , for example : Wifi_Clients , DMZ_IP , or etc…)
This post was really helpful, thank you.
My question is, shouldnt this line:
chain=forward action=mark-packet new-packet-mark=MyPC_Connections passthrough=yes connection-mark=MyPC_Packets log=no log-prefix=“”
be this:
chain=forward action=mark-packet new-packet-mark=MyPC_Packets passthrough=yes connection-mark=MyPC_Connections log=no log-prefix=“”