-
Notifications
You must be signed in to change notification settings - Fork 1
/
colossusdoc.html
1112 lines (1109 loc) · 59.4 KB
/
colossusdoc.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Colossus</title>
<style type="text/css">
pre { font: "times new roman"; font-style: normal; background-color: #eeeeee;}
</style>
</head>
<!-- $Id: colossusdoc.html,v 1.42 2008/05/31 12:47:02 Trocotronic Exp $ -->
<body>
<div align="center"><b><font size="+7">Colossus</font></b><br>
<a href="http://www.redyc.com" target="_blank"><font size="3">http://www.redyc.com/</font></a><font size="3"><br>
<b>Versión actual:</b> 1.14<br>
<b>Última modificación:</b> 07/11/2008</font><br>
</div>
<p><b><font size="3">Desarrollador:</font></b><font size="3"> Trocotronic<br>
Tiene una recopilación de las cuestiones más preguntadas en <a href="#faq">FAQ</a>.<br>
<br>
<b><font size="6">ÍNDICE</font></b><br>
<font size="+1">1. <a href="#intro">Introducción</a></font><br>
<font size="+1">2. <a href="#instalacion">Instalación</a></font><br>
<font size="+1">3. <a href="#caracteristicas">Características</a></font><br>
<font size="+1">4. <a href="#ext">Extensiones</a></font><br>
<font size="+1">5. <a href="#sql">SQL y bases de datos</a></font><br>
<font size="+1">6. <a href="#remoto">Conexión remota</a> </font><br>
<font size="+1">7. <a href="#zlib">SSL y ZLib</a></font><br>
<font size="+1">8. <a href="#httpd">Servidor HTTPD</a></font><br>
<font size="+1">9. <a href="#msn">MSN Messenger</a></font><br>
<font size="+1">10. <a href="#iploc">IP Locator</a></font><br>
<font size="+1">11. <a href="#configuracion">Configuración</a></font><br>
<font size="+1"> 11.1 <a href="#server">Bloque server { }</a></font><br>
<font size="+1"> 11.2 <a href="#smtp">Bloque smtp { }</a></font><br>
<font size="+1"> 11.3 <a href="#db">Bloque db { }</a></font><br>
<font size="+1"> 11.4 <a href="#set">Bloque set { }</a></font><br>
<font size="+1"> 11.5 <a href="#modulos">Bloque modulo { }</a></font><br>
<font size="+1"> 11.6 <a href="#log">Bloque log { }</a></font><br>
<font size="+1"> 11.7 <a href="#ssl">Bloque ssl { }</a></font><br>
<font size="+1"> 11.8 <a href="#protocolo">Bloque protocolo { }</a></font><br>
<font size="+1"> 11.9 <a href="#bloque_httpd">Bloque httpd { }</a></font><br>
<font size="+1"> 11.10 <a href="#bloque_msn">Bloque msn { }</a></font><br>
<font size="+1">12. <a href="#bots">Configuración de módulos</a></font><br>
<font size="+1"> 12.0.1 <a href="#funciones">Bloque funciones { }</a></font><br>
<font size="+1"> 12.0.2 <a href="#funcion">Bloque funcion { }</a></font><br>
<font size="+1"> 12.0.3 <a href="#alias">Bloque alias { }</a></font><br>
<font size="+1"> 12.1 <a href="#nickserv">NickServ</a></font><br>
<font size="+1"> 12.2 <a href="#chanserv">ChanServ</a></font><br>
<font size="+1"> 12.3 <a href="#operserv">OperServ</a></font><br>
<font size="+1"> 12.4 <a href="#memoserv">MemoServ</a></font><br>
<font size="+1"> 12.5 <a href="#ipserv">IpServ</a></font><br>
<font size="+1">13. <a href="#protos">Configuración de protocolos</a></font><br>
<font size="+1"> 13.1 <a href="#unreal">UnrealIRCD</a></font><br>
<font size="+1"> 13.2 <a href="#p10">P10</a></font><br>
<font size="+1">14. <a href="#exts">Configuración de extensiones</a></font><br>
<font size="+1"> 14.1 <a href="#udb">UDB</a></font><br>
<font size="+1">15. <a href="#faq">FAQ (Cuestiones Más Preguntadas)</a></font><br>
<font size="+1">16. <a href="#patrones">Parámetros de patrón</a></font></p>
<p><br>
<b><font size="6"><a name="intro"></a>1. Introducción </font></b><br>
Colossus es una aplicación que permite gestionar y controlar infrastructuras de comunidades IRC.<br>
Este documento puede imprimirse tantas veces como se desee pero su distribución está vinculada única y
exclusivamente a Colossus, debiendo adjuntar el programa con el mismo.</p>
<p> <b>Lea detenidamente</b> este archivo para configurar y comprender el uso de este programa. Está unido a muchas
características que requieren una especial atención. </p>
<p> </p>
<p><b><font size="6"><a name="instalacion"></a>2. Instalación</font></b></p>
<p>Sistemas operativos soportados:</p>
<ul>
<li><b>Versiones *NIX:</b>
<ul>
<li>Linux (2.2.*, 2.4.*, 2.6.*)
<li>FreeBSD (4.*, 5.*)
<li>Solaris (9, 10)
</ul>
<li><b>Versiones Windows:</b>
<ul>
<li>Windows 2000 (Pro, Server, Advanced Server)
<li>Windows XP (Home, Pro)
<li>Windows 2003
</ul></ul><br>
Para instalar el programa sólo tiene que descomprimir el archivo .zip a una carpeta, preferiblemente ~/Colossus en *nix,
o C:\Colossus si usa Windows.
<p>Una vez descomprimido, crea el archivo colossus.conf y configúrelo a sus necesidades.</p>
<p> </p>
<p><b><font size="6"><a name="caracteristicas"></a>3. Características</font></b></p>
<p>Estos servicios para IRC están programados en C. </p>
<p>Se compone de un núcleo o kernel que lo integran la gestión de conexiones o sockets, la de procesos o señales, la de eventos o signals,
la de retardos o timers, la de paginación o cache y la de gestión de módulos o DLL's/SO's. Junto al núcleo se une la base
para la gestión de IRC que contiene varias macros que permiten modularizar los comandos y los robots de gestión de funciones.
A su vez, estos robots poseen varias herramientas que optimizan su uso para que sean independientes entre sí y que puedan comunicarse mediante eventos.
La administración de la base de datos global funciona bajo MySQL y permite la memoria de registros de forma permanente. </p>
<p>Tiene un simulador de servidor SMTP que permite enviar emails sin la necesidad de un servidor intermediario que requiera configuración o registro.
Además, si un email no llega a enviarse se pone en la cola para volverlo a intentar hasta un máximo de tres veces. </p>
<p>Las características culminan con los robots que son los módulos visibles ante los usuarios que conforman la red. Los módulos son archivos .dll,
en Windows, o archivos .so, en plataformas *nix (Linux, Unix, FreeBSD, etc.). Cada uno tiene una función concreta y determinada dentro de la red y ofrece varios
servicios que permiten agilizar, añadir o incluso potenciar comandos (del propio IRCd o inexistentes). Estos robots son:</p>
<ul>
<li><b>NickServ:</b> gestiona los nicks y todo lo referente a ellos.</li>
<li><b>ChanServ:</b> administra los canales y todo lo que les englobe. </li>
<li><b>OperServ:</b> exclusivo para operadores de red.</li>
<li><b>MemoServ:</b> servicio de mensajería entre usuarios. </li>
<li><b>IpServ: </b>servicio de ips virtuales. </li>
</ul>
<p> </p>
<p><b><font size="6"><a name="ext"></a>4. Extensiones</font></b></p>
<p>A partir de la versión 1.3, se crea un sistema de extensiones para protocolos. Estas extensiones permiten modificar el protocolo actual. Por ejemplo, para añadir nuevos modos de canal o añadir algún comando adicional.</p>
<p>Así pues, hay protocolos estándar (UnrealIRCd o P10) y otras variantes (como UDB o Irc-Hispano), que se basan en protocolos más robustos.</p>
<p>Además, no sólo modifican el protocolo sino que complementan las funciones de los servicios cargados.<br />
Por ejemplo, es posible añadir comandos para gestionar tablas a través de algún servicio.</p>
<p>Estas extensiones se cargan a través del bloque <i>extension{ }</i> dentro del bloque <i>protocolo { }</i>. <br />
Actualmente se soportan las siguientes extensiones:<br />
<ul><li><b>udb.dll</b>: extensión que contiene todo lo necesario para usar el protocolo UDB con todas sus prestaciones.<br />
Añade varios comandos a ChanServ, OperServ, IpServ y NickServ. También modifica algunas funciones de estos servicios ya existentes.<br /></li>
</ul></p>
<p> </p>
<p><b><font size="6"><a name="sql"></a>5. SQL y bases de datos</font></b></p>
<p>Colossus utiliza un sistema de base de datos SQL para guardar información de forma permanente.</p>
<p>Dicho sistema está constituido por un motor MySQL que está integrado en el propio Colossus. Actúa de servidor y cliente a la vez, por lo que <b>no es necesario instalar ningún servidor MySQL</b>.<br />
Otra de las ventajas de este sistema integrado, es que facilita enormemente la instalación, por lo que el usuario no debe preocuparse de instalar ningún software externo. El sistema está preparado para funcionar
correctamente con Colossus.</p>
<p>No obstante, también se permite la utilización de servidores externos MySQL. Esto significa que Colossus puede intercambiar información con servidores MySQL alojados en la misma u otras máquinas.</p>
<p>Desde Colossus, se recomienda el uso de un servidor SQL externo por seguridad y porque también permite el acceso externo a los datos (como por ejemplo, vía PHP).</p>
<p> </p>
<p><b><font size="6"><a name="remoto"></a>6. Conexión remota</font></b></p>
<p>Desde la versión 1.0a, Colossus incorpora un sistema para conectarlos a la red de forma remota mediante el comando /connect. Cuando se arranca el programa se pone en escucha
el puerto al que se conecta para recibir conexiones remotas. Una vez se ha realizado la conexión, se cierra el puerto para no recibir más conexiones.
Si se cierra la conexión a la red, se vuelve a poner en escucha para recibir otra vez la conexión y así sucesivamente.<br>
Su sintaxis es sencilla: /connect servidor.colossus (en los servidores que lo soporten).</p>
<p><b>Nota</b>: cabe poner una especial atención en máquinas donde se esté ejecutando el ircd y los servicios a la misma vez. En estas situaciones sólo puede haber un mismo puerto en escucha.
Así, el ircd y los servicios no pueden utilizar el mismo puerto de escucha. Por esta razón, existe la directriz opcional en el bloque server, escucha, para especificar otro puerto de escucha que no esté
utilizando el ircd. Esta directriz es útil cuando los dos programas están bajo la misma máquina y conectan entre sí. </p>
<p> </p>
<p><b><font size="6"><a name="zlib"></a>7. SSL y ZLib</font></b></p>
<p>A partir de la versión 1.0, Colossus incluye las librerías de compresión ZLib y SSL. La primera establece una compresión de los datos que se envían en el servidor, con lo que supone un ahorro
considerable del ancho de banda. Ambos servidores (servicios e ircd) tienen que estar configurados con la misma compresión: 1 a 9. </p>
<p>También se incluye la característica SSL para trabajar con conexiones seguras y evitar el robo de información.</p>
<p>Ambas características son opcionales, siendo en conexiones "localhost" triviales.</p>
<p> </p>
<p><b><font size="6"><a name="httpd"></a>8. Servidor HTTPD</font></b></p>
<p>A partir de la versión 1.10, Colossus incluye un servidor httpd integrado. Esto significa que puede conectarse a los servicios vía HTTP, usando su navegador habitual, e interactuar con los servicios que se brinden. </p>
<p>Por ejemplo, puede ver estadísticas en tiempo real, ya que el servicio de StatServ acepta peticiones HTTP y devuelve un estado global y detallado sobre la red.<br>
También puede ver la información sobre los jugadores de <i>bidle</i>, el juego de idle.</p>
<p>Cada servicio ofrecerá distintas posibilidades, pero siempre a través de webs. Para ello, todas las webs deberán colocarse en el directorio <i>html/<nombre_servicio></i>.<br>
Por ejemplo, las páginas webs del servicio de estadísticas estarán en <i>html/StatServ</i> y las del juego bidle, en <i>html/bidle</i>.</p>
<p>Además también soporta <a href="http://www.php.net/" target="_blank">PHP</a>. Si también tiene instalado <a href="http://www.php.net/" target="_blank">PHP</a>, puede usarlo para que las páginas en ese lenguaje sean preprocesadas y
luego devueltas al usuario final. Es opcional pero se recomienda instalarlo.<br>
Sólo es necesario descargarlo, descomprimirlo y configurarlo. </p>
<p>Con este servidor HTTPD integrado se le abren un sinfín de posibilidades.</p>
<p> </p>
<p><b><font size="6"><a name="msn"></a>9. MSN Messenger</font></b></p>
<p>Con la versión 1.10, se introduce un servicio MSN. Con este complemento podrá controlar vía Messenger a su servidor Colossus. De igual forma, recibirá notificaciones del sevidor por el MSN.<br>
Lo primero es tener una compilación de Colossus con soporte SSL. Las de Windows soportan SSL, por lo que podrá usar el complemento MSN. Las de linux, no todas. Asegúrese antes de descargla que sí la soporta.<br>
El complemento MSN utiliza una cuenta MSN propia. Eso significa que para comunicarse con Colossus por el Messenger, deberá utilizar una cuenta para Colossus y otra para usted. Si sólo dispone de una cuenta,
diríjase a <a href="https://signup.live.com/newuser.aspx?mkt=es-es&revipc=ES&rollrs=04&lic=1" target="_blank">SignUP Live</a> y registre una cuenta. Una vez la tenga, deberá configurar Colossus con esa cuenta y su contraseña.<br>
Finalmente, deberá configurar también su cuenta principal, la que utilizará para comunicarte con Colossus. Una vez esté todo configurado, cada vez que arranque Colossus se conectará automáticamente al Messenger.<br>
Agregue a su MSN la cuenta que ha creado para Colossus y ya tendrá a Colossus en su MSN. Podrá gestionar a Colossus mediante comandos por el MSN y recibirá avisos de la red.</p>
<p> </p>
<p><b><font size="6"><a name="iploc"></a>10. IP Locator</font></b></p>
<p>A partir de la versión 1.12 se añade una completa API para localizar geográficamente los clientes que se conectan a la red.</p>
<p>Esta información incluye la ciudad, la región y el país, entre muchos otros datos, desde dónde se conectan. De esta forma los usuarios pueden conocer de dónde son sus amigos y otros nicks.<br />
Esta información está accesible a través del comando INFO de NickServ.<br />
Adicionalmente, esta información puede ocultarse a voluntad del usuario mediante el comando SET HIDE LOC ON de NickServ.</p>
<p> </p>
<p><b><font size="6"><a name="configuracion"></a>11. Configuración</font></b></p>
<p>El archivo de configuración se compone con la siguiente estructura:</p>
<pre>bloque valor {
directriz valor;
};</pre>
<p>Ambos valores son opcionales, según lo requiera el bloque o la directriz. Si el valor contiene varias palabras, deberá entrecomillarse todo el valor. Si sólo tiene una palabra, el entrecomillado es opcional. Por ejemplo:</p>
<p>servidor "Colossus"; // es correcto<br>
servidor Colossus; // es correcto<br>
servidor "Mi servidor"; // es correcto<br>
servidor Mi servidor; // es incorrecto </p>
<p>Cabe mencionar que si el valor contiene algún símbolo de comentario (#, // o /* */) el uso del entrecomillado es <b>obligatorio</b>, puesto que, de no hacerse así, se tomaría como un comentario y daría error.<br>
Así pues, por ejemplo canal "#canal"; sería correcto; pero canal #canal; sería incorrecto. </p>
<p>Además, los comentarios pueden hacerse anteponiendo // para comentar toda esta línea o con /* */ para comentar varias líneas.</p>
<p>El archivo puede contener cada línea una directriz, o simplemente meter toda la configuración en una sola línea. Aunque por motivos de simplicidad y facilidad de manejo y configuración,
recomiendo usar línea por línea, distinguiendo claramente los bloques y directrices. </p>
<p>El archivo principal deberá llamarse <b>colossus.conf</b> y deberá localizarse en la misma carpeta donde se sitúe el ejecutable del programa.</p>
<p>El archivo se compone de varios bloques:</p><br>
<p><b><font size="5"><a name="server"></a>11.1 Bloque server { } <font color="#FF0000">(obligatorio)</font></font></b></p>
<pre>server {
addr ip.a.conectar;
puerto puerto;
password {
local "pass local";
remoto "pass remoto";
};
host nombre.del.servidor;
info "información adicional";
numeric numerico-del-servidor;
compresion nivel;
escucha {
puerto nº;
enlace ip;
};
ssl;
autocon;
};</pre>
<p>Los valores se deducen fácilmente. </p>
<p><b>addr</b><br>Indica a qué ip o host debe conectar.</p>
<p><b>puerto</b><br>Es el puerto donde tiene que conectar.</p>
<p><b>password::local</b><br>Indica la contraseña local de conexión de la máquina a la que se va a conectar. </p>
<p><b>password::remoto</b><br>Indica la contraseña remota de conexión de la máquina a la que se va a conectar. </p>
<p><b>host</b><br>Es el servidor visible, el que verán los usuarios y en el que estarán albergados los robots de servicio. </p>
<p><b>numeric</b><br>Es la identificación del servidor. Debe ser un número entre 0 y 255 (ambos incluídos) y <b>NO</b> debe estar repetido en la red. Es decir, ningún otro servidor de la red deberá tener el mismo numeric. </p>
<p><b>compresion</b><br>Es <i>opcional</i> e indica que el flujo de datos entre servidores debe hacerse con compresión de nivel especificado. Ambos extremos deben disponer de soporte ZLib y tener la misma compresión. </p>
<p><b>escucha::puerto</b><br>Es <i>opcional</i> y define un puerto para escuchar y recibir conexiones remotas. Debe usarse en caso de que no se pueda poner en escucha el <b>puerto</b>. </p>
<p><b>escucha::enlace</b><br>Es <i>opcional</i> y define una ip de enlace para poner en escucha y recibir conexiones remotas. Debe usarse en caso de disponer varios dispositivos.</p>
<p><b>ssl</b><br>Es <i>opcional</i>. Indica que la conexión con el servidor IRCd debe hacerse por SSL.</p>
<p><b>autocon</b><br>Es <i>opcional</i>. Conecta directamente al servidor sin necesidad de apretar el botón de Conectar. Sólo para WINDOWS.</p>
<p>Ejemplo:</p>
<pre>server {
addr 127.0.0.1;
puerto 6667;
password {
local openaccess;
remoto openaccess;
};
host Servicios.Colossus;
info "Servidor en C";
numeric 1;
escucha {
puerto 6666;
};
compresion 9;
};</pre>
<p> </p>
<p><b><font size="5"><a name="smtp"></a>11.2 Bloque smtp { } <font color="#0000FF">(opcional)</font></font></b></p>
<pre>smtp {
host host.del.servidor.smtp;
login "milogin";
pass "mipass";
puerto "puerto"; //opcional
ssl; //opcional
};</pre>
<p>Este bloque configura los parámetros para enviar emails desde el programa. </p>
<p><b>host</b><br>Indica la dirección de la máquina smtp. Puede ser ip o host. </p>
<p><b>login</b><br>Es <i>opcional</i>. Si se especifica, indica que el servidor SMTP no es libre y requiere autentificación. Si no se especifica, esta directriz, se asume que no es necesaria ninguna identificación y procede al envío anónimo. </p>
<p><b>pass</b><br>Es necesario en caso de haber especificado un <b>login</b>. Si no, puede omitirse.</p>
<p><b>puerto</b><br>Es <i>opcional</i>. Puerto del servidor SMTP.</p>
<p><b>ssl</b><br>Es <i>opcional</i>. Indica que la conexión se realiza mediante SSL.</p>
<p>Si este bloque no se especifica, el programa usará su propio servidor smtp. Así, cuando sea necesario enviar un email lo enviará directamente al servidor POP del usuario, sin la necesidad de pasar por un SMTP.
Esto ofrece una ventaja, ya que no es necesario el registro en ningún servidor SMTP. Pero por contra muchos servidores pueden descartar el email o marcarlo como spam.</p>
<p><b>Nota</b>: bajo sistemas Windows 9x/ME este bloque es <b>obligatorio</b>.</p>
<p>Ejemplo:</p>
<pre>smtp {
host smtp.gmail.com;
login [email protected];
pass mipass;
puerto 465;
ssl;
};</pre>
<p> </p>
<p><b><font size="5"><a name="db"></a>11.3 Bloque db { } <font color="#0000FF">(opcional)</font></font></b></p>
<pre>db {
host host;
puerto puerto;
login login;
pass pass;
nombre db;
prefijo prefijo_;
};</pre>
<p>Establece la configuración para utilizar el motor SQL. Este bloque es opcional. Si no se especifica este bloque, Colossus utilizará su sistema de base de datos interno.<br />
Este bloque <b>sólo</b> debe usarse si existe un servidor MySQL instalado.</p>
<p><b>host</b><br>Indica dónde se ubica el servidor. Generalmente es <i>localhost</i> o <i>127.0.0.1</i>.</p>
<p><b>puerto</b><br>Indica el puerto de escucha del servidor SQL. Es <i>opcional</i>. Si no se especifica, se usa el puerto por defecto.</p>
<p><b>login</b><br>Es el que se utiliza para conectar como usuario. Se recomienda encarecidamente usar un login de superusuario para utilizar todos los privilegios.</p>
<p><b>pass</b><br>Es <i>opcional</i>. Define una contraseña si fuera necesario para el login anterior. </p>
<p><b>nombre</b><br>Es el nombre de la base de datos. Al arrancar los robots, si esta base de datos no se encuentra, se pregunta al usuario si quiere crearla. Y en caso de tener privilegios, Colossus se encarga de crearla. </p>
<p><b>prefijo</b><br>Se utiliza para que las tablas que utiliza Colossus estén precedidas por un prefijo con el fin de distinguirlas de las demás que pueda tener el usuario.</p>
<p>Ejemplo:</p>
<pre>db {
host localhost;
login milogin;
pass mipass;
nombre redyc;
prefijo colossus_;
};</pre>
<p> </p>
<p><b><font size="5"><a name="set"></a>11.4 Bloque set { } <font color="#FF0000">(obligatorio)</font></font></b></p>
<pre>set {
autobop; //opcional
respuesta PRIVMSG|NOTICE;
rekill; //opcional
rejoin; //opcional
admin [email protected];
root nickdelroot;
clave_cifrado clave;
reconectar {
intentos nº-intentos;
intervalo nº-intervalo;
};
debug "#canal"; //opcional
userid id; //opcional
niveles {
nombre [flags];
...
};
};</pre>
<p>Este bloque configura los parámetros del programa. </p>
<p><b>autobop</b><br>Indica que los robots obtienen el estado de @ al entrar en un canal. </p>
<p><b>respuesta</b><br>Indica cómo debe procederse: por <b>PRIVMSG</b> o por <b>NOTICE</b>. Sólo acepta estas dos opciones. </p>
<p><b>rekill</b><br>Hace que el robot sea reconectado en caso de haber sido killeado. </p>
<p><b>rejoin</b><br>Hace que el robot sea introducido en el canal donde haya sido expulsado. </p>
<p><b>admin</b><br>Se utiliza para indicar cuál es el email del administrador o el de la red. Se utiliza como remitente en el envío de emails. </p>
<p><b>root</b><br>Indica qué nick es el superusuario de los robots. Cuando se identifique como administrador de red (+N), tenga el nick registrado e identificado (+r) y figure como root en esta
configuración, adquirirá automáticamente el estado de superusuario o root. </p>
<p><b>clave_cifrado </b><br>Se utiliza como semilla o clave de cifrado cada vez que se requiera encriptar datos. No puede tener más de 32 caracteres. </p>
<p><b>reconectar { }</b><br>Indica si debe procederse a reconectar los servicios en caso de una desconexión involuntaria, indicando el número de <b>intentos</b> y la frecuencia o el <b>intervalo</b>
con que debe hacerlo. Ambos valores deben ser números positivos. </p>
<p><b>debug</b><br>Indica el canal en el que se hace debug de toda la red si está presente. </p>
<p><b>userid</b><br>Especifica el id de usuario de la web www.redyc.com. Este id puedes obtenerlo desde el panel de opciones. Es opcional pero si se desea utilizar los servicios personalizados, es obligatorio.</p>
<p><b>niveles</b><br>Establece una lista de niveles de acceso a las distintas funciones de los módulos. Estos niveles son los que se usan en todo el programa. Deben escribirse en orden de menor a mayor rango.
El parámetro flags es opcional. Si está presente, indica que para adquirir ese nivel necesita poseer este flag. Si no, adquirirá ese nivel a partir de una rutina propia de algún módulo.<br>
Como caso especial, la rutina para ROOT se establece automáticamente a partir de la directriz root.</p>
<p>Ejemplo:</p>
<pre>set {
autobop;
respuesta PRIVMSG;
rekill;
rejoin;
admin [email protected];
root Trocotronic;
clave_cifrado lerele;
reconectar {
intentos 3;
intervalo 5;
};
debug "#debug";
niveles {
USER r;
OPER h;
ADMIN N;
ROOT;
};
};</pre>
<p> </p>
<p><b><font size="5"><a name="modulos"></a>11.5 Bloque modulo { } <font color="#0000FF">(opcional)</font></font></b></p>
<pre>modulo "ruta/archivo.[dll|so]" {
nick nick;
ident ident;
host host;
realname "Info adicional";
modos modos;
residente "#canal1,...,#canalN"; //opcional
config archivo.inc; //opcional
};</pre>
<p>Indica qué módulo debe cargarse. Cada módulo es una DLL, en Windows, o un SO, en *nix.
Así, puedes descargar módulos de terceras personas e integrarlos a Colossus sin ni siquiera reiniciar el programa.
Para cargarlos basta con añadirlos al archivo de configuración y usar /rehash servidor.de.colossus para que se refresquen.
Es conveniente que todos los módulos estén en la carpeta /modulos.</p>
<p><b>nick</b><br>Nick del módulo o robot. </p>
<p><b>ident</b><br>Ident o username del módulo o robot. </p>
<p><b>host</b><br>Host virtual del módulo o robot. </p>
<p><b>realname</b><br>Nombre o información adicional del módulo o robot. </p>
<p><b>modos</b><br>Modos de usuario que lleva el módulo o robot (no se especifica + ni -). </p>
<p><b>residente</b><br>Es <i>opcional</i> y son los canales en los que permanece permanentemente. </p>
<p><b>config</b><br>Nombre del archivo de configuración del módulo. Debe estar en la misma carpeta que el módulo.<br>Es opcional, puesto que
no todos los módulos requerirán una configuración extendida. </p>
<p>Ejemplo:</p>
<pre>modulo "modulos/chanserv.[dll|so]" {
nick ChanServ;
ident colossus;
host Servicios.Colossus;
realname "Servicio de gestión de canales";
modos owhraAkNCqBvd;
residente "#redyc";
config chanserv.inc;
};</pre>
<p> </p>
<p><font size="5"><b><a name="log"></a>11.6 Bloque log { } <font color="#0000FF">(opcional)</font></b></font></p>
<pre>log archivo {
tamaño kbytes; // opcional
opciones {
servidores;
conexiones;
errores;
msn;
};
};</pre>
<p>Este bloque se utiliza para loguear en <b>archivo</b> los eventos que sean de interés y a su elección. Estos eventos se escogen mediante el bloque <b>opciones</b>. Estas <b>opciones</b> son:</p>
<ul>
<li><b>servidores</b>: cuando se conecta un servidor a la red.</li>
<li><b>conexiones</b>: cuando se abre una conexión a una máquina remota.</li>
<li><b>errores</b>: cuando se causa una desconexión del servidor con mensaje de error.</li>
<li><b>msn</b>: eventos relacionados con MSN Messenger.</li>
</ul>
<p>Además, puede especificar de forma opcional el <b>tamaño</b> máximo que quiere que ocupe el archivo. Su valor se especifica en KiloBytes. </p>
<p>Ejemplo:</p>
<pre>log colossus.log {
tamaño 4;
opciones {
conexiones;
servidores;
};
};</pre>
<p> </p>
<p><font size="5"><b><a name="ssl"></a>11.7 Bloque ssl { } <font color="#0000FF">(opcional)</font></b></font></p>
<pre>ssl {
egd archivo;
certificado archivo;
clave archivo;
certificados-seguros archivo;
opciones {
certificado-cliente;
solo-oficiales;
verificar-certificado;
};
cifrados metodos;
};</pre>
</p>
<p>Este bloque define que todas las conexiones relacionadas con el ircd serán SSL. </p>
<p><b>egd</b><br>Especifica que el soporte EGD (Entropy Gathering Daemon) está activo. </p>
<p><b>certificado</b><br>Indica el archivo donde el certificado SSL está localizado. </p>
<p><b>clave</b><br>Indica el archivo donde se encuentra la clave privada SSL. </p>
<p><b>certificados-seguros</b><br>Indican en qué archivo se encuentran. </p>
<p><b>opciones</b><br>Definen así:</p>
<ul>
<li><b>certificado-cliente</b>: sólo autoriza conexiones con certificado.</li>
<li><b>solo-oficiales</b>: sólo autoriza certificados oficiales (no self-signed).</li>
<li><b>verificar-certificado</b>: se verifica el certificado antes de permitir la conexión </li>
</ul>
<p><b>cifrados</b><br>Es <i>opcional</i> y señalan qué cifrados se disponen. Para tener una lista use 'openssl ciphers'. Úsese ':' para separar varios métodos.</p>
<p>Ejemplo:</p>
<pre>ssl {
egd;
clave "server.key.pem";
opciones {
certificado-cliente;
};
cifrados DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA;
};</pre>
<p> </p>
<p><font size="5"><b><a name="protocolo"></a>11.8 Bloque protocolo { } <font color="#FF0000">(obligatorio)</font></b></font></p>
<pre>protocolo "ruta/archivo.[dll|so]" {
/* opciones */
...
};</pre>
<p>Carga un protocolo de red. Según al IRCd al que conecten, requerirán un protocolo u otro. Las opciones y características varían de cada protocolo.<br>
Tiene más información sobre los protocolos soportados actualmente en <a href="#protos">Configuración de protocolos</a>.</p>
<p> </p>
<p><font size="5"><b><a name="bloque_httpd"></a>11.9 Bloque httpd { } <font color="#0000FF">(opcional)</font></b></font></p>
<pre>httpd {
url ruta;
puerto número; //opcional
edad_maxima segundos; //opcional
ruta_php "ruta/php"; //opcional
};</pre>
<p>Este bloque configura el servidor httpd. Recuerde que todas las webs se sitúan en <i>html/<nombre_servicio></i>.</p>
<p><b>ruta</b><br>Ruta o host principal de la web. Todas las webs se accederán a través de <i>http://ruta/nombre_servicio/pagina.html</i>. Puede ser el host de su irc o una ip.</p>
<p><b>puerto</b><br>Puerto de escucha por el que se aceptan las conexiones entrantes. Si no se especifica ninguno, se asume por defecto el puerto 80.</p>
<p><b>edad_maxima</b><br>Número de segundos de vida de los elementos de una web. Se utiliza para que cada usuario guarde durante estos segundos los elementos en su caché y ahorrar ancho de banda.</p>
<p><b>ruta_php</b><br>Ruta o path al binario PHP para procesar páginas php. Es opcional pero se recomienda instalar PHP.</p>
<p>Ejemplo:</p>
<pre>httpd {
puerto 81;
url irc.redyc.com;
ruta_php "C:\php\php.exe";
};</pre>
<p>Por ejemplo, los usuarios accederán vía <i>http://irc.redyc.com:81/servicio/pagina.php</i>.</p>
<p> </p>
<p><font size="5"><b><a name="bloque_msn"></a>11.10 Bloque msn { } <font color="#0000FF">(opcional)</font></b></font></p>
<pre>msn {
cuenta [email protected];
pass contraseña;
master [email protected];
servidor servidor.virtual;
solomaster; //opcional
nick apodo;
};</pre>
<p>Este bloque configura el complemento MSN. Si dispone de este complemento, podrá comunicarse con Colossus a través del Messenger. Para ello debe disponer de una cuenta adicional que utilizará Colossus.</p>
<p><b>cuenta</b><br>Cuenta que utilizará Colossus y que debe agregar en su MSN.</p>
<p><b>pass</b><br>Contraseña de la cuenta de Colossus.</p>
<p><b>master</b><br>La dirección de su cuenta. La cuenta master es la cuenta que Colossus identificará como root y por la que recibirá las órdenes. Debe ser la cuenta que utilizará para comunicarse con Colossus.</p>
<p><b>servidor</b><br>Se trata del servidor virtual que se crea y se linka al servidor principal de los bots. A través de este servidor virtual se conectarán todos los contactos del MSN. Puede ser cualquier valor.</p>
<p><b>solomaster</b><br>Es <i>opcional</i>. Indica que sólo aceptará a la cuenta máster. Nadie que no sea el máster podrá agregar al complemento.</p>
<p><b>nick</b><br>Es <i>opcional</i>. Especifica el nick a mostrar en el MSN.</p>
<p>Ejemplo:</p>
<pre>msn {
cuenta [email protected];
pass contraseña1234;
master [email protected];
servidor msn.colossus;
};</pre>
<p> </p>
<p><b><font size="6"><a name="bots"></a>12. Configuración de módulos</font></b></p>
<p><br>Colossus incorpora varios módulos de serie. Los siguientes módulos de a continuación requieren una configuración aparte. Estas configuraciónes deben localizarse en la carpeta /modulos (o donde se ubique la .dll o .so que lo carga) dentro de la carpeta principal.</p>
<p>Esta configuración puede ser opcional (mediante la directriz <b>config</b> del bloque <b>modulo{ }</b>). Si no se especifica ésta, se tomará la configuración por defecto.</p>
<p> </p>
<p>Además, poseen tres bloques comunes en todos los módulos</p>
<p><b><font size="4"><a name="funciones"></a>12.0.1 Bloque funciones { }</font></b></p>
<pre>funciones {
...
};</pre>
<p>Se trata de una lista de todas las funciones que se van a cargar. Lo harán con su nivel y comando por defecto.</p>
<p> </p>
<p><b><font size="4"><a name="funcion"></a>12.0.2 Bloque funcion { }</font></b></p>
<pre>funcion func {
nivel nivel;
comando comando;
};</pre>
<p>Este bloque carga y permite configurar individualmente una función. Permite modificar los valores por defecto.</p>
<p><b>nivel</b> Declara el nivel mínimo de un usuario para poder acceder a este comando. El valor especificado debe pertenecer al bloque <b>niveles { }</b> del bloque <a href="#set"><b>set { }</b></a>.</p>
<p><b>comando</b> Establece el comando que debe llamarse. Es decir, el comando que ejecutará el usuario cuando use /msg Modulo COMANDO.<br />
Por ejemplo, si carga la función <i>help</i>, puede establecer <i>comando</i> a "AYUDA". Así, el comando para activarlo será /msg Modulo AYUDA.</p>
<p>Una función puede ser cargada varias veces, siempre que el comando sea distinto en cada vez. Por ejemplo, puede cargar dos veces la función <i>help</i> con los comandos AYUDA y HELP por separado.
Así, los usuarios accederán a la ayuda a través de estos dos comandos.</p>
<p> </p>
<p><b><font size="4"><a name="alias"></a>12.0.3 Bloque alias { }</font></b></p>
<pre>alias "formato" {
sintaxis "sintaxis";
};</pre>
<p>Crean alias para ejecutar. Si un usuario ejecuta un comando que coincide con "formato", ese comando se reemplazará por "sintaxis".
Por tanto, en realidad estará ejecutando el comando que haya en "sintaxis".</p>
<p><b>formato</b> Define el patrón que el usuario debe ejecutar. Si utiliza % como comodín, está indicando que en su lugar va una palabra cualquiera.</p>
<p><b>sintaxis</b> Corresponde a la sintaxis que se reemplazará y que realmente se ejecutará. Se puede usar %N (%1, %2, etc.) para indicar los parámetros pasados. Si se usa %N- se asumirá que se pasan todos los parámetros desde N hasta el final.
<br>
Ejemplo:
<pre>alias op {
sintaxis "modo %1 o %2-";
};</pre>
<p>Cuando el usuario ejecute /msg ChanServ op #canal nick1 nick2, en realidad se estará ejecutando /msg ChanServ modo #canal o nick1 nick2.</p>
<pre>alias "clear % ops" {
sintaxis "clear %1 o";
};</pre>
<p>Si el usuario ejecuta /msg ChanServ clear #canal ops, en realidad se ejecutará /msg ChanServ clear #canal o</p>
<p>Este bloque se utiliza básicamente para acortar comandos que requieran trabajar con modos de canal propios de protocolos.</p>
<p>Pueden usarse tantos alias como se quiera. Pero no lo sobrecargue puesto que los privados irán lentos.</p>
<p> </p>
<p><b>NOTA:</b> Algunos módulos requieren que antes estén cargados otros módulos.</p>
<p> </p>
<p><b><font size="5"><a name="nickserv"></a>12.1 NickServ</font></b></p>
<p>Nombre del archivo <b>nickserv.inc</b>.</p>
<p>Requiere: <b>chanserv</b>. </p>
<pre>NickServ {
sid; //opcional
secure; //opcional
prot KILL|NICK;
recovernick formato-%s;
securepass formato;
min_reg nº;
autodrop nº; //opcional
nicks nº; //opcional
intentos nº;
maxlist nº;
regcode; //opcional
forbmails {
dominio1;
dominio2;
...
}; //opcional
funciones {
...
};
funcion func {
nivel nivel;
comando comando;
}; // Opcional
alias "fmt" {
sintaxis "sntx";
}; // Opcional
};</pre>
<p><b>sid</b><br>Indica identificación segura. El comando para identificarse deberá usarse con /msg nick@servidor, en vez del clásico /msg nick. </p>
<p><b>secure</b><br>Se utiliza para que los usuarios no falseen sus cuentas de correo. Al registrar un nick, si está especificado <b>secure</b>, se le enviará una contraseña temporal al mail especificado. </p>
<p><b>prot</b><br>Especifica qué tipo de acción hay que tomar cuando se rebasa el tiempo de espera necesario para identificarse como dueño de un nick.
Sólo acepta dos opciones: <b>KILL </b>(el usuario es desconectado) o <b>NICK</b> (se le cambia el nick al usuario). </p>
<p><b>recovernick</b><br>Patrón que se sigue al cambiar el nick a un usuario. El parámetro %s es sustituído por el nick anterior. Para más información lea la sección de <a href="#patrones">parámetros de patrón</a>. </p>
<p><b>securepass</b><br>Formato a seguir para la creación de contraseñas seguras. </p>
<p><b>min_reg</b><br>Número que indica cuántas horas deben pasar antes de poder volver a registrar un nick. </p>
<p><b>autodrop</b><br>Número que indica cuántos días deben de pasar sin usarse un nick para que sea dropado automáticamente. </p>
<p><b>nicks</b><br>Número para indicar cuántos nicks se pueden registrar bajo una misma cuenta. </p>
<p><b>intentos</b><br>Número de intentos que tiene un usuario para identificarse como propietario de su nick. Si sobrepasa este número, se ejecuta la acción especificada en <b>prot</b>. </p>
<p><b>maxlist</b><br>Número para evitar flood cuando un usuario solicite alguna lista, puesto que es el número máximo de entradas que serán mostradas. </p>
<p><b>regcode</b><br>Con este parámetro activo, el registro de nicks se hará en dos fases. En la segunda será necesario introducir un código de verificación.</p>
<p><b>forbmails { }</b><br>No permite el registro de nicks bajo cuentas email con los dominios especificados. </p>
<p><b>funciones { }</b><br>Carga funciones. Explicado arriba. Funciones disponibles:</p>
<p><table border="1">
<tr><td align="center">Función</td><td align="center">Nivel por defecto (1)</td><td align="center">Comando por defecto</td></tr>
<tr><td>help</td><td>0 (2)</td><td>HELP</td></tr>
<tr><td>register</td><td>0</td><td>REGISTER</td></tr>
<tr><td>identify</td><td>1</td><td>IDENTIFY</td></tr>
<tr><td>set</td><td>1</td><td>SET</td></tr>
<tr><td>drop</td><td>2</td><td>DROP</td></tr>
<tr><td>sendpass</td><td>2</td><td>SENDPASS</td></tr>
<tr><td>info</td><td>0</td><td>INFO</td></tr>
<tr><td>list</td><td>0</td><td>LIST</td></tr>
<tr><td>ghost</td><td>0</td><td>GHOST</td></tr>
<tr><td>suspender</td><td>3</td><td>SUSPENDER</td></tr>
<tr><td>liberar</td><td>3</td><td>LIBERAR</td></tr>
<tr><td>swhois</td><td>2</td><td>SWHOIS</td></tr>
<tr><td>rename</td><td>3</td><td>RENAME</td></tr>
<tr><td>forbid</td><td>4</td><td>FORBID</td></tr>
<tr><td>unforbid</td><td>4</td><td>UNFORBID</td></tr>
<tr><td>marca</td><td>3</td><td>MARCA</td></tr>
<tr><td>setnick</td><td>3</td><td>SETNICK</td></tr>
</table>
(1): Los niveles se detallan por su número (orden de carga).<br />
(2): El nivel 0 está siempre cargado. Se trata del nivel más raso.<br />
</p>
<p><b>funcion { }</b><br>Carga una función y permite modificar sus parámetros por defecto.</p>
<p>Ejemplo:</p>
<pre>NickServ {
sid;
secure;
automigrar;
prot kill;
recovernick inv-%s-????;
securepass *******;
min_reg 24;
autodrop 15;
nicks 3;
intentos 3;
maxlist 30;
forbmails {
hotmail.com;
};
funciones {
help;
register;
identify;
set;
drop;
sendpass;
info;
list;
ghost;
suspender;
liberar;
forbid;
unforbid;
swhois;
rename;
};
funcion help {
comando AYUDA;
};
funcion func {
nivel nivel;
comando comando;
}; // Opcional
};</pre>
<p> </p>
<p><b><font size="5"><a name="chanserv"></a>12.2 ChanServ</font></b></p>
<p>Nombre del archivo <b>chanserv.inc</b>.</p>
<pre>ChanServ {
sid; //opcional
autodrop nº;
maxlist nº;
bantype nº;
automigrar; //opcional
tokens {
formato format;
vigencia nº;
necesarios nº;
antig nº;
};
funciones {
...
};
funcion func {
nivel nivel;
comando comando;
}; // Opcional
alias "fmt" {
sintaxis "sntx";
}; // Opcional
};</pre>
<p><b>sid</b><br>Indica identificación segura. El comando para identificarse deberá usarse con /msg nick@servidor, en vez del clásico /msg nick. </p>
<p><b>autodrop</b><br>Indica cuántos días deben de pasar sin usarse un canal para que sea dropado automáticamente. </p>
<p><b>maxlist</b><br>Número para evitar flood cuando un usuario solicite alguna lista, puesto que es el número máximo de entradas que serán mostradas. </p>
<p><b>bantype</b><br>Tipo de ban que se usará en las listas de auto-kick. </p>
<p><b>automigrar</b><br>Realiza la migración automática del registro del canal a las tablas de toda la red. </p>
<p><b>tokens { }</b><br>Configura todo el sistema de tokens o 'firmas digitales'. </p>
<p><b>tokens::formato</b><br>Indica qué forma deben tener los tokens. </p>
<p><b>tokens::vigencia</b><br>Indica cuántas horas tiene de vida el token solicitado. </p>
<p><b>tokens::necesarios</b><br>Número que indica cuántos tokens son necesarios para presentar una petición de registro de un canal. </p>
<p><b>tokens::antig</b><br>Indica cuántos días tiene que tener registrado el nick como mínimo para solicitar un token. </p>
<p><b>funciones { }</b><br>Carga funciones. Explicado arriba. Funciones disponibles:</p>
<p><table border="1">
<tr><td align="center">Función</td><td align="center">Nivel por defecto (1)</td><td align="center">Comando por defecto</td></tr>
<tr><td>help</td><td>0 (2)</td><td>HELP</td></tr>
<tr><td>deauth</td><td>1</td><td>DEAUTH</td></tr>
<tr><td>drop</td><td>3</td><td>DROP</td></tr>
<tr><td>register</td><td>1</td><td>REGISTER</td></tr>
<tr><td>identify</td><td>1</td><td>IDENTIFY</td></tr>
<tr><td>info</td><td>0</td><td>INFO</td></tr>
<tr><td>invite</td><td>1</td><td>INVITE</td></tr>
<tr><td>kick</td><td>1</td><td>KICK</td></tr>
<tr><td>modo</td><td>1</td><td>MODO</td></tr>
<tr><td>clear</td><td>1</td><td>CLEAR</td></tr>
<tr><td>set</td><td>1</td><td>SET</td></tr>
<tr><td>akick</td><td>1</td><td>AKICK</td></tr>
<tr><td>access</td><td>1</td><td>ACCESS</td></tr>
<tr><td>list</td><td>0</td><td>LIST</td></tr>
<tr><td>join</td><td>1</td><td>JOIN</td></tr>
<tr><td>sendpass</td><td>2</td><td>SENDPASS</td></tr>
<tr><td>suspender</td><td>3</td><td>SUSPENDER</td></tr>
<tr><td>liberar</td><td>3</td><td>LIBERAR</td></tr>
<tr><td>forbid</td><td>4</td><td>FORBID</td></tr>
<tr><td>unforbid</td><td>4</td><td>UNFORBID</td></tr>
<tr><td>block</td><td>2</td><td>BLOCK</td></tr>
<tr><td>token</td><td>1</td><td>TOKEN</td></tr>
<tr><td>marca</td><td>3</td><td>MARCA</td></tr>
<tr><td>poderes</td><td>1</td><td>PODERES</td></tr>
</table>
(1): Los niveles se detallan por su número (orden de carga).<br />
(2): El nivel 0 está siempre cargado. Se trata del nivel más raso.<br />
</p>
<p><b>funcion { }</b><br>Carga una función y permite modificar sus parámetros por defecto.</p>
<p>Ejemplo:</p>
<pre>ChanServ {
sid;
autodrop 15;
maxlist 30;
bantype 9;
automigrar;
tokens {
formato "############";
vigencia 24; /* en horas */
necesarios 1;
antig 15; /* en días */
};
funciones {
help;
deauth;
drop;
identify;
info;
invite;
kick;
modo;
clear;
set;
akick;
access;
list;
join;
sendpass;
suspender;
liberar;
forbid;
unforbid;
block;
register;
token;
marca;
poderes;
};
funcion help {
comando AYUDA;
};
};</pre>
<p> </p>
<p><b><font size="5"><a name="operserv"></a>12.3 OperServ</font></b></p>
<p>Nombre del archivo <b>operserv.inc</b>.</p>
<p>Requiere: <b>chanserv</b>, <b>memoserv</b>. </p>
<pre>OperServ {
autoop;
maxlist nº;
funciones {
...
};
funcion func {
nivel nivel;
comando comando;
}; // Opcional
alias "fmt" {
sintaxis "sntx";
}; // Opcional
};</pre>
<p><b>autoop</b><br>Los operadores de red obtienen @ al entrar en un canal automáticamente no registrado (en un registrado deberá tener su correspondiente acceso). </p>
<p><b>maxlist</b><br>Número para evitar flood cuando un usuario solicite alguna lista, puesto que es el número máximo de entradas que serán mostradas. </p>
<p><b>funciones { }</b><br>Carga funciones. Explicado arriba. Funciones disponibles:</p>
<p><table border="1">
<tr><td align="center">Función</td><td align="center">Nivel por defecto (1)</td><td align="center">Comando por defecto</td></tr>
<tr><td>help</td><td>3</td><td>HELP</td></tr>
<tr><td>raw</td><td>3</td><td>RAW</td></tr>
<tr><td>restart</td><td>5</td><td>RESTART</td></tr>
<tr><td>rehash</td><td>5</td><td>REHASH</td></tr>
<tr><td>close</td><td>5</td><td>CLOSE</td></tr>
<tr><td>gline</td><td>3</td><td>GLINE</td></tr>
<tr><td>opers</td><td>4</td><td>OPERS</td></tr>
<tr><td>sajoin</td><td>2</td><td>SAJOIN</td></tr>
<tr><td>sapart</td><td>2</td><td>SAPART</td></tr>
<tr><td>rejoin</td><td>2</td><td>REJOIN</td></tr>
<tr><td>kill</td><td>2</td><td>KILL</td></tr>
<tr><td>global</td><td>2</td><td>GLOBAL</td></tr>
<tr><td>noticias</td><td>4</td><td>NOTICIAS</td></tr>
<tr><td>vaciar</td><td>5</td><td>VACIAR</td></tr>
<tr><td>akill</td><td>3</td><td>AKILL</td></tr>
<tr><td>cache</td><td>5</td><td>CACHE</td></tr>
<tr><td>exportar</td><td>5</td><td>EXPORTAR</td></tr>
<tr><td>importar</td><td>5</td><td>IMPORTAR</td></tr>
</table>
(1): Los niveles se detallan por su número (orden de carga).<br />
</p>
<p><b>funcion { }</b><br>Carga una función y permite modificar sus parámetros por defecto.</p>
<p>Ejemplo:</p>
<pre>OperServ {
autoop;
maxlist 30;
funciones {
raw;
help;
restart;
gline;
opers;
sajoin;
sapart;
rejoin;
kill;
global;
noticias;
rehash;
close;
vaciar;
akill;
cache;
exportar;
importar;
};
funcion help {
comando AYUDA;
};
};</pre>
<p> </p>
<p><b><font size="5"><a name="memoserv"></a>12.4 MemoServ</font></b></p>
<p>Nombre del archivo <b>memoserv.inc</b>.</p>
<p>Requiere: <b>chanserv</b>. </p>
<pre>MemoServ {
defecto nº;
cada nº;
funciones {
...
};
funcion func {
nivel nivel;
comando comando;
}; // Opcional
alias "fmt" {
sintaxis "sntx";
}; // Opcional
};</pre>
<p><b>defecto</b><br>Número del límite de mensajes por defecto que acepta un usuario. </p>
<p><b>cada</b><br>Indica cuántos segundos deben transcurrir antes de poder enviar otro mensaje. </p>
<p><b>funciones { }</b><br>Carga funciones. Explicado arriba. Funciones disponibles:</p>
<p><table border="1">
<tr><td align="center">Función</td><td align="center">Nivel por defecto (1)</td><td align="center">Comando por defecto</td></tr>
<tr><td>help</td><td>0 (2)</td><td>HELP</td></tr>
<tr><td>send</td><td>1</td><td>SEND</td></tr>
<tr><td>read</td><td>1</td><td>READ</td></tr>
<tr><td>del</td><td>1</td><td>DEL</td></tr>
<tr><td>list</td><td>1</td><td>LIST</td></tr>
<tr><td>set</td><td>1</td><td>SET</td></tr>
<tr><td>info</td><td>1</td><td>INFO</td></tr>
<tr><td>cancelar</td><td>1</td><td>CANCELAR</td></tr>
</table>
(1): Los niveles se detallan por su número (orden de carga).<br />
(2): El nivel 0 está siempre cargado. Se trata del nivel más raso.<br />
</p>
<p><b>funcion { }</b><br>Carga una función y permite modificar sus parámetros por defecto.</p>
<p>Ejemplo:</p>
<pre>MemoServ {
defecto 5;
cada 60;
funciones {
help;
send;
read;
del;
list;
set;
info;
cancelar;
};
funcion help {
comando AYUDA;
};
};</pre>
<p> </p>
<p><b><font size="5"><a name="ipserv"></a>12.5 IpServ</font></b></p>
<p> Nombre del archivo <b>ipserv.inc</b>.</p>
<pre>IpServ {
sufijo sufijo;
cambio nº;
clones nº;
pref_vhost;
prohibir {
...
};
funciones {
...
};
funcion func {
nivel nivel;
comando comando;
}; // Opcional
alias "fmt" {
sintaxis "sntx";
}; // Opcional
};</pre>
<p><b>sufijo</b><br>Es el sufijo que se añadirá a la ip virtual si se precisa. </p>
<p><b>cambio</b><br>Son las horas en que se cambia el cifrado de ip virtuales. </p>
<p><b>clones</b><br>Número máximo de conexiones permitidas por usuario. </p>
<p><b>pref_vhost</b><br>Añadir el sufijo en los vhost del comando VHOST.</p>
<p><b>prohibir</b><br>Lista de expresiones NO permitidas en el comando VHOST.</p>
<p><b>funciones { }</b><br>Carga funciones. Explicado arriba. Funciones disponibles:</p>
<p><table border="1">
<tr><td align="center">Función</td><td align="center">Nivel por defecto (1)</td><td align="center">Comando por defecto</td></tr>
<tr><td>help</td><td>2</td><td>HELP</td></tr>
<tr><td>setipv</td><td>2</td><td>SETIPV</td></tr>
<tr><td>setipv2</td><td>2</td><td>SETIPV2</td></tr>
<tr><td>temphost</td><td>2</td><td>TEMPHOST</td></tr>
<tr><td>clones</td><td>4</td><td>CLONES</td></tr>
<tr><td>vhost</td><td>1</td><td>VHOST</td></tr>
</table>
(1): Los niveles se detallan por su número (orden de carga).<br />
</p>
<p><b>funcion { }</b><br>Carga una función y permite modificar sus parámetros por defecto.</p>
<p>Ejemplo:</p>
<pre>IpServ {
sufijo virtual;
cambio 24; // en horas
clones 3;
pref_vhost;
prohibir {
*.org;
*.com;
*oper*;
*admin*;
};
funciones {
help;
setipv;
setipv2;
temphost;
clones;
};
funcion help {
comando AYUDA;
};
};</pre>
<p> </p>
<p><b><font size="6"><a name="protos"></a>13. Configuración de protocolos</font></b></p>
<p>Colossus soporta la conexión a distintos ircds. Según los que sean se requerirá un protocolo u otro con opciones que varían entre sí.<br>
A continuación tiene una lista de los protocolos soportados y sus opciones de configuración.</p>
<p><b><font size="5"><a name="unreal"></a>13.1 UnrealIRCd</font></b></p>
<p>Protocolo usado en redes UnrealIRCd 3.2 y superiores.</p>
<pre>protocolo protocolos/unreal.[dll|so] {
no_server_deop; // opcional
autojoin {
usuarios "#canal1,...,#canalN"; // opcional
opers "#canal1,...,#canalN"; // opcional
}; // opcional
modos {
usuarios +modos-modos; // opcional
canales +modos-modos; // opcional
}; // opcional
parametros {
clientes modos; // opcional
mascaras modos; // opcional
resto1 modos; // opcional
resto2 modos; // opcional
}; // opcional
extension protocolos/extension.[dll|so] {
...
opciones
}; // opcional
};</pre>
<p><b>no_server_deop</b><br>Se utiliza para evitar que al linkar dos nodos, uno quite todos los modos de .&@%+ que pueda haber en un canal. </p>
<p><b>autojoin { }</b><br>Autojoin de usuarios y operadores.</p>
<p><b>modos { }</b><br>Modos obligatorios (+) y no permitidos (-) en los usuarios y canales.</p>
<p><b>parametros { }</b><br>Define los modos de canal con parámetros que tiene este protocolo. Es opcional, puesto que lleva unos por defecto (los que suelen encontrarse).<br />
<ul><li><b>clientes</b>: modos que aceptan clientes como parámetros. Por defecto "qaohv".</li>
<li><b>mascaras</b>: modos que aceptan máscaras como parámetros. Por defecto "beI".</li>
<li><b>resto1</b>: modos que aceptan parámetros al ponerse y al quitarse. Por defecto "kfL".</li>
<li><b>resto2</b>: modos que aceptan parámetros al ponerse pero no al quitarse. Por defecto "lj".</li></ul>
Todos tiene caracter opcional. Tan sólo debe especificarlos si fueran diferentes a los de su red o si no tiene ni idea de lo que lee.</p>
<p><b>extension</b><br> Bloque que añade una extensión al protocolo.</p>
<p>Ejemplo:</p>
<pre>protocolo protocolos/unreal.dll {
no_server_deop;
autojoin {
usuarios "#redyc";
opers "#opers";
};
modos {
usuarios +i;
canales +S;
};
extension protocolos/udb.dll {
...
};
};</pre>
<p> </p>
<p><b><font size="5"><a name="p10"></a>13.2 P10</font></b></p>