IRC'de nick'ler varsayılan olarak temel ASCII karakterlerle sınırlıdır. Türk kullanıcıların ç, ğ, ı, ö, ş ve ü gibi harfleri nick'lerinde kullanabilmesi için UnrealIRCd 6'da set::allowed-nickchars ayarı kullanılır. Bu rehber; hangi karakter kümelerinin bulunduğunu, Türkçe desteğin nasıl açıldığını, nick ve kanal adı uzunluk ayarlarını ve bu ayarların getirdiği taklit (impersonation) riskini resmî belgelere dayanarak anlatır.

Güncel sürüm durumu

2 Ekim 2026 itibarıyla en son kararlı sürüm, 12 Eylül 2026'da yayımlanan UnrealIRCd 6.2.7'dir. Bu sürüm web sunucusu modülündeki birden fazla sorunu düzeltir ve aynı düzeltmeler için hot-patch de sunulmuştur. Yapılandırma değişikliklerine başlamadan önce sunucunuzun güncel olduğundan emin olun.

Varsayılan olarak hangi karakterlere izin verilir?

Belgelere göre her zaman izin verilen temel karakterler şunlardır:

CODE TERMINAL
a-z A-Z 0-9 [ \ ] ^ _ - { | } `


Ayrıca nick'ler rakamla, eğik çizgiyle veya tire ile başlayamaz. Bu kümenin dışındaki harfler için ek bir karakter kümesi tanımlamanız gerekir.

Karakter kümeleri

UnrealIRCd iki aile sunar: UTF-8 kümeleri ve UTF-8 olmayan (tek baytlı kod sayfası) kümeleri. Türkçe için tanımlayıcılar şunlardır:

KodlamaTürkçe küme adıNot
UTF-8turkish-utf8Günümüz istemcileri için önerilen seçim
Tek baytlıturkishEski kod sayfası kullanan ağlar için


Belgede listelenen diğer UTF-8 kümeleri arasında latin-utf8, german-utf8, french-utf8, spanish-utf8, dutch-utf8, polish-utf8, greek-utf8, hebrew-utf8, russian-utf8, ukrainian-utf8 ve cyrillic-utf8 bulunur. UTF-8 olmayan kümeler arasında ise latin1, latin2, windows-1250, windows-1251, greek, hebrew ve chinese-simp, chinese-trad, chinese-ja, chinese, gbk gibi Çince kümeler yer alır.

Türkçe nick desteğini açma

Ayarın sözdizimi bir liste bloğudur. Türkçe ve İngilizce kullanan bir ağ için tek satır yeterlidir; ASCII temel karakterler zaten her zaman izinlidir:

CODE TERMINAL
set {
    allowed-nickchars { turkish-utf8; };
};


Belgedeki örnek, Batı Avrupa dillerinin harflerini kapsayan latin-utf8 kümesini kullanır:

CODE TERMINAL
set {
    allowed-nickchars { latin-utf8; };
};


Kümeleri birleştirirken dikkat

Birden fazla küme aynı blokta listelenebilir, ancak belgeye göre bazı birleşimler sorun çıkarır ve hata verir. Örneğin latin* ile chinese-* kümelerinin birleşimi sunucu tarafından düzgün işlenemez ve UnrealIRCd bu yapılandırmayı reddeder. Pratik kural: yalnızca gerçekten ihtiyaç duyduğunuz en az sayıda kümeyi tanımlayın.

Bilinen sınırlamalar


  • Büyük/küçük harf eşlemesi yalnızca US-ASCII'ye göre çalışır. Belgede verilen örneğe göre ö ve Ö "aynı" karakter olarak tanınmaz. Bu, ASCII dışı harflerin büyük ve küçük biçimlerinin farklı nick'ler oluşturabileceği anlamına gelir; Türkçe harfler için de durumu test ortamında denemeniz önerilir.
  • Services desteği sınırlıdır. Belgeye göre çoğu Services yazılımı UTF-8 nick'lerin kaydına izin vermez. NickServ kullanan bir ağda Türkçe harfli nick'lerin kaydedilip kaydedilemediğini canlıya almadan önce sınayın.
  • Görsel benzerlik ve taklit riski. Belgeye göre Kiril alfabesini (ör. russian-utf8) açarsanız Kiril A ile Latin A aynı görünür ve bu, başka bir kullanıcıyı taklit etmek için kötüye kullanılabilir. İhtiyacınız olmayan alfabeleri açmayın.



Nick uzunluğu: set::nick-length ve set::min-nick-length

set::nick-length, nick'in azami uzunluğunu belirler. Varsayılan ve üst sınır 30'dur (NICKLEN); bu ayar yalnızca daha kısa bir sınır koymak için kullanılabilir. set::min-nick-length ise asgari uzunluğu belirler; varsayılanı 0'dır (sınır yok) ve nick-length değerinden küçük veya ona eşit olmalıdır. Tek karakterli, akılda kalıcı nick'leri sınırlamak isteyen ağlar için örnek:

CODE TERMINAL
set {
    nick-length 20;
    min-nick-length 3;
};


UTF-8 harfler birden fazla bayt kapladığı için sınırın Türkçe harfli nick'lerde nasıl uygulandığını test ortamında doğrulayın.

Kanal adları: set::allowed-channelchars

Kanal adlarında hangi karakterlerin kabul edileceğini bu ayar belirler. Üç değer vardır:

DeğerAnlamı
utf8Geçerli tüm UTF-8 karakterler; varsayılan değer
asciiYalnızca a-z, A-Z, 0-9 ve birkaç ASCII karakter; 127 üzeri değerler hariç
anyEn gevşek seçenek; neredeyse tüm karakterlere izin verir


Hangi değer seçilirse seçilsin 32'nin altındaki kontrol karakterleri, boşluk, virgül ve iki nokta her zaman reddedilir. Varsayılan utf8 değeri #çaylak gibi Türkçe kanal adlarına zaten izin verir. Taklit riskini azaltmak için kanal adlarını ASCII ile sınırlamak isteyen ağlar şu ayarı kullanabilir:

CODE TERMINAL
set {
    allowed-channelchars ascii;
};


İlgili uzunluk ayarları

Aynı set bloğunda mesaj uzunluklarına ilişkin sınırlar da bulunur:

AyarVarsayılanÜst sınır
set::topic-length360360
set::away-length307360
set::quit-length307395
set::kick-length307360


Önerilen uygulama sırası


  1. Ayarı önce test sunucusuna ekleyin ve yapılandırmayı ./unrealircd configtest ile sınayın.
  2. Yalnızca turkish-utf8 gibi ihtiyaç duyulan kümeyi açın; Kiril gibi benzer görünen alfabeleri gerekmedikçe eklemeyin.
  3. Services kullanıyorsanız Türkçe harfli bir nick'i kaydetmeyi deneyin.
  4. Büyük/küçük harfli Türkçe nick çiftleriyle bağlanarak çakışma davranışını gözlemleyin.
  5. Çok sunuculu ağlarda değişikliği canlıya almadan önce tüm sunucularda test edin; belgeler sunucular arası farklı ayarların davranışını açıklamadığı için varsayımda bulunmayın.



Türkçe karakterli nick için çoğu ağda gereken ayar tek satırdır. Asıl iş; büyük/küçük harf eşlemesinin ASCII'ye bağlı olduğunu, Services'in UTF-8 nick kaydında sınırlı olduğunu ve benzer görünen karakterlerin taklit için kullanılabileceğini bilerek ayarı bilinçli açmaktır.

Kaynaklar
TR Siber Ekibi Yazar · TRSiber
← Ana sayfaya dön