The InspIRCd Project
Home | Developers | Wiki | Forums | Bug Tracker | SVN | Download | Blog | Stats
Personal tools

Stress Testing.es

From the makers of InspIRCd.

Jump to: navigation, search

Contents

Introducción

Esta página les muestra algunas pruebas "estresantes" para verificar la estabilidad de InspIRCd.

ADVERTENCIA: Hacer estas pruebas puede ser entretenido, pero también pueden botar una maquina o una red entera (Hace unos días atras, boté mis máquinas Windows y FreeBSD, haciendo entrar 3500 bots al IRCd (No fue muy bonito, una máquina alcanzó su limite de FD y la otra se cayó por falta de ram). Por favor, ten precaución al hacer este tipo de experimento.

Prueba Uno

Esta prueba fue hecha en el ircd deltechlabs.com por Vicent, corriendo InspIRCd 1.0 Beta 5:

InspIRCd-1.0(Beta5)+CVS Rev. 1.421 motoko.deltechlabs.com :FreeBSD motoko 5.4-RELEASE (O=0) [SE=kqueue]

Vista del Canal (2005 usuarios en el canal)

Image:Stress2.png

Estadísticas misceláneas

Image:Stress1.png

Prueba Dos

Este test fue hecho por GeniusDex en un AMD K6-2 @ 450mhz con 153MB de RAM libre, Corriendo Linux (Debian Testing). El tiempo de ejecucion fue comparada con 4 diferentes tipos de IRCDs. Cada IRCd tuvo una conexion de 500 desde el mismo script que fue creado para crear la conexion, introducir los usuarios y hacer que todos los usuarios se salgan. El tiempo de ejecucion fue tomado con ps(1). Para propósitos de la prueba, el IRCd estaba usando el motor predeterminado. Los resultados fueron los siguientes:

  • Bahamut (1.8.4): 0:11s
  • InspIRCd (1.0 Beta 4 [1.400]): 0:18s
  • Ultimate3 (3.0.1): 0:19s
  • Unreal (3.2.3): 0:32s

Desde este test, pudimos comprobar que InspIRCd es aproximadamente un 44% mas rápido que UnrealIRCd, y un 6% más que Ultimate 3. Pero aproximadamente un 39% mas bajo que bahamut, en el mismo hardware y Sistema Operativo.

Prueba Tres

Esta prueba fue echa por Brain, usando InspIRCd 1.0 RC3+SVN en una red constituida por un Pentium III @ 750mhz con 320MB de RAM, corriendo FreeBSD 5.4 y un AMD Athlon XP 2400+ con 1.5GB de RAM, corriendo Gentoo Linux. Esta prueba fue echa para verificar la estabilidad y consumo de la ram. El primer servidor obtuvo un total de 1050 usuarios conectados y el otro servidor se entraron mas de 10.000 usuarios.

La máquina con FreeBSD estaba usando el motor kqueue, mientras que la máquina con Gentoo estaba usando el motor epoll. Las dos estaban usando un "single DNS lookup"

Todas las conexiones fueron completas despues de 2 minutos, y despues de las conexiones, el lag en los dos servidores fue de 0.1 segundos (Segun el medidor de lag de XChat), y las estadísticas fueron las siguientes:

[17:15] --- InspIRCd-1.0(RC3)+SVN Rev. 2780 test.chatspike.net :FreeBSD neuron.brainbox.winbot.co.uk 5.4-RELEASE [FLAGS=0,kqueue,singlethread]
[17:15] --- WALLCHOPS MODES=13 CHANTYPES=# PREFIX=(ohv)@%+ MAP SAFELIST MAXCHANNELS=20 MAXBANS=60 NICKLEN=32 CASEMAPPING=rfc1459 STATUSMSG=@+ CHARSET=ascii TOPICLEN=307 :are supported by this server
[17:15] --- KICKLEN=255 MAXTARGETS=20 AWAYLEN=200 CHANMODES=qagohvb,Lk,l,psmntiOrRMcKCQTNVGS NETWORK=InspIRCd-Testnet PARK KNOCK WATCH=999 :are supported by this server
[17:15] --- Server up 0 days, 20:19:48
[17:15] --- u :End of /STATS report
[17:40] --- test.chatspike.net                        1052 [ 9.52%]
[17:40] --- |-test2.chatspike.net                        1 [ 0.01%]
[17:40] --- `-services-dev.chatspike.net             10000 [90.47%]
[17:40] --- End of /MAP
[17:46] --- Users(HASH_MAP) 11053 (16314228 bytes, 12289 buckets)
[17:46] --- Channels(HASH_MAP) 52 (38896 bytes, 193 buckets)
[17:46] --- Commands(VECTOR) 71 (1988 bytes)
[17:46] --- MOTD(VECTOR) 29, RULES(VECTOR) 3
[17:46] --- Modules(VECTOR) 255 (2040)
[17:46] --- ClassFactories(VECTOR) 255 (5100)
[17:46] --- Total allocation: 39016K (0x9868)
[17:46] --- Signals:          0  (0x0)
[17:46] --- Page faults:      5  (0x5)
[17:46] --- Swaps:            0  (0x0)
[17:46] --- Context Switches: 6939103  (0x69e1df)
[17:46] --- z :End of /STATS report
[17:46] --- test2.chatspike.net test.chatspike.net :1 Second server
[17:46] --- services-dev.chatspike.net test.chatspike.net :1 Mass user simulator
[17:46] --- test.chatspike.net test.chatspike.net :0 ChatSpike InspIRCd test server
[17:46] --- * :End of /LINKS list.
[17:48] --- Server up 0 days, 20:52:18
[17:48] --- u :End of /STATS report

Vista del Canal (1000 usuarios en el Canal)

Screenshot de una de los 52 canales:

Image:Stress.png

Prueba Cuatro

Que pasa cuando InspIRCd es spameado y floodeado por kiddiots?

Algo parecido a esto:

[20:06] --> WickedKlown (~WS@CEO.hellswinter.net) has joined #a
[20:06] --- HellsWintera]` is now known as HellsWinter][a
[20:06] --- HellsWinter_]Z is now known as HellsWinter\__
[20:06] --- HellsWinter`a` is now known as HellsWintera`Z
[20:06] --- HellsWintera^] is now known as HellsWinter^Z\
[20:06] --- HellsWinter]`\ is now known as HellsWinter`^`
[20:06] --- HellsWinter``a is now known as HellsWintera^^
[20:06] --- HellsWinter^\[ is now known as HellsWinter`[a
[20:06] --- HellsWinter]Z` is now known as HellsWinter_^\
[20:06] --- HellsWinter^[\ is now known as HellsWinter_\[
[20:06] --- HellsWinter_\` is now known as HellsWinter\[[
[20:06] --- HellsWinteraa` is now known as HellsWinter\_`
[20:06] <-- HellsWinter[]_ has quit (Excess flood)
[20:06] <-- i[a[_] has quit (Excess flood)
[20:06] --- HellsWinter^Z[ is now known as HellsWinter_`]
[20:06] --- HellsWinter^[` is now known as HellsWinter][Z
[20:07] <-- HellsWinter]a[ has quit (Excess flood)
[20:07] <-- s[]`^] has quit (Excess flood)
[20:07] <-- c[ZZ`] has quit (Excess flood)
[20:07] <-- v[^_`] has quit (Excess flood)
[20:07] --- HellsWinter][a is now known as HellsWinter\^a
[20:07] --- HellsWinter^Z\ is now known as HellsWinter[`[
[20:07] --- HellsWinter`[a is now known as HellsWinter][`
[20:07] --- HellsWinter`^` is now known as HellsWinter^Z^
[20:07] --- HellsWinter_^\ is now known as HellsWinterZa`
[20:07] --- HellsWinter`a\ is now known as HellsWintera^Z
[20:07] --- HellsWinter\[[ is now known as HellsWinter^]Z
[20:07] --- HellsWinter_\[ is now known as HellsWinter[]`
[20:07] --- HellsWinter\_` is now known as HellsWinter[_^
[20:07] --- HellsWinter_`] is now known as HellsWinterZ\a
[20:07] <-- HellsWintera`Z has quit (Excess flood)
[20:07] --- HellsWinter][Z is now known as HellsWinterZ\]
[20:07] *** Auto response sent to HellsWinter[`[
[20:07] --- Received a CTCP ping from HellsWinter[`[
[20:07] *** Auto response sent to HellsWinter\^a
[20:07] --- Received a CTCP ping from HellsWinter\^a
[20:07] *** Auto response sent to HellsWinterZ\Z
[20:07] --- Received a CTCP ping from HellsWinterZ\Z
[20:07] *** Auto response sent to a[ZZ\]
[20:07] You are being CTCP flooded from a[ZZ\], ignoring *!*@765CF3D441895531.HellsWinter.cloak
[20:07] *** Auto response sent to HellsWinter][`
[20:07] --- Received a CTCP ping from HellsWinter][`
[20:07] *** Auto response sent to v[^^`]
[20:07] --- Received a CTCP ping from v[^^`]
[20:07] *** Auto response sent to HellsWinter^Z^
[20:07] --- Received a CTCP ping from HellsWinter^Z^
[20:07] *** Auto response sent to b[`\Z]
[20:07] --- Received a CTCP ping from b[`\Z]
[20:07] *** Auto response sent to HellsWinter[_^
[20:07] You are being CTCP flooded from HellsWinter[_^, ignoring *!*@E3403E122C043F7D.HellsWinter.cloak
[20:07] *** Auto response sent to HellsWinterZa`
[20:07] --- Received a CTCP ping from HellsWinterZa`
[20:07] *** Auto response sent to z\aZ
[20:07] --- Received a CTCP ping from z\aZ
[20:07] *** Auto response sent to s[a_\]
[20:07] --- Received a CTCP ping from s[a_\]
[20:07] *** Auto response sent to s[[_`]
[20:07] --- Received a CTCP ping from s[[_`]
[20:07] *** Auto response sent to HellsWinter^]Z
[20:07] You are being CTCP flooded from HellsWinter^]Z, ignoring *!*@76E80366908A4618.HellsWinter.cloak
[20:07] *** Auto response sent to j[Z]_]
[20:07] --- Received a CTCP ping from j[Z]_]
[20:07] *** Auto response sent to HellsWinter[]`
[20:07] --- Received a CTCP ping from HellsWinter[]`
[20:07] *** Auto response sent to x[[`^]
[20:07] --- Received a CTCP ping from x[[`^]
[20:07] *** Auto response sent to d[][^]
[20:07] --- Received a CTCP ping from d[][^]
[20:07] *** Auto response sent to c[`aa]
[20:07] You are being CTCP flooded from c[`aa], ignoring *!*@9607F60EE8C911B4.HellsWinter.cloak
[20:07] *** Auto response sent to HellsWinterZ\a
[20:07] --- Received a CTCP ping from HellsWinterZ\a
[20:07] --- Received a CTCP ping from HellsWinter[`[
[20:07] *** Auto response sent to o[\Z^]
[20:07] --- Received a CTCP ping from o[\Z^]
[20:07] You are being CTCP flooded from HellsWinter][`, ignoring *!*@0D08A6C1EF6BE7EB.HellsWinter.cloak
[20:07] *** Auto response sent to HellsWintera^Z
[20:07] --- Received a CTCP ping from HellsWintera^Z
[20:07] --- Received a CTCP ping from b[`\Z]
[20:07] --- Received a CTCP ping from v[^^`]
[20:07] --- Received a CTCP ping from HellsWinter^Z^
[20:07] You are being CTCP flooded from HellsWinter^]Z, ignoring *!*@76E80366908A4618.HellsWinter.cloak
[20:07] --- Received a CTCP ping from j[Z]_]
[20:07] --- Received a CTCP ping from HellsWinterZa`
[20:07] --- Received a CTCP ping from HellsWinter\^a
[20:07] --- Received a CTCP ping from s[a_\]
[20:07] You are being CTCP flooded from x[[`^], ignoring *!*@D255DC5149B9A04F.HellsWinter.cloak
[20:07] --- Received a CTCP ping from HellsWinterZ\Z
[20:07] --- Received a CTCP ping from o[\Z^]
[20:07] --- Received a CTCP ping from s[[_`]
[20:07] You are being CTCP flooded from z\aZ, ignoring *!*@89743EECE680B29D.HellsWinter.cloak
[20:07] --- Received a CTCP ping from d[][^]
[20:07] --- Received a CTCP ping from HellsWintera^Z
[20:07] --- Received a CTCP ping from HellsWinter[]`
[20:07] You are being CTCP flooded from HellsWinterZ\a, ignoring *!*@2D37520F7602B1D8.HellsWinter.cloak
[20:07] --- HellsWinter\__ is now known as HellsWinter^a[
[20:07] <-- HellsWinter^a[ has quit (Excess flood)
[20:07] *** Auto response sent to HellsWinterZ\]
[20:07] --- Received a CTCP ping from HellsWinterZ\]
[20:07] *** Auto response sent to HellsWintera^^
[20:07] --- Received a CTCP ping from HellsWintera^^
[20:07] <-- f[[^_] has quit (Excess flood)
[20:07] --- HellsWinteraZ` is now known as HellsWinter\\_
[20:07] <-- HellsWinter\\_ has quit (Excess flood)
[20:07] <-- d[][^] has quit (Client exited)
[20:07] --- HellsWinter\^a is now known as HellsWinter[\Z
[20:07] --- HellsWinter[`[ is now known as HellsWinter^^[
[20:07] --- HellsWinter][` is now known as HellsWinter^a\
[20:07] --- HellsWinterZ\a is now known as HellsWinter]Z[
[20:07] --- HellsWinter[_^ is now known as HellsWintera\`
[20:07] --- HellsWintera^^ is now known as HellsWinter```
[20:07] --- HellsWinterZa` is now known as HellsWinter^Z]
[20:07] --- HellsWintera^Z is now known as HellsWintera[]
[20:07] --- HellsWinter[]` is now known as HellsWinter\Z[
[20:07] --- HellsWinter^]Z is now known as HellsWinter\\Z
[20:07] --- HellsWinterZ\] is now known as HellsWinter\Z]
[20:07] <-- HellsWintera[] has quit (Client exited)
[20:07] --> HellsWinter]]] (~d]_z@02F93A4873840759.HellsWinter.cloak) has joined #a
[20:07] --> k[]]\] (~w[_^`]@9B07F4E53C2699ED.HellsWinter.cloak) has joined #a
[20:07] --> iZ`` (~h^a`@F1544AB179FCF341.HellsWinter.cloak) has joined #a
[20:08] <-- HellsWinter[\Z (~m[z[^]@02F93A4873840759.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter]]] (~d]_z@02F93A4873840759.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter^^[ (~t[aa]]@B9622483ADA90B34.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- s[[_`] (~g[a[[]@HellsWinter-916D26AFC6400F95.hsd1.or.comcast.net) has left #a (FLooD)
[20:08] <-- a[ZZ\] (~w[z_[]@765CF3D441895531.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- z\aZ (~jaz\@89743EECE680B29D.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- c[`aa] (~q[\][]@9607F60EE8C911B4.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter^a\ (~c[[^`]@0D08A6C1EF6BE7EB.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- o[\Z^] (~e[`aa]@F2DDD17165709CCB.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- v[^^`] (~c[[\z]@A1C50E8F51B4F220.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- b[`\Z] (~i[`]\]@F1544AB179FCF341.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter]Z[ (~k[\a]]@2D37520F7602B1D8.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter^Z^ (~k[\\^]@46C3DDD540559F36.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- k[]]\] (~w[_^`]@9B07F4E53C2699ED.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- iZ`` (~h^a`@F1544AB179FCF341.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- j[Z]_] (~t[_z\]@D79A4429FB0452DF.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter\\Z (~z[_[[]@76E80366908A4618.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter^Z] (~e[]z\]@BDE30727CA134634.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- x[[`^] (~n[[[a]@D255DC5149B9A04F.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- s[a_\] (~x[^\[]@EBD1D717C5A65392.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter``` (~u[^_[]@5EDC8C390F91F673.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter\Z[ (~f[``[]@F11BC723FAB401EA.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWintera\` (~a[[\[]@E3403E122C043F7D.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter\Z] (~q[_^`]@2416A1928D91E1C7.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- tarta_man (~meuemailehm@810680E0400211D8.HellsWinter.cloak) has left #a ([CyberScript])
[20:08] <-- a[a\a] has quit (Excess flood)
[20:08] --- whowas: tarta_man: There was no such nickname
[20:08] --> HellsWinter^^[ (~t[aa]]@B9622483ADA90B34.HellsWinter.cloak) has joined #a
[20:08] --> s[[_`] (~g[a[[]@HellsWinter-916D26AFC6400F95.hsd1.or.comcast.net) has joined #a
[20:08] --> z\aZ (~jaz\@89743EECE680B29D.HellsWinter.cloak) has joined #a
[20:08] --> HellsWinter]Z[ (~k[\a]]@2D37520F7602B1D8.HellsWinter.cloak) has joined #a
[20:08] --> a[ZZ\] (~w[z_[]@765CF3D441895531.HellsWinter.cloak) has joined #a
[20:08] --> HellsWinter^a\ (~c[[^`]@0D08A6C1EF6BE7EB.HellsWinter.cloak) has joined #a
[20:08] --> HellsWinter[\Z (~m[z[^]@02F93A4873840759.HellsWinter.cloak) has joined #a
[20:08] --> HellsWinter]]] (~d]_z@02F93A4873840759.HellsWinter.cloak) has joined #a
[20:08] --> v[^^`] (~c[[\z]@A1C50E8F51B4F220.HellsWinter.cloak) has joined #a
[20:08] --> HellsWinter^Z^ (~k[\\^]@46C3DDD540559F36.HellsWinter.cloak) has joined #a
[20:08] --> HellsWinter\\Z (~z[_[[]@76E80366908A4618.HellsWinter.cloak) has joined #a
[20:08] --> k[]]\] (~w[_^`]@9B07F4E53C2699ED.HellsWinter.cloak) has joined #a
[20:08] --> HellsWintera\` (~a[[\[]@E3403E122C043F7D.HellsWinter.cloak) has joined #a
[20:08] --> j[Z]_] (~t[_z\]@D79A4429FB0452DF.HellsWinter.cloak) has joined #a
[20:08] --> iZ`` (~h^a`@F1544AB179FCF341.HellsWinter.cloak) has joined #a
[20:08] --> HellsWinter^Z] (~e[]z\]@BDE30727CA134634.HellsWinter.cloak) has joined #a
[20:08] --> x[[`^] (~n[[[a]@D255DC5149B9A04F.HellsWinter.cloak) has joined #a
[20:08] --> s[a_\] (~x[^\[]@EBD1D717C5A65392.HellsWinter.cloak) has joined #a
[20:08] --> b[`\Z] (~i[`]\]@F1544AB179FCF341.HellsWinter.cloak) has joined #a
[20:08] --> HellsWinter\Z[ (~f[``[]@F11BC723FAB401EA.HellsWinter.cloak) has joined #a
[20:08] --> o[\Z^] (~e[`aa]@F2DDD17165709CCB.HellsWinter.cloak) has joined #a
[20:08] --> c[`aa] (~q[\][]@9607F60EE8C911B4.HellsWinter.cloak) has joined #a
[20:08] --> HellsWinter``` (~u[^_[]@5EDC8C390F91F673.HellsWinter.cloak) has joined #a
[20:08] <-- HellsWinter[\Z (~m[z[^]@02F93A4873840759.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter]]] (~d]_z@02F93A4873840759.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter^^[ (~t[aa]]@B9622483ADA90B34.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- a[ZZ\] (~w[z_[]@765CF3D441895531.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter^a\ (~c[[^`]@0D08A6C1EF6BE7EB.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- s[[_`] (~g[a[[]@HellsWinter-916D26AFC6400F95.hsd1.or.comcast.net) has left #a (FLooD)
[20:08] <-- z\aZ (~jaz\@89743EECE680B29D.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- b[`\Z] (~i[`]\]@F1544AB179FCF341.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- v[^^`] (~c[[\z]@A1C50E8F51B4F220.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter]Z[ (~k[\a]]@2D37520F7602B1D8.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter^Z^ (~k[\\^]@46C3DDD540559F36.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- k[]]\] (~w[_^`]@9B07F4E53C2699ED.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- iZ`` (~h^a`@F1544AB179FCF341.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter\\Z (~z[_[[]@76E80366908A4618.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- j[Z]_] (~t[_z\]@D79A4429FB0452DF.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter^Z] (~e[]z\]@BDE30727CA134634.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter\Z[ (~f[``[]@F11BC723FAB401EA.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- o[\Z^] (~e[`aa]@F2DDD17165709CCB.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- s[a_\] (~x[^\[]@EBD1D717C5A65392.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWintera\` (~a[[\[]@E3403E122C043F7D.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- x[[`^] (~n[[[a]@D255DC5149B9A04F.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- HellsWinter``` (~u[^_[]@5EDC8C390F91F673.HellsWinter.cloak) has left #a (FLooD)
[20:08] <-- c[`aa] (~q[\][]@9607F60EE8C911B4.HellsWinter.cloak) has left #a (FLooD)
[20:08] --> kZ\\ (~i`]^@HellsWinter-96D89E5A40B4AFB5.ruh.isu.net.sa) has joined #a
[20:08] <-- kZ\\ (~i`]^@HellsWinter-96D89E5A40B4AFB5.ruh.isu.net.sa) has left #a (FLooD)
[20:09] <-- v[]]_] has quit (Ping timeout)
[20:10] *** Auto response sent to HellsWinter[\Z
[20:10] --- Received a CTCP version from HellsWinter[\Z
[20:10] *** Auto response sent to HellsWinter\`a
[20:10] --- Received a CTCP version from HellsWinter\`a
[20:10] *** Auto response sent to HellsWinter^_Z
[20:10] *** Auto response sent to n[`\
[20:10] --- Received a CTCP version from n[`\
[20:10] *** Auto response sent to HellsWinter_\_
[20:10] --- Received a CTCP version from v[^^`]
[20:10] *** Auto response sent to HellsWinter_]_
[20:10] --- Received a CTCP version from HellsWinter_]_
[20:10] *** Auto response sent to HellsWinter_[[
[20:10] --- Received a CTCP version from HellsWinter_[[
[20:10] *** Auto response sent to k[]]\]
[20:10] --- Received a CTCP version from k[]]\]
[20:10] --- Received a CTCP version from b[`\Z]
[20:10] *** Auto response sent to HellsWinter^a[
[20:10] *** Auto response sent to v`a^
[20:10] *** Auto response sent to HellsWinter[][
[20:10] --- Received a CTCP version from HellsWinter[][
[20:10] --- Received a CTCP version from j[Z]_]
[20:10] *** Auto response sent to HellsWinterZa_
[20:10] --- Received a CTCP version from HellsWinterZa_
[20:10] *** Auto response sent to HellsWinterZa^
[20:10] --- Received a CTCP version from HellsWinterZa^
[20:10] *** Auto response sent to HellsWinteraZ^
[20:10] *** Auto response sent to v[\[
[20:10] --- Received a CTCP version from v[\[
[20:10] *** Auto response sent to HellsWinter[[Z
[20:10] --- Received a CTCP ping from HellsWinter[\Z
[20:10] --- Received a CTCP ping from HellsWinter\`a
[20:10] --- Received a CTCP ping from n[`\
[20:10] *** Auto response sent to sa]\
[20:10] --- Received a CTCP version from sa]\
[20:10] --- Received a CTCP ping from HellsWinter_]_
[20:10] --- Received a CTCP ping from v[^^`]
[20:10] --- Received a CTCP ping from b[`\Z]
[20:10] --- Received a CTCP ping from HellsWinter_[[
[20:10] *** Auto response sent to r^_[
[20:10] --- Received a CTCP version from r^_[
[20:10] --- Received a CTCP version from o[\Z^]
[20:10] --- Received a CTCP ping from k[]]\]
[20:10] --- Received a CTCP ping from HellsWinter[][
[20:10] --- Received a CTCP ping from j[Z]_]
[20:10] --- Received a CTCP ping from HellsWinterZa^
[20:10] --- Received a CTCP ping from HellsWinterZa_
[20:10] --- Received a CTCP ping from v[\[
[20:10] --- Received a CTCP ping from o[\Z^]
[20:10] --- Received a CTCP ping from r^_[
[20:10] --- Received a CTCP ping from sa]\
[20:10] *** Auto response sent to HellsWinter\]Z
[20:10] --- Received a CTCP ping from HellsWinter\]Z
[20:10] *** Auto response sent to HellsWinterZ_]
[20:10] --- Received a CTCP ping from HellsWinterZ_]
[20:10] --- Received a CTCP ping from n[`\
[20:10] *** Auto response sent to HellsWinter[Z\
[20:10] *** Auto response sent to HellsWinter_^Z
[20:10] *** Auto response sent to HellsWinterZ``
[20:10] --- Received a CTCP ping from HellsWinterZ``
[20:10] --- Received a CTCP ping from v[^^`]
[20:10] --- Received a CTCP ping from b[`\Z]
[20:10] *** Auto response sent to HellsWinter[]\
[20:10] --- Received a CTCP ping from HellsWinter[]\
[20:10] *** Auto response sent to z_]^
[20:10] --- Received a CTCP version from z_]^
[20:10] --- Received a CTCP ping from k[]]\]
[20:10] *** Auto response sent to HellsWinter[^[
[20:10] *** Auto response sent to HellsWinter]_]
[20:10] --- Received a CTCP ping from HellsWinter]_]
[20:10] --- Received a CTCP ping from j[Z]_]
[20:10] *** Auto response sent to HellsWintera\^
[20:10] --- Received a CTCP ping from HellsWintera\^
[20:10] *** Auto response sent to HellsWinterZZ]
[20:10] *** Auto response sent to HellsWinter^]a
[20:10] --- Received a CTCP ping from HellsWinter^]a
[20:10] --- Received a CTCP version from HellsWinter\]Z
[20:10] --- Received a CTCP version from HellsWinterZ_]
[20:10] --- Received a CTCP ping from v[\[
[20:10] --- Received a CTCP version from n[`\
[20:10] *** Auto response sent to n]^_
[20:10] --- Received a CTCP version from n]^_
[20:10] --- Received a CTCP ping from n]^_
[20:10] *** Auto response sent to HellsWinter[Z`
[20:10] --- Received a CTCP ping from HellsWinter[Z`
[20:10] --- Received a CTCP version from HellsWinterZ``
[20:10] --- Received a CTCP version from HellsWinter[Z`
[20:10] *** Auto response sent to HellsWinter^a]
[20:10] --- Received a CTCP version from v[^^`]
[20:10] --- Received a CTCP version from HellsWinter[]\
[20:10] --- Received a CTCP version from k[]]\]
[20:10] --- Received a CTCP version from HellsWinter]_]
[20:10] --- Received a CTCP version from j[Z]_]
[20:10] --- Received a CTCP version from HellsWinter^]a
[20:10] --- Received a CTCP version from HellsWintera\^
[20:10] --- Received a CTCP version from b[`\Z]
[20:10] *** Auto response sent to HellsWinterZ[[
[20:10] --- Received a CTCP ping from HellsWinterZ[[
[20:10] --- Received a CTCP version from v[\[
[20:10] --- Received a CTCP ping from o[\Z^]
[20:10] *** Auto response sent to HellsWinter_[`
[20:10] --- Received a CTCP ping from HellsWinter_[`
[20:10] --- Received a CTCP version from HellsWinter_[`
[20:10] *** Auto response sent to HellsWinter\[a
[20:10] --- Received a CTCP version from HellsWinter\[a
[20:10] *** Auto response sent to HellsWinter\][
[20:10] --- Received a CTCP version from HellsWinter\][
[20:10] *** Auto response sent to HellsWinter_Z`
[20:10] *** Auto response sent to HellsWinter[`_
[20:10] --- Received a CTCP version from n[`\
[20:10] *** Auto response sent to HellsWinter_\\
[20:10] --- Received a CTCP version from HellsWinter_\\
[20:10] --- Received a CTCP version from b[`\Z]
[20:10] --- Received a CTCP version from v[^^`]

...Estoy seguro de que captas la idea, esto no se quiebra! Image:Tongue.gif