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)
|
|