1 · Vad är en kanalban och när ska den användas?
En ban är en kanal-mode som sätts för att hindra klienter med vissa IRC-identifierare (användarnamn, hostnamn, nicknamn) från att komma in i den kanalen. Om de redan är på kanalen hindrar det dem från att tala (som om kanalen är satt till +m utan att de är +o eller +v) eller byta nicknamn. Denna möjlighet kallas +bquiet.
Bans är specifika för kanalen, alltså, en ban finns bara i den kanal som specifierats i ban kommandot. Alla bans försvinner från en kanal om kanalen töms. Kanalbans kan bara bli satt och borttagna av kanaloperatörer. A~utoKicks är undantaget till regeln och implementeras av Chanserv när en användare som matchar bannen försöker komma in i kanalen i fråga. Det spelar då ingen roll om någon är i kanalen eller inte.
När bör du använda en ban? Det är helt och hållet upp till dig som kanaloperatör. Generellt bör en ban sättas på en användare som konstat orsakar problem. Exempelvis, flooding eller är oartig. Det betyder dock inte att det är de enda gångerna en ban borde bli satt. Du kan bli bannad från en kanal för att du har ett olämpligt nicknamn eller något annat skäl. En ban är helt och hållet upp till kanaloperatören.
Noteras bör att en kanaloperatör har rätten att banna vem som helst, för vilket skäl som helst. Som kanaloperatör företräder de kanalens ägare. Tänk på som ett hus. Om du råkar vara ägaren har du rätten att visa ut vem du vill av vilket skäl som helst, kanske enbart för att du inte gillar dem.
En del kanaler kan ha en uppsättning regler som används för att bestämma när en ban ska sättas. När du får operatörstatus i en kanal bör du fråga grundaren för att se om de har några uppsatta regler om hur och när en ban ska sättas på användare.
2 · Vilken information behövs för att sätta en ban?
För att kunna sätta en ban måste du veta adressen på användaren som ska förhindras att komma in eller att tala i kanalen. För att hitta den informationen använder du WHOIS kommandot.
Om användaren bytit nicknamn kan du använda WHOWAS kommandot. Det endast användas direkt efter någon bytit nicknamn eller lämnat nätverket. Servern kan inte komma ihåg en användares adress under en längre tid efter de har bytt nicknamn eller efter de har lämnat nätverket, så du har runt en minut på dig att använda WHOWAS kommandot för att det ska fungera.
Jag kommer att använda nicknamnet Nick i alla följande exempel. För att använda WHOIS kommandot på "Nick", skriver du:
/whois NICK
på vilken kommandorad som helst i din IRC-klient. Beroende på vilken klient du använder, eller vilka skripts och filter du kör får du ett resultat som liknar följande:
*** Aysmonte is AMO@cs1p1.ipswich.gil.com.au Aysmonte@dal.net
*** on channels: @#gryphons
*** on irc via server cin.il.us.dal.net
Som du ser får vi en hel del information presenterad, inklusive: användarens adress, kanaler användaren är inne i, vilken server som används och andra detaljer som om användaren är away eller liknande (visas ej här, se Appendix A. Informationen vi är intresserade av finns på första raden:
*** Aysmonte is AMO@cs1p1.ipswich.gil.com.au Aysmonte@dal.net
Vi bryter ner adressen till följande delar:
nickname!userid@ISP.domän.land
ISP.domän.land delen benämns också som hostnamn eller domän.
Du kommer ibland se en del konstiga adresser, men för det mesta är det alltid i ovanstående format, med domän och/eller land sist och där resten av informationen efter @ är information om ISP:n och datorn som används. Du kan sätta en ban på vilken som helst av nickname, userid och domän beroende på hur hårt eller snällt du vill att bannen ska fungera. Detta kommer att gås igenom mer detaljrikt senare i detta dokument.
Tecknet '!' är en separator som används för att separera nicknamnfältet från userid-fältet. Userid och nicknamn kan också vara samma. Tecknet '@' är ännu en separator. Det separerar userid-fältet från det som är kvar av adressen (hostnamnet).
Nedan ger jag exempel på bans, allt från väldigt specifika till de mest generella. Det är upp till dig att bedöma vilken ban som behövs för en specifik händelse och att underhålla de banlistor du bedömer alltid ska finnas. Den största delen av du sätter kommer med största sannolikhet vara temporära som kan tas bort efter en kort tid.
Som jag nämnde ovan finns också möjligheten att hosten i fråga är en VHost. VHost står för virtual host och är en flärd-adress, för det mesta, skapad specifikt för att vara på IRC.
Därför är det möjligt att du ser en adress som ser ganska bisarr ut, som:
Therefore, you may see an output that would be quite bizarre such as:
*** Nick is god@dancing.with.wolves.in.moonlight.net Hey hey!
*** on channels: @#faqsfordalnet
*** on irc via server shiva.va.us.dal.net
I fallet med VHostar bör du hålla i minnet att det med största sannolikhet finns flera andra liknande eller helt olika hostar. Shell Konto Providers gör ett flertal av dessa hostar tillgängliga för deras användare. I dessa fall bör man lägga särskilt märke till användarens ident. Om en ban undviks kan det vara värt ett försök att sätta en ban på personens userid. Utförligare instruktioner ges nedan.
3 · Hur man sätter Bans
I alla ban-exempel kommer jag använda <#channel> för att indikera kanal-namnet där bannen kommer att sättas. Säkerställ att du använder rätt kanal i mode-kommandot och inte <#channel>
Obs: En del klienter har specifika kommandon för ban. MODE-kommandot som används här fungerar i alla klienter. Du bör ta en titt på ditt IRC-programs (klients) hjälpdokumentation angående bans för att se hur du använder de klient-specifika bankommandona, om det finns några.
För att ENDAST banna ett speciellt nicknamn använder du följande kommando:
/MODE #channel +b Nick
eller i sin helhet:
/MODE #channel +b Nick!*@*
En exempelban där du använder ett riktigt kanalnamn och nicknamn kan se ut så här:
/MODE #Gryphons +b Aysmonte!*@*
Båda dessa kommandon resulterar i samma ban mask. Om du inte är bekant med användandet av /MODE kommandot, see Appendix A för mer information.
Detta talar om för alla IRCservrar på IRCnätverket att alla som använder nicknamnet Nick har inte tillåtelse att komma in i kanalen. Det bör också noteras att bans sparkar inte ut användare från en kanal. På DALnet förhindrar det dem att ändra nicknamn och/eller att skicka text till kanalen, men de blir kvar och kan se all text i kanalen tills en operatör sparkar ut dem eller om de själva går ut.
Denna ban används sällan eftersom användaren helt enkelt kan ändra nicknamn för att komma förbi den. (Tekniskt sett är detta undvikande av ban från användarens sida, men eftersom bannen är så svag skulle de flesta inte kalla det ett riktigt undvikande.) Det har dock sin fördelar när det gäller att förhindra att olämpliga nicknamn används. (Till exempel, att banna *sex*!*@* i en familjekanal.)
Asteriskerna "*", i ovanstående kommando kallas wildcards. Wildcards användes för att representera noll eller fler tecken på den positionen, som matchar vilket antal tecken som helst på den på den positionen eller inga alls. Ett annat wildcard är "?". Frågetecknet "?" används för att specificera bara ett tecken på den positionen och är generellt sällan användbart. En del av er är kanske vana vid att använda wildcards i katalogsökningar efter filer och som sådana används det på ett liknande sätt. Notera också att "!" fortfarande används som separator in ban syntaxen.
Exempel på wildcards for IRC är:
ni?e = nice, nine, nixe, nife ...... *.gil.com.au = ipswich.gil.com.au, cs1p1.ipswich.gil.com.au, anyvarietywith.gil.com.au
? = Ett tecken på denna position
* = En sträng av tecken på denna position
Den här exempelbannen är ganska meningslös eftersom den är ganska specifik på ett fält som är lätt att ändra. En "bredare" (en ban som täcker fler möjliga variationer av adresser, eg AMO@cs1p1.ipswitch.gil.com.a~u är specifik medan AMO@*.gil.com.a~u är mer generell) och lite bättre ban kan vara följande:
/MODE #channel +b
*!User@ISP.domän.land
Om vi bryter ner den här bannen så ser vi att alla med vilket nicknamn som helst och vars userid är User eller user (bans är inte känsliga för gemener/versaler), med hostnamnet ISP.domän.land. Det här är lite svåra att undvika men allt som behövs för att undvika bannen är att logga ut från IRC-nätverket, ändra ditt userid och logga på igen. Det stoppar Nick från att omedelbart komma in igen, men stoppar dem bara i några sekunder, antagande att användaren vill undvika din ban.
För användare som har som vana att använda en mängd olika VHosts för att undvika bans kan du försöka stoppa dem genom att banna deras userid (ident) enbart:
/MODE #channel +b *!userid@*
Om vi använder informationen vi fick fram genom whois i början av detta dokument, skulle kommandot se ut som följande:
/MODE #channel +b *!god@*
Emellertid, om upprepade ident bans inte lyckas, bör du överväga att sätta en ban på hela IP-blocket. Kom bara ihåg att detta vanligtvis stoppar alla från företaget som ger ut VHosten.
Det första du gör är att hitta det IP-block som den VHosten är del av:
/DNS hostname
Vi kan prova detta med det praktiska exemplet där vi använde domänen dancing.with.wolves.in.moonlight.net. Förmodligen får du något liknande det följande:
Looking up dancing.with.wolves.in.moonlight.net ..
Resolved dancing.with.wolves.in.moonlight.net to 222.666.999.555
Vi har nu fastställt att värden danciing.with.wolves.in.moonlight.net har IP-adressen 222.666.999.555. Det betyder att alla de andra VHostar från det företaget troligen ligger under 222.666.999.någonting (förutsatt att det inte är ett enormt företag). För att sätta en ban på ett IP-block skriver du:
/MODE #channel +b *!*@222.666.999.*
Om du fortfarande har problem med den användaren är det hög tid att kontakta någon i en officiell hjälpkanal såsom #DALnetHelp, #IRCHelp eller #Help. IRC operatörer kan hittas i #OperHelp.
Vid mer 'normala' situationer är en mycket bättre ban att sätta, speciellt om det är en temporär ban, följande:
/MODE #channel +b
*!*@ISP.domain.country
Notera att inte alla användare kan ändra sitt användarnamn men det är ett gott antagande att göra i dagens läge eftersom fler och fler människor ansluter med klienter som tillåter dem att göra denna modifikation.
"*!* talar om för servern att inte tillåta något nicknamn eller userid från den angivna Host/domänen att komma in i din kanal.
När du får mer erfarenhet kommer du märka att ISP-delen av en adress ändras för människor som använder PPP eller SLIP-konton (uppringda abonnemang). Det finns en fast del som hänvisar till ISP:n, men det finns också en extra del som delas ut till dessa användare. Vi bryter ned ISP-delen så den blir:
nick!userid@PPP.ISP.DOMÄN.LAND
PPP är tilldelat till en användare när de loggar in till sin ISP, vanligtvis via uppringning med modem, genom hela uppkopplingstiden.
För att mer effektivt stoppa en person från att komma in till din kanal kan du sätta en ban som nedan:
/MODE #channel +b
*!*@*.ISP.domän.land
Som du ser skulle det här betyda att du vill banna alla nicknamn, userid's och PPP's från en specifik ISP. Det här är förmodligen den säkraste och mest använda typ av ban du kan sätta på en trubbelmakare. I grund och botten kan ingen från den ISP:n komma in i din kanal. Dock kan de ha ett annat konto med en helt annan ISP som de kan använda och på så sätt undvika din ban. Det kan räknas som undvikande av ban (ban evasion) och är inte tillåtet på DALnet. Hitta en IRC-operatör om/när sådant händer. Exemplet ovan där folk ändrar VHosts för att undvika en ban är ännu ett exempel på ban evasion.
En annan ban du skulle kunna överväga som temporär ban är en väldig generell domän- eller landsban. Det skulle kunna vara en snabblösning för att få bort en trubbelmakare medan du listar en bättre ban att sätta på den användaren. Den skulle se ut som följande:
/MODE #channel +b *!*@*.domän.land
/MODE #channel +b *!*@*.land
Dessa är dock väldigt generella och du skulle inkludera en massa människor i denna ban som inte förtjänar att bli bannade från din kanal. Nu kan ju också nämnas att när du väl har en ban satt, kan du inte sätta en annan ban som täcker det blocket. Så, om du sätter en ban på *!*@*.ISP.DOMÄN.LAND kan du inte sedan sätta en på *!*@*.DOMÄN.LAND (bredare ban) eller *!NickID@PPP.ISP.DOMÄN.LAND (smalare / mer specifik ban).
Vad betyder då detta för dig? Om du har bannat ett userid och ett nicknamn (*!*@PPP.ISP.DOMÄN.LAND) måste du ta bort bannen innan du sätter den för hela ISP:n (*!*@*.ISP.DOMÄN.LAND) eller andra liknande bannar.
Det är en bra ide att kontrollera din banlista med jämna mellanrum för underhåll. När du gör det är det möjligt att du hittar två bans som är liknande men inte riktigt samma. Vi använder följande adresser till våra bans i detta exempel.
Nick1!userid1@NyISP.NyDomän.LAND
Nick2!userid2@gammalISP.GammalDomän.LAND
Säg att bannen var satt på nicknamn och userid så de blev:
*!*@NyISP.NyDomän.LAND
*!*@GammalISP.GammalDomain.LAND
Så för att göra saker och ting mer effektiva och den banlista mer hanterbar skulle du kunna banna:
*!*@*ISP.*Domän.LAND
för att inkludera båda två.
Varför ha så få permanenta bans som möjligt? I grund och botten är kortare listor alltid lättare att hantera och återställa om det skulle behövas. Notera också att DALnet bara tillåter max 45 bans i en kanal samtidigt.
En annan sak du skulle kunna göra med liknande bans är att använda en "screw ban". En "screw ban" använder wildcardet "?". "Screw bans" är inte så värst användbara, och de används sällan i praktiken. Du har till exempel två ISP:s med liknande namn:
*!*@Ny1ISP.Domän.LAND
*!*@Ny2ISP.Domän.LAND
För att banna det här skulle du kunna sätta en ban på:
/MODE #channel +b
*!*@Ny?ISP.Domän.LAND
Notera att "?" bara fungerar för ETT tecken, så om det försökte blocka mer än ett tecken var du tvungen att använda ett "*". Andra varianter är möjliga med alla dessa bannar. Wildcarden kan blandas och bytas runt från början av ett ord till mitten eller till slutet. Du kan till och med använda wildcards i landsfältet. Ta följande två adresser:
Nick1!userid1@ISP.DOMÄN.net
Nick2!userid2@ISP.DOMÄN.com
Här kan du sätta en ban som:
/MODE #channel +b
*!*@ISP.Domän.*
för att täcka alla nicknamn-, userid- och landsfält. Som tidigare sagt är den här bannen inte speciellt användbar. Teoretiskt sett skulle det någon gång kunna behövas men jag tvivlar starkt på det. Bans är mångsidiga och bara så bra som du låter dem vara, och de kräver en del erfarenhet att vänja sig vid men efter att ha studerat folks adresser ett tag får du snart en uppfattning om hur du sätter en effektiv ban. Bli inte stressad om du inte vet vad som skulle vara en bra ban för ett specifikt tillfälle, prova bara någonting och se om det fungerar. För en del människor är att sätta bans en mardröm, men så länge du har en generell förståelse bör du kunna se efter en kanal tills en mer erfaren operatör kommer förbi för att hjälpa till. Om du har en vän på IRC kan du alltid fråga efter deras tillåtelse att sätta bans på dem för att experimentera. Om du behöver en checklista som en guide till banning se "En Snabb Banguide", section 7 längre ner i detta dokument.
Det finns andra konfigurationer av bannar jag skulle kunna gå in på, såsom:
/MODE #channel +b
*!*user@*.isp.net
men det finns inget egentligt behov av att gå igenom ALLA med dig. Med mer erfarenhet känner du på dig vilken typ av ban som behövs när behovet uppstår. Att studera andra och fråga dem varför de har satt en ban på ett speciellt sätt kan också leda till mer förståelse för din egen del. Var också noga med hur du använder punkter. Att banna *!*user@*isp.net är väldigt annorlunda jämfört med *!*user@*.isp.net (lägg märke till den extra punkten), så det är bäst att vara väldigt pedantisk när du sätter dina bans, annars kan du få en del oförutsedda resultat.
Ibland kan det hända att du ser användare med en IP-adress, de har alltså nummer istället för ord som adress (hostnamn)! Det är ganska vanligt, så oroa dig inte. Vi behöver bara modifiera vårt tänkande när det kommer till att skapa en effektiv ban för sådana användare. Låt mig bara poängtera att de kanske inte alltid har IP-nummer som adress av olika skäl.
Det bör noteras att för varje hostnamn finns det en IP-adress (som du såg i våra VHost exempel). Om du bannar någon medan de använder sin IP-adress kommer de fortfarande vara förhindrade från att komma tillbaka till kanalen även om deras hostnamn slås upp korrekt - förutsatt att deras IP-adress inte ändrats. För det mesta beror en ej uppslagen IP-adress på fördröjningar mellan deras ISP och IRC-servern de anslöt till när de gick in på DALnet. Det resulterar i att IRC-servern inte får ett svar från DNS-servern i tid så den använder IP-adressen istället.
Se Appendix A för ett exempel på hur ett /WHOIS-svar kan se ut på en användare med IP-adress.
Som du ser är det nu ett set med fyra nummer istället för ett "text-hostnamn". För en del användare är det alltid så, men för andra ändras det. För det mesta är det de sista siffrorna (dock inte alltid, men det är vanligt nog för att det inte ska finnas någon anledning att anta någonting annat). Notera att om de eller du har ett statiskt (oförändrat) hostnamn kommer deras (eller din) IP-adress alltid också vara samma. Så, olikt hur vi gjorde förr när vi använde ett wildcare för att banna första delen av hostnamnet, skulle vi ta bort den sista siffran och sätta ett wildcard där såsom:
/MODE #channel +b *!*user@254.253.252.*
Du kan också sätta en tidsbestämd ban som gör att den kommer att tas bort efter antalet sekunder du bestämt. Till exempel, om jag vill banna nicket Aysmonte i 20 sekunder ifrån #fleetstreet, Då skriver jag:
/ban -u20 #fleetstreet Aysmonte*!*@*
Det finns också ett kommando man kan använda för att både kicka och banna en användera samtidigt istället för att skriva 2 kommandon efter varandra. Som exempel, om jag vill banna och kicka Aysmone, Då skriver jag:
/ban -k #fleetstreet Aysmonte anledning
Detta sätter en ban på hans IP/Adress och kickar Aysmonte från kanalen.
4 · Att ta bort och modifiera banlistor
Att ta bort bans är relativt enkelt jämfört med att sätta en. Först måste du veta vilken banmask du vill ta bort från din kanal. Det kan göras i de flesta applikationer genom att använda kommandot:
/MODE #channel b
I andra klienter, till exempel mIRC, behöver du bara dubbelklicka i textfältet i kanalen för att få en lista på kanalens bans.
När du har listan med bans på din kanal, hitta den banmask du vill ta bort och skriv:
/MODE #channel -b banmask
Notera att om din kanal inte längre finns, i.e. alla användare lämnar kanalen, så kommer din banlista att upphöra att existera och kommer att behövas göras om när du "återskapar" kanalen genom att gå in i den igen. DALnet kommer runt det problemet genom att använda ChanServ's AKICK kommando, men det är bara tillgängligt för registerade kanaler.
Du bör också notera att om du har en bred ban (eg. *!*@*.com.a~u och du vill sätta en mer exakt ban (eg. *!*@cs1p1.ipswitch.gil.com.a~u) på någon (inte för att de skulle kunna vara på kanalen för det första) att ta bort den bredare bannen innan du sätter den mer exakta.
5 · Förenkling av bans
Ibland vill man försöka stänga ute specifika namn som används av spambotar som kommer in med ett namn som har siffror på slutet av nicket. Du vill då sätta en nick ban istället för att behöva lägga till 100 olika bans i din banlista. Låt oss titta på följande exempel:
5 olika användare från olika IPn/adresser kommer in till #fleetstreet med nicken Andrea521, Andrea522, Andrea523, Andrea524 and Andrea525. Istället för att lägga till 5 bans på deras IPn/adresser, så kan man förenkla bannen genom att använda wildcards "*" som vi nämnt tidigare. Så du skriver in följande kommando:
/mode #fleetstreet +b Andrea???!*@*
som då skall hålla dem alla utanför. Problemet då, om de använder mer eller mindre än 3 bokstäver/siffror efter nicket så är denna ban verkningslös. Så därför måste man då sätta en bredare ban för att hålla dem helt utanför. Så istället använder man följande ban mask:
/mode #fleetstreet +b Andrea*!*@*
som då kommer hålla alla med nicket Andrea oavsett antalet siffror eller bokstäver bakom nicket utanför kanalen. Men, om du nu har en vän som kan ha blivit lidande av bannen, till exempel Andrea_Simon, så kan du använda en exkluderings mask. Gå till section 8 för lära dig mer om hur man hanterar exkluderingar.
6 · Andra relaterade DALnet Services.
DALnet använder ChanServ för att ta hand om registerade kanaler. Det inkluderar en slags banlista. När du lägger in en hostmask som AKICK kontrollerar ChanServ användarna när de kommer in i din registerade kanal. När en användare kommer in i din kanal, och matchar adressen i ChanServ's AKICKlista, blir han/hon utsparkade ur kanalen av ChanServ som också placerar en ban på den hostmasken för att stoppa dem från att komma tillbaka.
För att lägga till en AKICK till en kanal måste kanalen först och främst vara registerad. Du måste också vara SOP (eller ägare) för att placera bannen. En SOP är en kanals SuperOp. För mer information, skriv: /ChanServ help SOP.
Obs: En del klienter tillåter inte att du använder kommandot /ChanServ. Om du har en sådan klient, prova att skriva /msg ChanServ@services.dal.net istället
Kommandot för att lägga till en AKICK är:
/ChanServ AKICK #channel ADD
nicknamn eller hostmask
Mer information om detta kommando kan hittas på http://www.dal.net/services eller från ChanServ's hjälpsystem:
/ChanServ Help AKICK
AKICK:ar blir kvar tills de blir borttagna, så det är viktigt att underhålla AKICK-listan och att ta bort gamla inlägg.
7 · En snabb Banguide
-
Bestäm om bannen är temporär eller permanent
-
Hämta användarens information genom att använda /WHOIS eller /WHOWAS kommandona
-
Om bannen är temporär, sätt en specifik ban som nicknamn!*@* eller *!userid@*
-
Om bannen ska vara permanent, sätt en mer allmän AKICK som *!*@*.host
-
Se över din ban för att säkerställa att den är effektiv och att den inte stoppar för många användare från att komma in i din kanal
-
Om det är en temporär ban, kom ihåg att ta bort den efter den i förhand fastställda tiden, till exempel tio minuter.
8 · Exkluderings inställning (+e)
Inställningen +e eller ekluderings inställning introducerades när Bahamut 1.8 släpptes. Själva syftet med denna inställning är att kunna tillåta någon som inte kan joina ett rum på grund av någon annans ban. Till exempel, om jag sätter en ban med masken *!*@219.94.* i kanalen #fleetstreet men jag ändå skulle vilja tillåta din vän Ting inne i kanalen vars hostmask är Ting!kluv@219.94.25.63, då lägger man till en exkludering genom att skriva:
/mode #channelname +e Ting!*@219.94.*
som kommer tillåta Ting att få komma in i kanalen. Exkluderings inställningen är också bra när man till exempel vill banna en specifik address/domän/ISP men vill tillåta specifika personer att fortfarande kunna komma in i kanalen. För mer information om exkluderings inställningar så kan du läsa detta dokument med inställningar här http://docs.dal.net/docs/modes.html#2.3.
Please direct any comments or feedback about this document (only! no help requests!) to docs@dal.net. If you need help on issues not covered in this document, please see the information at http://help.dal.net.