Psotnic 0.2.x HOWTO [SI]

Ta dadoteka vsebuje osnove, ki so potrebne za nastavitev (in uporabo) psotnic bota.
Prosim preberite vsebino preden sprašujeve bedna vprašanja.

***

please note that all translated howtos are based upon english version and they might be outdated
if you cannot find something in this document please check english version. --pks

***


1. Opcije config datoteke


Obvezne nastavitve za vse bote
nick botov nick
realname botovo pravo ime
nickappend polno znakov ki bojo uporabljeni ce nick nebo dosegliv (npr. -|`^, to bo bot uporabil ce je `altuidnick' 1)
myipv4 ip naslov od bota (npr. 88.45.56.15, 0.0.0.0 pomeni vsak ip)
Obvezne nastavitve za main bot
listen port na katerem main caka na povezavo slave-a in lastnika (npr. 12345)
ownerpass md5sum od lastnikovega gesla (main pass) za partyline (da naredite md5sum uporabite komando ./psotnic -p)
Obvezne nastavitve za slave
listen port na katerem slave caka na povezavo leaf-a (npr. 12345)
hub ip, port, pass od main bota (npr. 123.123.123.123 9000 pac_geslo)
Obvezne nastavitve za leaf
hub ip, port, pass in handle name (npr. 111.111.111.111 8000 geslo slave1)
Dodatne nastavitve za vse bote
ident botov username (navadno: isto kot uporabniško ime)
handle botova oznaka ki je vidna v partyline-u (navadno: isto kot ime bota-nick bota)
vhost ipv4 ali vip6 naslov (npr. 217.2.3.54 ali 3ffe:2f4:56:35:0:0:0:23), domene niso podprte (navadno: odvisno od operacijskega sistema)
logfile datoteka kjer bot shranjuje svoje aktivnosti (navadno: /dev/null)
userlist userlist (ali userfile) (navadno: $nick.ul)
ctcptype ctcp version (navadno: random). Navoljo so: 0 = nic, 1 = psotnic, 2 = irssi, 3 = epic, 4 = lice, 5 = bitchx, 6 = dzony loker, 7 = luzik, = 8 mirc 6.14
keepnick obdrži nick;) (navadano: 0)
kickreason kick razlog
limitreason kick razlog ko nekdo premakne limit
partreason razlog za part
quitreason razlog za quit
cyclereason razlog za cycle
Dodatne nastavitve za vse bote, opcije ki so lahko nastavljnene vec kot 1x
server ipv4 naslov in port od irc serverja (npr. 123.123.123.123 6667)
server6 ipv6 naslov in port od irc serverja (npr. 3ffe:2f4:56:35:0:0:0:23 6667, v verziji 0.2.3 uporabiti server)

2. Nastavljanje bota


* Sestavljanje main bota

Najprej kopirajte conf.hub iz cfg-examples v mapo kjer je psotnic binary. potem uredite conf.hub. Naslednja stvar je ecnryption confov, to storite z `./psotnic -c config.file`. Ko ste to storili lahko zaženete bot -> `./psotnic config.file`. Priporocljivo je da premaknete config file nekam na varno...
Sedaj ko bot tece se telnetajte vanj (telnet ip port) in utipkajte svoj owner password (ne md5 hash). Ce je pass pravi bi bot moral bot vprasati za login in pass. Po ustvarjenem accountu se bo bot restartal, zato se ponovno telnetajte in povejte ownerpass, login in pass. Ko se pridružite partyline-u odtipkajte .help da spoznate psotnic ...;)

* Sestavljanje slave-a

Skoraj enako kot za main bot, s tremi razlikami. Prva je ta da namesto conf.hub uporabite conf.slave, druga je ta da ne naredite ownerpass se 1x, in tretja je ta da se ne telnetate v slave. Ostalo je enako.
Ko si zagnal slave bi mogel v partyline-u videti sporocilo ([+] Accepting connection from: 123.123.123.123 / 56487), ce temu ni tako pomeni da ste v configu dali napacni hubov ip.
V main bota morate dodati slave-a:
.+bot handle IP
.+host handle nick*!ident@vhost (samo ko je slave na ircu, zato da bo joinal kanale)
.chattr handle s
.chpass handle some_password (geslo je enako kot v configu od slave-a - hub vrsta)

* Sestavljanje leaf-a

Isto kot da bi nastavljali slave ampak z dvemi rezlikami: prva je da uporabite conf.leaf namesto conf.slave, druga je ta da naredite `.chattr bot l' namesto `.chattr bot s'.

3. Nastavitve


Nastavitve ki se nastavljajo z .set komando
cycle-delay razmik med cycle
rejoin-delay delay med kickom bota in rejoinom
rejoin-fail-delay delay ce je bil prejšni join neuspešen
hub-conn-delay delay za poskusanje povezave s hubom
irc-conn-delay delay za povezavo na irc
auth-time vse neavtorizirane povezave so zaprte po tem casom
private-ctcp vkljuci ali izkljuci privatne ctcp odzive za vse bote
ops-per-mode številov opov v eni vrsti ce so sovražniki na kanalu
ask-for-op-delay po tem casu bot vpraša za op ce že ni bil opan prej
getop-op-check vkljuci ali izkljuci preverjanje ce je bot ki zahteva op že opan
conn-timeout cas po katerem so vse autoritetne povezave zaprte
keep-nick-check-delay kolikokrat bot preveri ce je nick navoljo
remember-old-keys bot si zapomne stare keye
telnet-owners ce je na 0 se ownerji nemorejo povezat preko telneta, ce je 1 se lahko vsi ownerji ki imajo +pt flage povežejo z main preko telneta, ce je 2 se lahko samo ownerji ki imajo +pt flage in imajo njihov ip dodan listo hostov se lahko povežejo.
max-matches max. število zadetkov prikazanih z .match komadno
perip-max-shown-cons max. število pokazanih povezav iz enega IPja
perip-bust-size max. število neautoriziranih povezav iz enega IPja
perip-ignore-time koliko dolgo bo IP ignoriran ce doseže max. število neautoriziranih povezav
synflood-max-conns max. število vseh neregistriranih povezav
synflood-ignore-time koliko casa ignorirati vse IPje
bIe-mode-bounce-time po tem casu bo bot odstranil b/I/e
wasop-cache-time koliko dolgo si bot zapomni informacijo o opih med netsplitom
away-time boti bojo bili away za toliko casa
chat-time boti nebojo ostali away za toliko casa
between-msg-delay delay med pošiljanjem msgjev ko boti niso away (antiidle)
randomness razlicni anitiidle/away
public-away prižke/ugasne javne away-e/back-e
ident-clones max. število ljudi na danem kanalu z istim identom
host-clones max. število ljudi na danem kanalu z istim hostom / C subclass
proxy-clones max. število ljudi na danem kanalu z isto domeno in brez identa
clone-life-time cas po katerem boti izbrišejo clone listo
critical-bots ce min. število botou na danem kanalu doseže to številko, bojo boti zaklenili kanal (+i)
quarantine-time controlera delay med danim hostom botu (bot brez hosta nebo joinou kanale)

4. Local/channel settings


Nastavitve ki se nastavljajo z .chset #kanal komando
aop-bots število botov za opanje ljudi z +ao
bot-aop-bots število botov za opanje botov
punish-bots število botov za kickanje ljudi ki delajo nezaželjene stvari;)
getop-bots število botov ki bo bot uprašal za op
invite-bots število botov ki bo bot uprašal za invite
guardian-bots število botov ki bodo varovali chan modes
channels-ctpc vkljuci/izkljuci reply
enforce-bans vkljuci/izkljuci kickanje ljudi ki spadajo pod postavljeni ban
enforce-limits vkljuci/izkljici limit enforcing, ce nekdo z +n flagom zmanjša limit bojo boti kickali odvecne userje
stop-nethack vkljuci/izkljuci kickanje ljudi z -f ki dobijo op po netsplitu
limit vkljuci/izkljuci autolimit
limit-time autolimit delay
limit-offset autolimit, razlika med "+l x" in številom ljudi na kanalu
limit-bots število limit botou ki nastavljajo limit
limit-tolerance onemogoca prepogosto menjavanje limita
owner-limit-time owner ima dostop da zamena limit za toliko casa
takeover vkljuci/izkljuci takeover nacin
bitch vkljuci/izkljuci bitch nacin
wasoptest vkljuci/izkljuci spomin za vse bote ki so v splitu
clonecheck vkljuci/izkljuci preverjanje klonov
dynamic-bans vkljuci/izkljuci brisanje starih banov
dynamic-invites vkljuci/izkljuci brisanje starih invajtov
dynamic-exempts vkljuci/izkljuci brisanje starih exempts
lockdown vkljuci/izkljuci zaklepanje kanalov ce število botov na kanalu doseže kriticno stopnjo
lockdown-time ...
backup-mode-delay ...

5. Flags


global flags
x main owner (popolen nadzor, lahko spreminjaš vse userje)
s super owner (isto kot +x brez nekaterih komand)
n normal owner (z dostopom do partyline ampak skorajda brez komand)
t telnet access (brez tega se nemores povezati z hubom)
m master (nima dostopa v partyline, lahko opa ampak samo en userja na 1x)
f friend (nemore opat niti spreminjati chan modes)
o op (še manj kot f)
v voice ;]
a auto-mode (uporabno z +o ali +v)
d deop (auto kick ob opu, samo ownerji lahko opajo take userje)
q quiet (auto kick ob voice, podobno kot +d)
k kick ob join :S
c clone (host userjev ki niso preverjeni kot cloni)
i invite (auto-invite po kicku ce je kanal polen ali zaklenjen (+i))
r reop (auto-reop ob deopu, ta flag ne dela v verziji 0.1.7)
local flags
n normal owner (popolen dostop na kanalu ampak nemorejo kickat ali deopat bote)
m master (restricted control, lahko opa ampak samo enega na 1x in chan modes nemore spreminjati)
f friend (bolj restricted control, nemore opat in je kickan ce joina po netsplitu)
o op (navaden user z +o ;P ;])
a auto-mode (uporabno z +o ali +v)
q quiet (auto kick ob voice)
d deop (auto kick ob deop)
k kick (auto kick ob join)
bot flags
h main/hub
s slave
l leaf/normal bot
y dovoljenje za module
p dovoljeno obveZanje zamenjave hosta

6. Moduli

Je veliko ljudi s katerimi sem imel tezave objasniti kako to deluje, zato sem napisal ta howto.

Najprej morate dobiti non-static vezijo psotnic irc bota (ja, to pomeni da ni možnosti nalaganja modulov v static verzijo). Po odpakiranju psotnica, vstopite v mapo frameworks, odvisno od verzije bota, boste videli veliko datotek (primer 0.2.2) ali par datotek in 2 mapi (primer 0.2.3). Ce uporabljate 0.2.2 enostavno zazenite make clean && make all, to bi moralo nastaviti vse module, ce se vam pojavi napaka pomeni da se je zgodilo nekaj slabega in da ste prepusceni samim sebi. Ce uporabljate verzijo 0.2.3, zazenite make op && make spam (samo ta dva modula sta protana, ce zelite lahko protate se ostale). Ko kompilirate module (module_name.so <- to je module, ne pa module_name.cpp) morate urediti config file. V obeh primerih (0.2.2 in 0.2.3) morate dodati sledeco vrstico da zazenete module:

load /path/v/home/psotnic/framework/module_name.so

enkriptirat conf in zagnat bota. To je to.

7. Editiranja config datoteke iz partyline-a (od verzije 0.2.3rc1)

Vsi 0.2.3 boti imajo moznost editiranja config datoteke iz partyline-a, za videti trenuten config moramo:
.bc botname cfg

Moglo bi vam izpisati neki v stilu:
(botname) cfg: nick botname
(botname) cfg: realname Psotnic C++ Edition
in tako naprej...

Lahko spremenite opcijo z:
.bc botname cfg

Primer:
.bc botname cfg kickreason blah blah
[15:08] #you# bc botname cfg kickreason blah blah
(botname) cfg: kickreason has been set to blah blah

Da shranite spremembe morate:
.bc botname cfg-save

Nekatere opcije imajo lahko vec varjant, naprimer server ali alt.

Za dodati 3 serverje naredite:
.bc botname cfg server 1.1.1.1 1111
.bc botname cfg server 2.2.2.2 2222
.bc botname cfg server 3.3.3.3 3333

Za odstraniti drugega:
.bc botname cfg -server 2.2.2.2 2222

To je vse, ne pozabite shraniti configa :)

8. On join host resolver (samo linux)

Vsi 0.2.3 psotnici so opremljeni z asynhronicnim resolverjem, kateri na zalost dela samo na verziji rc9; ce imate torej starejso verzijo bi jo morali upgradati.
Da ga aktivirate, nastavite resolve-threads moznost v configu, na eno zdravo stevilo (primer 4), vecje stevilo ko je, vec resolvov bo narejenih na enkrat, potrebno je vedeti, da na linuxu vsak resolve steje kot proces. Po nastavitvi te moznosti je potrebno resetirati bot.

Da vidite statistiko resolva, napisite:
.status botname

To be continued :)

9. Konec

To je splosen opis bota ki rade volje zmede ljudi, ce najdete kaksno napako mi jo prosim sporocite, jo bom probal resiti v cim krajsem casu.

--
N3m0 (quake3@online.ie)
nasal (nasalchy@gmail.com)

Copyright (c) 2003-2005 Grzegorz Rusin. All rights reserved.