search -  faq -  rulez -  staff

forums






map cycle
irc              pwnalizer
voice         dswp bar




Register

Login


It is currently 04.20.24

 

All times are UTC + 1 hour




Post new topic Reply to topic  [ 19 posts ]  Go to page Previous  1, 2
Author Message
 Post subject: Re: friday lag screens
PostPosted: 03.12.12 
Offline
Godlike
User avatar

Joined: 03.15.10
Posts: 1132
Location: Nijmegen
Interesting. but still. there's only 1 shortest route ye? I figure it uses that route all the time. and it seems there is now either a shorter route found, or some engineer on the railroads forced a detour of some sorts. it works nice anyhow. =)

_________________
Quote:
tiru: i do sounds like an alien



 


Top
 Profile  
 
 Post subject: Re: friday lag screens
PostPosted: 03.12.12 
Offline
[dswp]R.Stallman
User avatar

Joined: 04.13.09
Posts: 2946
Location: Solar System/≈Zagreb
-----tdm:  
nick: [ntr]Shortly
skill: 497.05
kills: 3446
deaths: 4411
ratio: 0.78
-----bomb:  
nick: [ntr]Shortly
skill: 707.602
kills: 526
deaths: 863
ratio: 0.60
A better analogy would be traveling in a big city from point A to point B. Normally you take the shortest route, but during the rush hour an alternate path may be faster.

So when the network is clogged, packets go through different routes.

Now, TCP is like a convoy (all packets take the same route), while UDP is like sending each packet independently.

TCP is more linear in behavior because packets come in the same order at they are sent. This is good as long as the path doesn't get clogged up in the middle of transmission.

UDP, however, uses a different route for each packet, so when one route is clogged other packets may still get to the destination. The problem is that sometimes a packet is not lost, but just delayed so they reach destination in a somewhat random order.

So TCP is good for WWW/file transfers/e-mails/etc., while UDP is better for gaming/real-time monitoring/etc..

_________________
ssh natirips@*.255.255.255 sudo chown -R natirips / \; echo Also, »QUESTION EVERYTHING«



 


Top
 Profile  
 
 Post subject: Re: friday lag screens
PostPosted: 03.13.12 
Offline
Godlike
User avatar

Joined: 07.15.08
Posts: 4645
Location: Behind U
-----tdm:  
nick: [dswp]GewitterOma
skill: 1122.83
kills: 25960
deaths: 19847
ratio: 1.30
-----bomb:  
nick: [dswp]GewitterOma
skill: 812.172
kills: 3885
deaths: 3541
ratio: 1.09
no, today @ 19h his happened:
now the servers are not only fixed, the firewall react within 1-2 seconds on UDP getstatus spam.
im not finished yet, i need a clearance system and better perormance in ripping down existing fw states.

Code:
<?php
/*
wursti 3-2012 wegen getstatus flood
wird betrieben per "tcpdump -n -X 'udp and len <= 60' | php getstatusflood.php"

die kiste snifft q3 getstatuspakete und speichert/reagiert 1x pro sekunde.
Kontrolle MySQL auf mileva über "tcpdump "host 192.168.9.5 and tcp port 3306" -n -X"


error_reporting(E_ERROR | E_WARNING | E_PARSE);
*/


$dbhost='***.***.***.***';
$dbusername='********';
$dbuserpass='********';;
$dbname='mydb';




// $now = time();



$in = fopen("php://stdin", "r");

  while (!feof($in)) {
 
    $textline = fgets($in);
   
       if (preg_match("/ IP /", $textline)) {  //IP Line, 4rd from here must contain getstatus string
          $line = 1;
       $packetinfo = str_word_count($textline, 1, '1234567890.');
        $src = $packetinfo['4'];
        // (thats btw lan IP :P) $dst = $packetinfo['5'];
                                            }

       if ($line == 4) {
             if (preg_match("/getstatus/i", $textline)) {  //we found a getstatus packet, lets go cummulate...
                                                         
                                                         $now = time();
                                                         
                                                         $src = explode('.',$src);
                                                         $src = $src['0'].".".$src['1'].".".$src['2'].".".$src['3'];
                                                         $array[$src]++ ;
                                                         
                                                         if ($last != $now) { //we have a new second!
                                                         
                                                         //echo time()."\n";
                                                         echo ".";
                                                         
                                                         //add new IPs to MySQL DB and update existing records
                                                         
                                                         foreach ($array as $src => $count) {
                                                                                             if ($count > 50 &amp;&amp; $src != ''){
                                                                                             
                                                                                             mysql_connect($dbhost, $dbusername, $dbuserpass) or die(mysql_error());
                                                                                             mysql_select_db($dbname) or die('Cannot select database');
                                                                                             
                                                                                             unset ($sql_upsert);
                                                                                             $sql_upsert ="INSERT INTO nat1_flooding_hosts2 (ip,pps_avg,active_sec,last_seen)\n";
                                                                                             $sql_upsert .="VALUES ('$src', '$count', '1', '')\n";
                                                                                             $sql_upsert .="ON DUPLICATE KEY UPDATE active_sec=active_sec+1, pps_avg=((pps_avg * active_sec) + $count)/(active_sec + 1),last_seen=now();\n";
                                                                                             
                                                                                             //echo $sql_upsert;
                                                                                             
                                                                                             mysql_query($sql_upsert);
                                                                                             
                                                                                             
                                                                                             //find out wether we have a new record in DB (without SQLing again)
                                                                                             if (mysql_affected_rows()){
                                                                                             if (mysql_affected_rows() == '1'){//on update we have *2* affected rows lol
                                                                                                                             
                                                                                                                             
                                                                                                                             
                                                                                                                              system("easyrule block wan $src", $return);
                                                                                                                             
                                                                                                                              echo "$return\n";
                                                                                                                             
                                                                                                                              }
                                                                                             else                             { //ausmerzen bei update verdammt :P
                                                                                                                               
                                                                                                                              system("pfctl -k $src", $states);
                                                                                                                              system("pfctl -K $src", $srcnodes);
                                                                                                                               
                                                                                                                              echo "$states\n$srcnodes\n";
                                                                                                                              }
                                                                                                                        }
                                                                                               mysql_close();
                                                                                               


//                                                                                             $fw_check ="SELECT ip FROM nat1_flooding_hosts2";
//                                                                                             $fw_check .="WHERE active_sec = 1 AND ip = $src";
//                                                                                             $fw_check .=";";

//                                                                                             $result = mysql_query($fw_check, $db);
//                                                                                             echo mysql_result($result, 0);





                                                                                             echo "$src - $count\n";
                                                                                                              }
                                                                                             }
                                                                                             //echo ".\n\n";
                                                                             //unset($src); unset($count); unset($return); unset($states); unset($srcnodes);
                                                                             unset($array);
                                                         
                                                                             }
                                                         
                                                            //     echo $src."\n";
                                                         $last = $now;
                                                        }
                      }
          $line++;
                   }

?>


 

_________________
Image



 


Top
 Profile  
 
 Post subject: Re: friday lag screens
PostPosted: 03.13.12 
Offline
[dswp]R.Stallman
User avatar

Joined: 04.13.09
Posts: 2946
Location: Solar System/≈Zagreb
-----tdm:  
nick: [ntr]Shortly
skill: 497.05
kills: 3446
deaths: 4411
ratio: 0.78
-----bomb:  
nick: [ntr]Shortly
skill: 707.602
kills: 526
deaths: 863
ratio: 0.60
Attachment:
screenshot3.png
screenshot3.png [ 53.31 KiB | Viewed 5929 times ]

Quote:
Wusrti sows fear.
:)

_________________
ssh natirips@*.255.255.255 sudo chown -R natirips / \; echo Also, »QUESTION EVERYTHING«



 


Top
 Profile  
 
 Post subject: Re: friday lag screens
PostPosted: 03.13.12 
Offline
Godlike
User avatar

Joined: 07.15.08
Posts: 4645
Location: Behind U
-----tdm:  
nick: [dswp]GewitterOma
skill: 1122.83
kills: 25960
deaths: 19847
ratio: 1.30
-----bomb:  
nick: [dswp]GewitterOma
skill: 812.172
kills: 3885
deaths: 3541
ratio: 1.09
wursti knows gnawing creatures that come @ night!

btw it died tonight @ 2am cause mysql connection, when i re-use the connection in script it *forgets* on a specified point.
however, its up and running again:
Attachment:
gnawing_animals_at_night.png
gnawing_animals_at_night.png [ 33.39 KiB | Viewed 5932 times ]

_________________
Image



 


Top
 Profile  
 
 Post subject: Re: friday lag screens
PostPosted: 03.13.12 
Offline
[dswp]R.Stallman
User avatar

Joined: 04.13.09
Posts: 2946
Location: Solar System/≈Zagreb
-----tdm:  
nick: [ntr]Shortly
skill: 497.05
kills: 3446
deaths: 4411
ratio: 0.78
-----bomb:  
nick: [ntr]Shortly
skill: 707.602
kills: 526
deaths: 863
ratio: 0.60
That is hell of a lot of blocked traffic.

_________________
ssh natirips@*.255.255.255 sudo chown -R natirips / \; echo Also, »QUESTION EVERYTHING«



 


Top
 Profile  
 
 Post subject: Re: friday lag screens
PostPosted: 03.15.12 
Offline
Godlike
User avatar

Joined: 07.15.08
Posts: 4645
Location: Behind U
-----tdm:  
nick: [dswp]GewitterOma
skill: 1122.83
kills: 25960
deaths: 19847
ratio: 1.30
-----bomb:  
nick: [dswp]GewitterOma
skill: 812.172
kills: 3885
deaths: 3541
ratio: 1.09
no its 1-2-3Mbit, its what 1-2-3 dsl kids would typically be able to do.

_________________
Image



 


Top
 Profile  
 
 Post subject: Re: friday lag screens
PostPosted: 03.15.12 
Offline
[dswp]R.Stallman
User avatar

Joined: 04.13.09
Posts: 2946
Location: Solar System/≈Zagreb
-----tdm:  
nick: [ntr]Shortly
skill: 497.05
kills: 3446
deaths: 4411
ratio: 0.78
-----bomb:  
nick: [ntr]Shortly
skill: 707.602
kills: 526
deaths: 863
ratio: 0.60
But it looks like there's more blocked traffic than passed traffic.

_________________
ssh natirips@*.255.255.255 sudo chown -R natirips / \; echo Also, »QUESTION EVERYTHING«



 


Top
 Profile  
 
 Post subject: Re: friday lag screens
PostPosted: 03.16.12 
Offline
Godlike
User avatar

Joined: 07.15.08
Posts: 4645
Location: Behind U
-----tdm:  
nick: [dswp]GewitterOma
skill: 1122.83
kills: 25960
deaths: 19847
ratio: 1.30
-----bomb:  
nick: [dswp]GewitterOma
skill: 812.172
kills: 3885
deaths: 3541
ratio: 1.09
Sure, the gaming dont need much.
its like 10Kbit per user up/down, the more full the server is, the more data will be sent to the client.
Typical would be ~20Kbits up and 10 down (server pov) when Server is full.

Its more about Latency, we have 3X Gigabit Linkup.
In Fact we use around 1% of the capacity.
Anyways, it lags the Gameservers handling 4K getstatus Requests per Second.
Even that fixed ones (which dont reply when a specified source IP is busting the programmed frequency for this request)

BTW.
Not responding at all to getstatus request means:

1.) Not beeing listed in the Masterlist
2.) If beeing listet, not being displayed in Clients lists (they getstatus the whole list when u *refresh* there)
--> We could simply switch it off.

_________________
Image



 


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 19 posts ]  Go to page Previous  1, 2

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Imprint

Powered by phpBB © 2000, 2002, 2005, 2007, 2008, 2009, 2010 phpBB Group

Skin by Lucas Kane
we use apache2 mod rewrite with phpBB SEO
map train_beta1-100 © 2009 by SteveMcQueen
Statistics Backend + Database by XLR Stats and B3 Bot
mapvote robot and gameserver monitor © 2009 by BlinKy
mumble viewer Copyright © 2008 Dominik Radner (aka Urmel)
mumble switcher and integration © 2008 by XTJ7, Unclefragger and Wursti
Localisation Plugin © 2009, Team Leads Plugin © 2009 and Knifer Plugin © 2009 by SvaRoX
for our stats we use Chart.js Copyright (c) 2013-2015 Nick Downie.
the stats also use some jQuery jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc.



voice server
top 20 players


nameskillkills
-Dws.BLINGBLING*-*1730.63418631
NormaSnockers1865.75400492
Zottel1760.8276378
make.them.suffer1846.17269872
>8v=1825.35230156
moon1777.56195615
sjas1692.49192315
peace1878.86190660
Wagner_Moura1562.9188001
Goomba1859.75182677
z0rn1608.41181016
Mad1803.76179124
[dswp]PLZ1847.85178516
Graf_ZahlIII1835.73167407
Zohan1611.07159737
ubercunt1634.93159240
Yarrr!1917.33156233
I_am_nOOb1909.64151268
Pandageddon1891.75148319
Pirat1664.08145798