Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * example.conf von Daniel Hawton AKA Osiris (osiris@unrealircd.org).
- * $Id$
- *
- * Arbeitet mit Unreal3.2 und darüber
- *
- * Dies hier ist die neue example.conf. Sie ähnelt irgendwie ein wenig C++ und sie
- * soll sie jedenfalls einmal erläutert werden. Es ist ein wenig schwer, erstmals
- * damit umzugehen, aber mit ein Wenig Übung und sorgfältigem Lesen sollte das zu
- * verstehen sein.
- *
- * Diese Datei ist einfach in das Hauptverzeichnis des UnrealIRCD zu kopieren und in
- * 'unrealircd.conf' umzubenennen.
- *
- * ZU BEACHTEN: Sämtliche Zeilen außer der mit einer '{' zu Beginn werden mit dem Zeichen
- * ';' beendet, auch die Zeile mit '}'. (Beliebter Syntaxfehler!)
- * Kommentar Zeilen werden vom IRCd ignoriert.
- *
- * BITTE LESE die doc/unreal32docs.html! Sie ist auch online erhältlich bei:
- * www.vulnscan.org/UnrealIrcd/unreal32docs.html
- * Diese Datei enthält zahlreiche ergänzende Informationen über jeden Block, Variablen usw.
- * Übersetzung durch stylus740@smart-irc.de (bei irc.smart-irc.net)
- */
- /* Kommentar Typen */
- #Kommentar Typ 1 (Shell Typ)
- // Kommentar Typ 2(C++ Stil)
- /* Kommentar Typ 3 (C Stil) */
- #Solche Zeilen vom Typ 1, 2 oder 3 werden vom ircd ignoriert.
- /*
- * UnrealIRCd arbeitet mit Modulen, die geladen werden, wenn sie benötigt werden.
- * Man benötigt mindestens das commands Modul und ein cloaking Modul.
- */
- /* FÜR *NIX (Unix, Linux, Xenix etc.), sind diese 2 Zeilen auszukommentieren: */
- loadmodule "src/modules/commands.so";
- loadmodule "src/modules/cloak.so";
- /* FÜR Windows sind diese 2 Zeilen auszukommentieren: */
- //loadmodule "modules/commands.dll";
- //loadmodule "modules/cloak.dll";
- /*
- * Man kann über eine 'include' Anweisung auch weitere Konfigurationsdateien einfügen.
- * help.conf enthält sämtliche /helpop Texte. Die badwords.*.conf filtert alle badword
- * Einträge für den Modus +G...
- * Die spamfilter.conf enthält einige wirksame Regeln für aktuelle Trojaner.
- * Falls man diese Dateien mit einfügen möchte:
- */
- include "help.conf";
- include "badwords.channel.conf";
- include "badwords.message.conf";
- include "badwords.quit.conf";
- include "spamfilter.conf";
- /*
- * NEU: me {}
- * ALT: M:Line
- * me {} legt Name, Beschreibung und eindeutige Nummer ('numeric') für diesen Server fest.
- * Syntax ist wie folgt:
- * me {
- * name "server.name";
- * info "Server Beschreibung";
- * numeric (server numeric*);
- * };
- * Falls der Server mit anderen gelinkt wird, darf muss die Nummer bei 'numeric' eindeutig
- * sein, darf also von keinem anderen Server im Netzwerk verwendet werden.
- */
- me
- {
- name "irc.peace-craft.de";
- info "Peace-Craft IRC";
- numeric 1;
- };
- /*
- * NEU: admin {}
- * ALT: A:Line
- * Admin liefert Informationen über den Server Administrator. Man kann
- * so viele Zeilen unter 'admin {' angeben, wie man will.
- * Syntax ist wie folgt:
- * admin {
- * "erste Zeile";
- * "zweite Zeile";
- * [usw]
- * };
- */
- admin {
- "Kimahri";
- "Kimahri";
- "widely@used.name";
- };
- /*
- * NEU: class {}
- * ALT: Y:line (alte Form war verwirrend)
- * Hiermit werden Klassen und ihre Einstellungen festgelegt. Eine Klasse ist eine Gruppen-
- * einstellung für Verbindungen. So kann man beispielsweise Server Verbindungen in einer
- * eigenen Klasse behandeln, statt zusammen mit Clients.
- * Syntax ist wie folgt:
- * class (class name)
- * {
- * pingfreq (wie oft in Sekunden wird ein user/server angepingt);
- * maxclients (wie viele Verbindungen sind in dieser Klasse möglich);
- * sendq (maximale send Queue einer Verbindung);
- * recvq (maximale Empfangs Queue einer Verbindung [Flood Kontrolle!]);
- * };
- */
- class clients
- {
- pingfreq 90;
- maxclients 500;
- sendq 100000;
- recvq 8000;
- };
- class servers
- {
- pingfreq 90;
- maxclients 10; /* Wieviele Servers können gleichzeitig gelinkt sein */
- sendq 1000000;
- connfreq 100; /* Wieviele Sekunden zwischen jedem Verbindungsversuch */
- };
- /*
- * NEU: allow {}
- * ALT: I:Line
- * Hier wird festgelegt, welche Verbindungen erlaubt sind...
- * Grundlegend kann man damit Clienten erlauben, zu verbinden und hat etwas Kontrolle
- * Syntax ist wie folgt:
- * allow {
- * ip (ip Maske für allow);
- * hostname (host Maske);
- * class (Klasse, die zugewiesen wird [siehe class {}]);
- * password "(password)"; (optional)
- * maxperip (wie viele Verbindungen je IP); (optional)
- * };
- */
- allow {
- ip *@*;
- hostname *@*;
- class clients;
- maxperip 5;
- };
- /* Passworded allow line */
- allow {
- ip *@255.255.255.255;
- hostname *@*.passworded.ugly.people;
- class clients;
- password "f00Ness";
- maxperip 1;
- };
- /*
- * NEU: allow channel {}
- * ALT: chrestrict
- * Erlaubt es Usern, einen Channel zu betreten...
- * Ist wie eine Ausnahme von 'deny channel'.
- * Syntax ist wie folgt:
- * allow channel {
- * channel "channel name";
- * };
- */
- allow channel {
- channel "#WarezSucks";
- };
- /*
- * NEU: oper {}
- * ALT: O:Line
- * Legt einen IRC Operator fest
- * IRC Operatoren halten den Server in Ordnung, warten ihn und halten die Verbindung
- * zum Netzwerk.
- * Syntax ist wie folgt:
- * oper (login) {
- * class (Klasse, die zugewiesen wird, falls anders als meine, wird eine neuee Klasse
- * zugewiesen);
- * from {
- * userhost (ident@host);
- * userhost (ident@host);
- * };
- * flags
- * {
- * (Flags hier*);
- * };
- * ODER
- * flags "alte Form von Flags, wie OAaRD";
- * };
- */
- /* Die Liste möglicher Oper Flags kann in doc/unreal32docs.html#operblock nachgelesen werden
- * [WIRKLICH empfehlenswert, zu lesen!]
- */
- oper bobsmith {
- class clients;
- from {
- userhost bob@smithco.com;
- };
- password "f00";
- flags
- {
- netadmin;
- can_zline;
- can_gzline;
- can_gkline;
- global;
- };
- };
- /*
- * NEU: listen {}
- * ALT: P:Line
- * Legt den Port fest, an dem der ircd 'lauscht', um Usern/Servern zu erlauben, eine
- * Verbindung zum Server aufzunehmen.
- * Syntax ist wie folgt:
- * listen (ip number):(port number)
- * {
- * options {
- * (options here);
- * };
- * };
- * oder für ein einfaches listen:
- * listen (ip):(port);
- *
- * ACHTUNG: für ipv6 ips (3ffe:b80:2:51d::2 etc), benutze listen [ip]:port;
- *
- * Das funktioniert ebenfalls.
- */
- /* Options for listen:
- OLD | NEW
- S serversonly
- C clientsonly
- J java
- s ssl
- * standard
- */
- /* ZU BEACHTEN BEI SSL PORTS: SSL Ports sind nicht standardisiert.
- * Es wird oft gesagt, man solle den Port 994 benutzen, weil dies der
- * offizielle SSL Port sei. Aber das erfordert root Rechte! Andererseits
- * ist der Port 194 der offizielle Port und wann hat man je einen Ircd
- * auf diesem Port laufen gesehen?
- * Unsere Empfehlung ist, den Port 6697 für SSL zu benutzen, wie es auch
- * bei vielen anderen Netzwerken gemacht wird und für z.B. StunTour benutzt wird.
- * Man kann so viele SSL Ports öffnen, wie man will, aber wenn man (auch) den Port
- * 6697 benutzt, hilft man mit, die Welt ein klein wenig zu standardisieren ;).
- */
- listen 85.214.84.232:6697
- listen 85.214.84.232:8067;
- listen 85.214.84.232:6667;
- /* ACHTUNG: Wird der IRCd auf einer Shell mit verschiedenen IP's ausgeführt, kann
- * die Fehlermeldung 'Address already in use' ('Adresse wird schon benutzt')
- * in den Logfiles auftauchen und der IRCd startet nicht.
- * Das bedeutet, dass man eine spezifische Adresse anstelle von '*' definieren
- * MUSS, wie z.B.:
- * listen 1.2.3.4:6667;
- * Es sollte klar sein, dass die IP durch die zu ersetzen ist, die einem
- * zugewiesen ist.
- */
- /*
- * NEU: link {}
- * ALT: C/N:Lines
- * Hiermit wird ein okay für eine Server Verbindung festgelegt.
- * ACHTUNG: BEIDE SERVER MÜSSEN EINE LINK {} EINSTELLUNG HABEN, UM KORREKT ZU VERBINDEN!
- * Syntax ist wie folgt:
- * link (server name)
- * {
- * username (username, * funktioniert auch);
- * hostname (ip Nummer/Hostmaske);
- * bind-ip (Welche IP soll zum Verbinden benutzt werden, oder *);
- * port (Port, zu dem verbunden werden soll);
- * hub (Wenn dies ein Hub ist, funktioniert * , oder Servermasken);
- * [oder leaf *;]
- * password-connect "(Passwort zu senden)";
- * password-receive "(Passwort, welches wir emfangen sollten)";
- * class (Klasse, in die Server sollen);
- * options {
- * (options hier*);
- * };
- * // Wird SSL benutzt, kann bestimmt werden, welche Verschlüsselung im SSL
- * // Modus zu benutzen ist
- * // Bei mehreren "openssl ciphers" sind die einzelnen Verschlüsselungen
- * // durch ':' zu trennen
- *
- * ciphers "DES-CBC3-MD5";
- *
- * };
- */
- /*
- options:
- OLD | NEW
- S ssl
- Z zip
- N/A autoconnect
- N/A quarantine
- N/A nodnscache
- */
- link services.peace-craft.de
- {
- username PeaceCraft;
- hostname 127.0.0.1;
- port 6667;
- bind-ip 127.0.0.1;
- password-connect "*ersetzt*";
- password-receive "*ersetzt*";
- class servers;
- };
- /*
- *
- * NEU: ulines {}
- * ALT: U:Line
- * U-lines geben Servern mehr Möglichkeiten/Befehle, sie sollten NUR für Services/Stats
- * gesetzt werden und NIEMALS für normale UnrealIRCd Server!
- * Syntax ist wie folgt:
- * ulines {
- * (server to uline);
- * (server to uline);
- * [etc]
- * };
- */
- ulines {
- services.peace-craft.de;
- };
- /*
- * NEU: drpass {}
- * ALT: X:Line
- * Hiermit werden die Passworte für /die und /restart festgelegt.
- * Syntax ist wie folgt:
- * drpass {
- * restart "(Passwort für Restart)";
- * die "(Passwort für die (die = 'sterben' = Abschaltung))";
- * };
- */
- drpass {
- restart "I-love-to-restart";
- die "die-you-stupid";
- };
- /*
- * NEU: log {} ALT: N/A Festlegung von Namen und Speicherort der Logfiles. Man kann
- * beliebig viele festlegen.
- *
- * FLAGS: errors, kills, tkl, connects, server-connects, oper
- *
- * Syntax:
- * log "log file"
- * {
- * flags
- * {
- * flag;
- * flag;
- * etc..
- * };
- * };
- */
- log "ircd.log" {
- /* Lösche das Logfile und starte ein neues, wenn 2MB erreicht wurden,
- nichts festlegen, wenn man immer das gleiche Log will */
- maxsize 2097152;
- flags {
- oper;
- kline;
- connects;
- server-connects;
- errors;
- sadmin-commands;
- chg-commands;
- oper-override;
- spamfilter;
- };
- };
- /*
- * NEU: alias {}
- * ALT: N/A
- * Hier kann man Befels Aliasse festlegen, wie z.B. /nickserv, /chanserv usw.
- * FLAGS: services, stats, normal
- *
- * Syntax:
- * alias "name" {
- * target "points to";
- * type aliastype;
- * };
- *
- * [ACHTUNG: Mann kann hier auch eine Datei mit vordefinierten Aliassen per include
- * einfügen. Siehe auch: doc/unreal32docs.html Abschnitt 2.9]
- */
- // Hiermit wird der Befehl /nickserv an den User NickServ geleitet, welcher zur Einstellung set::services-server server verbunden ist
- /*alias NickServ {
- target "NickServ";
- type services;
- };*/
- // Soll der Befehl auf denselben Nick wie das der Befehl leiten, kann man den Nick auslassen
- //alias ChanServ { type services; };
- // leitet den /statserv Befehl an den User StatServ aus set::stats-server server
- //alias StatServ { type stats; };
- // leitet den /superbot Befehl an den User SuperBot
- //alias SuperBot { type normal; };
- /* Standard Aliasse */
- alias NickServ { type services; };
- alias ChanServ { type services; };
- alias OperServ { type services; };
- alias HelpServ { type services; };
- alias StatServ { type stats; };
- /*
- * NEU: alias {}
- * ALT: N/A
- * Hier können Befehls Aliase, wie z.B.: /identify, /services, usw festgelegt werden.
- *
- * Syntax:
- * alias "name" {
- * format "format string" {
- * target "zeigt auf";
- * type aliastype;
- * parameters "zu sendende Parameter";
- * };
- * type command;
- * };
- */
- /* Die nachfolgenden Zeilen eigens deshalb, um zu zeigen, dass trotz gleichem Namens die vorherige Anweisung
- * völlig unterschiedlich in der Syntax ist, obwohl eine ähnliche Funktion unterstützt wird.
- */
- /*
- alias "identify" {
- format "^#" {
- target "chanserv";
- type services;
- parameters "IDENTIFY %1-";
- };
- format "^[^#]" {
- target "nickserv";
- type services;
- parameters "IDENTIFY %1-";
- };
- type command;
- };
- */
- /* Die alias::format Anweisung ist ein regulärer Ausdruck. Das erste Format passt auf den /identify Befehl,
- * wenn das erste Zeichen ein # ist. Dann wird dies an den chanserv alias mit dem Parameters IDENTIFY
- * %1- übergeben. Das zweite Format passt auf den /identify Befehl, wenn das erste Zeichen kein # ist. Danach
- * wird der Befehl an den nickserv alias mit den Parameters IDENTIFY %1- geleitet.
- */
- /* Die alias::format::parameters Scripting Sprachen ähnlich. %N (wobei N einen Nummer ist) repräsentiert einen
- * Parameter, der an den Befehl (in diesem Fall /identify) zu senden ist. Wird %N- angegeben, bedeutet dies
- * alle Parameter vom N bis zum letzten Parameter des Strings. Man kann ebenso %n angeben, welches durch den
- * Nicknamen des users ersetzt wird.
- */
- /* Standard Aliasse */
- alias "services" {
- format "^#" {
- target "chanserv";
- type services;
- parameters "%1-";
- };
- format "^[^#]" {
- target "nickserv";
- type services;
- parameters "%1-";
- };
- type command;
- };
- alias "identify" {
- format "^#" {
- target "chanserv";
- type services;
- parameters "IDENTIFY %1-";
- };
- format "^[^#]" {
- target "nickserv";
- type services;
- parameters "IDENTIFY %1-";
- };
- type command;
- };
- /*
- * NEU: tld {}
- * ALT: T:Line
- * Hiermit werden unterschiedliche motd und rules Dateien in Abhängigkeit
- * von der Hostmaske des Clients eingestellt.
- * Syntax ist wie folgt:
- * tld {
- * mask (ident@host);
- * motd "(motd file)";
- * rules "(rules file)";
- * };
- */
- tld {
- mask *@*.fr;
- motd "ircd.motd.fr";
- rules "ircd.rules.fr";
- };
- /* zu beachten: Will man nur die default motd/rules Dateien (ircd.motd, ircd.rules)
- * für jedermann benutzen, genügt es, den obigen Beispiel Block einfach zu löschen.
- */
- /*
- * NEU: ban nick {}
- * ALT: Q:Line
- * Bannt einen Nicknamen, so dass dieser nicht benutzt werden kann.
- * Syntax ist wie folgt:
- * ban nick {
- * mask "(nick to ban)";
- * reason "(reason)";
- * };
- */
- ban nick {
- mask "*C*h*a*n*S*e*r*v*";
- reason "Reserviert für Services";
- };
- /*
- * NEU: ban ip {}
- * ALT: Z:Line
- * Bannt eine IP, so dass diese nicht mehr zum Netzwerk verbinden kann.
- * Syntax:
- * ban ip { mask (ip Nummer/Hostmaske); reason "(Grund)"; };
- */
- ban ip {
- mask 195.86.232.81;
- reason "Server nicht mehr gelinkt";
- };
- /*
- * NEU: ban server {}
- * ALT: Server Q:Line
- * Nimmt einem Server die Möglichkeit, zum Neztwerk zu verbinden.
- * Wenn der Server zu einem anderen Server des Netzwerkes linkt, wird der
- * lokale server die Verbindung zum Netzwerk trennen.
- * Syntax ist wie folgt:
- * ban server {
- * mask "(Server Name)";
- * reason "(angegebener Grund)";
- * };
- */
- ban server {
- mask eris.berkeley.edu;
- reason "Hau ab hier.";
- };
- /*
- * NEU: ban user {}
- * ALT: K:Line
- * Bewirkt, dass ein User mit einer bestimmten Maske nicht mehr zum Server verbinden kann.
- * Syntax:
- * ban user { mask (Hostmaske/ip Nummer); reason "(Grund)"; };
- */
- ban user {
- mask *tirc@*.saturn.bbn.com;
- reason "Idiot";
- };
- /*
- * NEU: ban realname {}
- * ALT: n:Line
- * Verhindert, dass ein bestimmter Realname benutzt werden kann.
- * Syntax:
- * ban realname {
- * mask "(Realname)";
- * reason "(Grund)";
- * };
- */
- ban realname {
- mask "Swat Team";
- reason "mIRKFORCE";
- };
- ban realname {
- mask "sub7server";
- reason "sub7";
- };
- /*
- * Sämtliche Banns dürfen durch zusätzliche Einträge wiederholt werden!
- *
- * NEU: except ban {}
- * ALT: E:Line
- * Diese Maske ist von Banns ausgenommen.
- * Syntax:
- * except ban { mask (ident@host); };
- * except ban {} kann so oft angegeben werden, wie man für verschiedene Hosts will.
- */
- except ban {
- /* don't ban stskeeps */
- mask *stskeeps@212.*;
- };
- /*
- * NEU: deny dcc {}
- * ALT: dccdeny.conf
- * Mit diesem Block können dcc send's geblockt werden... Gut, um Viren aufzuhalten.
- * Syntax:
- * deny dcc
- * {
- * filename "zu sperrende Datei(ie, *exe)";
- * reason "Grund";
- * };
- */
- deny dcc {
- filename "*sub7*";
- reason "Möglicherweise Sub7 Virus";
- };
- /*
- * NEU: deny channel {}
- * ALT: N/A (NEW)
- * Verhindert, dass angegebene Channels benutzt werden können.
- * Syntax:
- * deny channel {
- * channel "(channel)";
- * reason "Grund";
- * };
- */
- deny channel {
- channel "*warez*";
- reason "Warez sind illegal";
- };
- /*
- * NEU: vhost {}
- * ALT: Vhost.conf file
- * Setzt eine Fake IP für Nicht-Opers, oder opers, die zu bequem für /sethost sind.... :P
- * Syntax:
- * vhost {
- * vhost (vhost.com);
- * from {
- * userhost (ident@host um die Nutzung zu gestatten);
- * };
- * login (Loginname);
- * password (Passwort);
- * };
- * um den vhost zu nutzen, mache /vhost (login) (password) im IRC
- */
- vhost {
- vhost i.hate.microsefrs.com;
- from {
- userhost *@*.image.dk;
- };
- login stskeeps;
- password moocowsrulemyworld;
- };
- /* Man kann hier weitere Config Dateien einfügen */
- /* include "klines.conf"; */
- /* Network configuration */
- set {
- network-name "Peace-Craft";
- default-server "peace-craft.de";
- services-server "services.peace-craft.de";
- stats-server "peace-craft.de";
- help-channel "#Peace-Craft";
- hiddenhost-prefix "Pcr";
- /* prefix-quit "no"; */
- /* Cloak keys müssen angegeben sein und sie müssen die selben auf allen Servern
- * im Netzwerk sein. Sie werden zur Generierung der maskierten Hosts verwendet
- * und sie sollten geheim gehalten werden.
- * Die Keys sollten 3 zufällige Strings von 5-100 Zeichen Länge sein (10-20 Zeichen
- * (sind ganz ok) und müssen aus Kleinbuchstaben(a-z), Großbuchstaben (A-Z) und
- * Ziffern (0-9) bestehen [wie im ersten Key Beispiel].
- * TIPP: Auf *NIX, kann man in der Shell './unreal gencloak' aufrufen und durch
- * Unreal 3 Zufalls Stings erzeugen und anzeigen lassen.
- */
- cloak-keys {
- "*entfernt*";
- "*entfernt";
- "*entfernt";
- };
- local "locop.peace-craft.de";
- global "ircop.peace-craft.de";
- coadmin "coadmin.peace-craft.de";
- admin "admin.peace-craft.de";
- servicesadmin "csops.peace-craft.de";
- netadmin "netadmin.peace-craft.de";
- host-on-oper-up "no";
- };
- };
- /* Server spezifische Configuration */
- set {
- kline-address "http://www.peace-craft.de";
- modes-on-connect "+ixw";
- modes-on-oper "+xwgs";
- oper-auto-join "#opers";
- options {
- hide-ulines;
- /* Man kann hier ident checking aktivieren, wenn man will */
- /* identd-check; */
- show-connect-info;
- };
- maxchannelsperuser 10;
- /* Die Mindestzeit, die ein User verbunden sein muss, bevor er eine QUIT Meldung
- * senden darf (Das wird offentlich helfen, Spam zu verhindern) */
- anti-spam-quit-message-time 10s;
- /* Macht die Meldung statisch, die in allen Quit Meldungen angezeigt wird.
- Somit sind keine individuellen Quts auf dem lokalen Server mehr erlaubt */
- /* static-quit "Client quit"; */
- /* Man kann auch sämtliche Part Meldungen blocken, indem man dies auskommentiert */
- /* und 'yes' sagt oder einen anderen Text angibt (z.B. "Bye bye!") */
- /* static-part yes; */
- /* Hiermit kann man bestimmte stats auf ausschliesslich Opers beschränken. Für
- * alle Stats kann man * benutzen. Wenn man es weglässt, können alle User alle
- * Stats abfragen. Eine vollständige Liste erhält man mit dem Befehl '/stats'.
- * Manche Admins entfernen 'kGs' und erlauben so normalen Usern die Anzeige von
- * klines, glines and shuns.
- */
- oper-only-stats "okfGsMRUEelLCXzdD";
- /* Throttling: Dieses Beispiel setzte ein Limit von 3 Verbindungen je 60s (pro Host). */
- throttle {
- connections 3;
- period 60s;
- };
- /* Anti Flood Schutz */
- anti-flood {
- nick-flood 3:60; /* 3 Nickänderungen pro 60 Sekunden (Default) */
- };
- /* Spam Filter */
- spamfilter {
- ban-time 1d; /* Default Dauer eines *line Banns durch Spamfilter */
- ban-reason "Spam/Belästigung"; /* default Grund */
- virus-help-channel "#help"; /* Channel, der für die 'viruschan' action benutzt wird*/
- /* except "#help"; Channel, der von Filtern ausgenommen wird */
- };
- };
- /*
- * Probleme? Weitere Hilfe nötig?
- * 1) www.vulnscan.org/UnrealIrcd/unreal32docs.html
- * 2) www.vulnscan.org/UnrealIrcd/faq/ <- enthält 80% deiner Fragen - Wetten Dass?
- * 3) Hat man dann noch Probleme, kann man den Chat bei irc.unrealircd.org
- * #unreal-support aufsuchen. Achtung, wir setzen voraus, dass zuvor die
- * DOKU GELESEN WURDE (genauso, wie die FAQ!)!
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement