search -  faq -  rulez -  staff

forums






map cycle
irc              pwnalizer
voice         dswp bar




Register

Login


It is currently 05.01.25

 

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: 452.354
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: 4649
Location: Behind U
-----tdm:  
nick: [dswp]GewitterOma
skill: 1026.39
kills: 26022
deaths: 19948
ratio: 1.30
-----bomb:  
nick: [dswp]GewitterOma
skill: 810.059
kills: 3930
deaths: 3611
ratio: 1.08
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: 452.354
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 7052 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: 4649
Location: Behind U
-----tdm:  
nick: [dswp]GewitterOma
skill: 1026.39
kills: 26022
deaths: 19948
ratio: 1.30
-----bomb:  
nick: [dswp]GewitterOma
skill: 810.059
kills: 3930
deaths: 3611
ratio: 1.08
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 7055 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: 452.354
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: 4649
Location: Behind U
-----tdm:  
nick: [dswp]GewitterOma
skill: 1026.39
kills: 26022
deaths: 19948
ratio: 1.30
-----bomb:  
nick: [dswp]GewitterOma
skill: 810.059
kills: 3930
deaths: 3611
ratio: 1.08
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: 452.354
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: 4649
Location: Behind U
-----tdm:  
nick: [dswp]GewitterOma
skill: 1026.39
kills: 26022
deaths: 19948
ratio: 1.30
-----bomb:  
nick: [dswp]GewitterOma
skill: 810.059
kills: 3930
deaths: 3611
ratio: 1.08
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 22 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
bomb » dswp.de:22223
status: online
players: 0/24
map: ut4_casa
 
jump » dswp.de:22224
status: online
players: 0/20
map: q_derpjumps_final
 
freeze » dswp.de:22225
status: online
players: 0/32
map: ut4_casa
 
tdm » dswp.de:22226
status: online
players: 0/32
map: ut4_paris
 
tdm » dswp.de:22227
status: online
players: 0/32
map: ut4_tohunga_b10
 
btw test the new ajax serwer monitor here!
top 20 players


nameskillkills
-Dws.BLINGBLING*-*1071.72418631
NormaSnockers1155.39400492
Zottel1090.4276378
make.them.suffer1143.27269872
>8v=1130.37230156
moon1100.78195615
sjas1048.1192315
peace1163.51190660
Wagner_Moura967.849188001
Goomba1151.68182677
z0rn996.032181016
Mad1117.01179124
[dswp]PLZ1144.31178516
Graf_ZahlIII1136.8167407
Zohan997.679159737
ubercunt1012.45159240
Yarrr!1187.33156233
I_am_nOOb1182.57151268
Pandageddon1171.49148319
Pirat1030.51145798