Unreal İRCD Hazır Kodlar
**UnrealIRCd**, popüler bir IRC sunucu yazılımıdır ve güçlü özellikleri ile tanınır. UnrealIRCd'yi kullanarak bir IRC ağı oluşturabilir, özelleştirebilir ve yönetebilirsiniz. Bu yazılımın birçok özelleştirilebilir komutu ve özellikleri vardır. Aşağıda, **UnrealIRCd** sunucusunu kurarken kullanabileceğiniz bazı **hazır kodlar** ve yapılandırma örnekleri bulabilirsiniz. Bu kodlar genellikle **UnrealIRCd** yapılandırma dosyasında (`unrealircd.conf`) kullanılır.
### 1. **Genel Yapılandırma (Global Configuration)**
UnrealIRCd yapılandırma dosyasının başlangıcında sunucunuzun temel ayarlarını yapabilirsiniz.
```shell
// Genel sunucu ayarları
set {
servername "irc.example.com"; // Sunucunun adı
admin-server "admin@example.com"; // Sunucu yöneticisinin e-posta adresi
motd-file "modes.txt"; // Sunucuya bağlanan kullanıcılara gösterilecek MOTD dosyası
maxclients 5000; // Maksimum bağlantı sayısı
};
```
---
### 2. **Kanal Ayarları (Channel Settings)**
Kanal bazında bazı ayarları yapılandırabilirsiniz. Örneğin, kanal başlıkları ve moderasyon özellikleri.
```shell
// Kanal ayarları
channel {
name "#chatroom"; // Kanal adı
topic "Hoş geldiniz, #chatroom'a hoş geldiniz!"; // Kanal konusu
modes "+nt"; // Kanalın izin verdiği modlar: n = dışarıdan mesaj almaz, t = kanal konusu yalnızca yöneticiler tarafından değiştirilebilir
banmask "*!*@*"; // Kanalda yasaklanan kullanıcı maskesi
quiettime 10; // 10 dakikalık bir süre içinde konuşmayan kullanıcılar susturulabilir
};
```
---
### 3. **Kullanıcı Yetkileri ve İzinler (User Privileges)**
Kullanıcıların sahip olduğu izinleri ve rollerini yönetebilirsiniz.
```shell
// Kullanıcı yetkileri
user {
username *; // Herhangi bir kullanıcı adı
host *@*; // Herhangi bir ev sahibi
class clients; // Kullanıcı, 'clients' sınıfında yer alır
maxchannels 10; // Kullanıcının aynı anda katılabileceği maksimum kanal sayısı
maxmessages 5; // Bir kullanıcı tarafından gönderilebilecek maksimum mesaj sayısı
};
// Operatör yetkileri
oper myoper {
username "admin"; // Operatör adı
password "secretpassword"; // Operatör parolası
flags = netadmin, server; // Operatörün sahip olduğu bayraklar
};
```
---
### 4. **Kanal Yasakları (Ban List)**
Kanal yasaklarını yapılandırmak, kanal moderatörlerinin kanal güvenliğini sağlamasına yardımcı olur.
```shell
// Kanal yasakları
ban {
channel "#chatroom"; // Yasaklama yapılacak kanal
mask "*!*@spammer.com"; // Yasaklı kullanıcı maskesi
reason "Spam yapıyor."; // Yasaklama nedeni
};
// Yasaklama sonrası mesaj
on *:BANNED:#chatroom:{
msg $chan "Yasaklı kullanıcı: $nick. Spam yaptığı için yasaklanmıştır.";
};
```
---
### 5. **Motd (Message of the Day)**
Sunucuya bağlanan her kullanıcıya gösterilecek **MOTD** (Günlük Mesajı) ayarları.
```shell
// MOTD ayarları
motd {
text "Hoş geldiniz IRC sunucumuza!";
text "Lütfen kurallara uyarak sohbet edin.";
text "Spamming ve kötü dil yasaktır!";
};
```
---
### 6. **Kullanıcıdan Uyarı Gönderme (Warn)**
IRC operatörlerinin kullanıcılara uyarı mesajları göndermesine olanak tanır.
```shell
// Kullanıcıyı uyarma
on *:JOIN:#chatroom:{
if ($nick == baduser) {
warn $nick "Spam yapma!";
}
};
```
---
### 7. **Kanal Modları (Channel Modes)**
Kanalın modlarını yönetmek için UnrealIRCd'de kanal bazında ayarlar yapabilirsiniz. Örneğin, `+k` anahtarı ile bir şifreli kanal oluşturabilirsiniz.
```shell
// Kanal modları
channel {
name "#securechat";
modes "+k"; // Kanalı şifreli yapar
key "secretpassword"; // Kanal şifresi
};
```
---
### 8. **Kullanıcı Bağlantı Limitleri (User Limits)**
Bir kullanıcının bağlanabileceği kanal sayısını sınırlamak için aşağıdaki gibi bir yapılandırma yapılabilir.
```shell
// Kullanıcı bağlantı limitleri
class clients {
maxclients 500; // Sınıf başına maksimum bağlantı sayısı
maxchans 5; // Kullanıcı başına aynı anda katılabileceği kanal sayısı
};
```
---
### 9. **Kullanıcı Modları (User Modes)**
UnrealIRCd, kullanıcılara özel modlar ayarlamaya olanak tanır. Örneğin, **+i** (gizli) veya **+s** (sessiz) gibi.
```shell
// Kullanıcı modları
user {
username *;
modes "+i"; // Kullanıcıyı gizli yapar
};
```
---
### 10. **Çoklu Sunucu Konfigürasyonu (Multi-Server)**
Birden fazla sunucuya bağlanarak bir IRC ağı kurabilirsiniz. Sunucular arasında bağlantı kurmak için kullanılır.
```shell
// Sunucu bağlantıları
link irc2.example.com {
username *;
host irc2.example.com;
port 6667;
password "linkpassword"; // Sunucular arasında bağlantı için parola
class servers;
};
```
---
### 11. **Autokill (Kötü Trafik Engelleme)**
Otomatik olarak kullanıcıları engellemek için kullanılan bir kod.
```shell
// Kötü trafik engelleme
on *:CONNECT: {
if ($hostmask == *!*@spam.com) {
kill $nick "Spam yapıyor, bağlantı kesildi.";
}
};
```
---
### 12. **Kanal Güvenliği (Security)**
Kanal güvenliğini artırmak için çeşitli modlar ve kurallar uygulanabilir.
```shell
// Kanal güvenliği
channel {
name "#securechannel";
modes "+t"; // Kanalda yalnızca yöneticiler konu değiştirebilir
key "securepass"; // Kanal şifresi
limit 50; // Maksimum kullanıcı sayısı
};
```
---
### Özet:
Yukarıda verdiğimiz örnekler, UnrealIRCd yapılandırma dosyasına ekleyebileceğiniz temel kodlardır. Bu kodlar, IRC sunucunuzun işlevselliğini ve güvenliğini artırmak için kullanılabilir. **UnrealIRCd** yapılandırma dosyasını özelleştirerek, IRC ağınızı kendi ihtiyaçlarınıza göre düzenleyebilirsiniz. Yapılandırma dosyasına eklediğiniz kodları doğru şekilde test ettiğinizden ve yapılandırma değişikliklerinizi kaydettiğinizden emin olun.
|