# ============================================================================ # Fisier de configurare CService (Serviciul de Canale) — Underchat # ============================================================================ # $Id: cservice.example.conf.in,v 1.9 2005/12/06 18:12:44 kewlio Exp $ # # Acest fisier controleaza comportamentul botului X (CService). # Toate setarile sunt documentate mai jos in limba romana. # ============================================================================ # ============================================================================ # SECTIUNEA 1: CONEXIUNEA LA BAZA DE DATE (PostgreSQL) # ============================================================================ # Adresa IP sau hostname-ul serverului PostgreSQL. # Botul X se conecteaza la aceasta adresa pentru a citi/scrie datele. sql_host = 10.1.100.252 # Portul pe care asculta serverul PostgreSQL (implicit: 5432). sql_port = 5432 # Numele bazei de date. # Baza se creeaza din sablonul doc/cservice.sql. sql_db = cservice # Numele de utilizator pentru autentificarea la PostgreSQL. sql_user = gnuworld # Parola pentru autentificarea la PostgreSQL. sql_pass = foo # ============================================================================ # SECTIUNEA 2: IDENTITATEA BOTULUI PE RETEA # ============================================================================ # Nickname-ul botului (cum apare pe retea). nickname = X # Username-ul botului (partea de dinaintea @ in user@host). username = cservice # Hostname-ul botului (partea de dupa @ in user@host). hostname = underchat.org # Descrierea (realname/GECOS) — apare la /whois. userdescription = For help type: /msg X help # Modurile utilizatorului setate la conectare. # +i = invizibil, +d = nu primeste mesaje de canal, +k = serviciu (nu poate fi ucis). mode = +idk # ============================================================================ # SECTIUNEA 3: CANALE DE ADMINISTRARE SI NOTIFICARI # ============================================================================ # URL-ul paginii web pentru vizualizarea aplicatiilor de canale in asteptare. pending_page_url = http://cservice.underchat.org/live/view_app.php # Canalul unde se trimit notificari despre flood, avertismente si exceptii. # Toate alertele de securitate ale botului ajung aici. relay_channel = #CSC # Canalul pentru informatii utile dar mai putin urgente # (cunoscut si ca "canalul de relay al utilizatorilor privilegiati"). # Mai putin zgomotos decat debug_channel. priv_relay_channel = #CSC # Canalul pentru informatii de depanare (debug). # Foarte detaliat — poate fi deranjant, folosit doar de dezvoltatori. debug_channel = #CSC # Canalul programatorilor. # Se foloseste pentru a extrage nivelurile de acces ale dezvoltatorilor. coder_channel = #CSC # ============================================================================ # SECTIUNEA 4: INTERVALE DE VERIFICARE SI TEMPORIZARE # ============================================================================ # La cate secunde verifica botul baza de date pentru actualizari. # Valoare curenta: la fiecare 3 minute (180s). update_interval = 180 # Durata ferestrei de monitorizare a flood-ului (in secunde). # Botul numara mesajele primite/trimise in aceasta perioada. flood_duration = 30 # Pragul de flood la intrare (input). # Daca un utilizator acumuleaza 3000 de puncte in 'flood_duration' secunde, # este considerat flood si va fi ignorat. input_flood = 3000 # Pragul de flood la iesire (output). # Daca botul trimite mai mult de 20480 octeti (20 KB) in 'flood_duration' secunde, # limiteaza traficul de iesire. output_flood = 20480 # Durata minima (in secunde) inainte de a seta un topic intr-un canal activ. # Previne schimbarea prea frecventa a topicului. Valoare curenta: 30 minute. topic_duration = 1800 # La cate secunde verifica botul conturile de utilizator inactive din memorie. # Valoare curenta: la fiecare ora (3600s). expire_interval = 3600 # Cat timp (in secunde) trebuie sa fie inactiv un cont inainte de a fi # scos din cache (memoria rapida). Valoare curenta: 1 ora. cache_interval = 3600 # La cate secunde verifica si salveaza botul modificarile la canalele # aflate in asteptare (pending). Valoare curenta: 30 minute. pending_duration = 1800 # La cate secunde verifica botul daca conexiunea la baza de date # este inca activa. Valoare curenta: la fiecare 10 secunde. connection_check_frequency = 10 # De cate ori incearca botul sa se reconecteze la baza de date # (la fiecare 'connection_check_frequency' secunde) inainte de a renunta # si a se opri complet. Valoare curenta: 5 incercari. connection_retry_total = 5 # La cate secunde verifica botul canalele cu limita flotanta (floating-limit) # pentru a vedea daca trebuie actualizata limita. # Nota: 30s este o valoare buna. Folositi 60s daca aveti multe canale # si CPU limitat. limit_check = 30 # Cate secunde asteapta botul dupa pornire inainte de a permite login-uri. # Util pe retele aglomerate cu burst mare — lasa lucrurile sa se stabilizeze # pentru a reduce incarcarea bazei de date. login_delay = 30 # ============================================================================ # SECTIUNEA 5: SISTEM DE NOTE (MESAJE INTRE UTILIZATORI) # ============================================================================ # Perioada (in secunde) in care se verifica daca cineva a trimis prea multe note. # Valoare curenta: 1 ora. note_duration = 3600 # Numarul maxim de note permise in perioada 'note_duration'. # Exemplu: maximum 5 note pe ora. note_limit = 5 # Cate note pot fi stocate simultan pentru un utilizator. # 0 este interzis (se va folosi 3 implicit). max_notes = 30; # ============================================================================ # SECTIUNEA 6: PRE-INCARCARE SI CACHE # ============================================================================ # Pre-incarca conturile de utilizator care au fost active in ultimele X zile. # La pornire, botul incarca in memorie toti utilizatorii care s-au autentificat # in ultimele 'preload_user_days' zile, pentru a evita interogari masive la # baza de date in timpul burst-ului initial (sincronizare retea). preload_user_days = 1 # ============================================================================ # SECTIUNEA 7: JURNALIZARE (LOGURI) # ============================================================================ # Fisierul de jurnal pentru comenzile administratorilor. # Inregistreaza toate comenzile executate de administratori. admin_logfile = admin.log # Fisierul de jurnal pentru TOATE comenzile, de la toti utilizatorii. # Necesita USE_COMMAND_LOG activat in cservice_config.h la compilare. command_logfile = cs.log # ============================================================================ # SECTIUNEA 8: COMANDA HELLO (INREGISTRARE CONT NOU) # ============================================================================ # Perioada de blocare (in secunde) pentru comanda HELLO. # Functioneaza doar daca ALLOW_HELLO este definit in cservice_config.h. # Previne abuzul prin flood de comenzi HELLO. # Valoare curenta: 1 ora — un utilizator poate da HELLO o data pe ora. hello_block_period = 3600 # Daca este setat pe 1, parola generata pentru contul nou va fi trimisa pe email. # Daca este setat pe 0, parola este afisata direct utilizatorului. # IMPORTANT: pachetul mailutils sau mailx trebuie instalat pe sistem! hello_sendmail_enabled = 0 # Adresa de email a expeditorului pentru emailurile trimise la inregistrarea # unui cont nou (campul "From:"). sendmail_from = cservice@underchat.org # ============================================================================ # SECTIUNEA 9: RELAY WEB SI COMPORTAMENT CANALE # ============================================================================ # La cate secunde verifica botul mesaje noi de la relay-ul web # (interfata web de administrare). webrelay_interval = 10; # Dupa cate secunde de inactivitate botul paraseste un canal. # Se iau in calcul doar intrarile/iesirile (JOIN/PART), nu mesajele (PRIVMSG). # Valoare curenta: 2 zile (172800 secunde). # part_idle_chan = 172800 part_idle_chan = 17280000 # ============================================================================ # SECTIUNEA 10: AUTENTIFICARE TOTP (PAROLA UNICA BAZATA PE TIMP) # ============================================================================ # Activeaza/Dezactiveaza autentificarea TOTP (Two-Factor Authentication). # Trebuie activat si in mod.cservice/cservice_config.h la compilare. # 1 = TOTP activat, 0 = TOTP dezactivat. enable_totp = 0 # ============================================================================ # SECTIUNEA 11: EXPIRARE CONTURI SI CANALE (MIA — Missing In Action) # ============================================================================ # Dupa cate zile de inactivitate expira conturile de utilizator. # 0 = nu expira niciodata. # Valoare curenta: 365 zile (1 an). users_expire_days = 0 # Dupa cate zile de absenta a managerului se seteaza flag-ul MIA pe canal. # MIA = "Missing In Action" (Manager absent). # 0 = nu se seteaza niciodata. # Valoare curenta: 90 zile (3 luni). MIA_start_days = 90 # Dupa cate zile de la setarea flag-ului MIA se sterge (purge) canalul. # Valoare curenta: 100 zile. MIA_end_days = 100 # La cate ore verifica botul baza de date pentru utilizatori inactivi. # Nu poate fi 0 — implicit 8 ore. # Valoare curenta: la fiecare ora. users_db_idle = 8 # La cate ore verifica botul baza de date pentru canale cu manageri absenti. # Nu poate fi 0 — implicit 3 ore. # Valoare curenta: la fiecare ora. channels_db_idle = 3 # Lungimea unei ore in secunde. # Se aplica doar functionalitatilor noi de expirare utilizatori/canale. # Nu poate fi 0 (se va folosi 1 implicit). hour_seconds = 3600 # Lungimea unei zile in secunde. # Se aplica doar functionalitatilor noi de expirare utilizatori/canale. # Nu poate fi 0 (se va folosi 1 implicit). day_seconds = 86400 # Descrierea afisata cand incepe perioada MIA (managerul nu s-a autentificat). MIA_start_desc = Manager has failed to login. To vote for new manager send mail to cservice@underchat.org # URL-ul MIA — informatii suplimentare. MIA_URL = Only 400+ Ops # Descrierea afisata cand se termina perioada MIA (managerul s-a autentificat din nou). MIA_end_desc = Manager has logged in. This was the last warning for failure to login # ============================================================================ # SECTIUNEA 12: JUDECATORUL (THE JUDGE) — Sistem automat de aprobare canale # ============================================================================ # Aceste setari controleaza procesul automat de inregistrare a canalelor noi. # Utilizatorii aplica pentru un canal, aduna sustinatori, iar "Judecatorul" # decide automat daca aplicatia este aprobata. # ============================================================================ # Numarul minim de sustinatori necesari pentru o aplicatie de canal. required_supporters = 2 # Lungimea unei "zile de judecator" in secunde (folosit pentru testare rapida). # Valoare normala ar fi 86400 (o zi reala). # Valoare curenta: 360s (6 minute — probabil pentru teste). judge_day_seconds = 360 # Cate zile trebuie sa aiba un cont inainte de a putea inregistra un canal. min_days_before_reg = 1 # Cate zile trebuie sa aiba un cont inainte de a putea sustine o aplicatie. min_days_before_support = 1 # Cate aplicatii de canale poate sustine un utilizator simultan. max_concurrent_supports = 3 # Cate zile este blocat un utilizator de la inregistrare daca nu aduna # suficienti sustinatori. noreg_days_on_nosupport = 1 # Daca este 1, aplicatia este respinsa automat daca utilizatorul are # flag de frauda. 0 = nu se respinge automat. reject_app_on_userfraud = 1 # Daca este 1, se declanseaza o recenzie (review) cand cineva face obiectie # la o aplicatie. rewiev_on_object = 1 # Dupa cate unitati de timp expira recenziile (review-urile). rewievs_expire_time = 100 # Dupa cate unitati de timp expira aplicatiile aflate in asteptare (pending). pendings_expire_time = 30 # Numarul maxim de zile pentru procesul de aplicare. max_days = 3 # Numarul minim de intrari unice (utilizatori diferiti) necesare in canal. unique_joins = 5 # Numarul total minim de intrari (JOIN-uri) necesare in canal. joins = 10 # Numarul minim de sustinatori. min_supporters = 2 # Numarul minim de intrari in canal cerut fiecarui sustinator. min_supporters_joins = 2 # Cu cate zile inainte de expirare se trimit notificari. notify_days = 2 # Cate zile au sustinatorii la dispozitie pentru a-si confirma sustinerea. support_days = 1 # ID-ul utilizatorului CService care actioneaza ca "reviewer" (examinator). reviewer_id = 1 # ============================================================================ # SECTIUNEA 13: MESAJE DE BUNA-VENIRE PENTRU CANALE NOI # ============================================================================ # Mesajul trimis pe canal la acceptarea unei aplicatii noi. # %s se inlocuieste cu numele canalului. # Pentru dezactivare, folositi '' (gol). welcome_newchan_message = Congratulations! Channel %s has been registered! # Topicul setat automat pe un canal nou acceptat. # Se aplica doar daca canalul nu are deja un topic. # Pentru dezactivare, folositi '' (gol). # TOPIC_TRACK trebuie definit (#define) in \include\gnuworld_config.h. welcome_newchan_topic = *** Congratulations! Your channel application has been accepted! *** # ============================================================================ # SECTIUNEA 14: HOSTNAME-URI REZERVATE / RESTRICTIONATE # ============================================================================ # Hostname-uri care nu pot fi setate de utilizatorii obisnuiti. # Se accepta wildcard (caractere de inlocuire, ex: *.underchat.org). # Hostname-ul botului si sufixul de host ascuns se adauga automat. #