DiscordSRV kurulumu, Minecraft sunucunuzdaki sohbeti Discord kanalınıza taşımanın en yaygın yöntemidir. İşin özeti şu: Discord tarafında bir bot uygulaması açıp token alırsınız, DiscordSRV jar dosyasını sunucunuzun plugins klasörüne atarsınız, sonra plugins/DiscordSRV/config.yml dosyasına o token’ı ve bağlamak istediğiniz kanalın kimlik numarasını yazarsınız. Bu üç adım bittiğinde oyunda yazılan her mesaj Discord’a, Discord’a yazılan her mesaj oyuna düşmeye başlar.
Bu iş neden bu kadar popüler? Çünkü oyuncularınızın çoğu her an oyunda değildir ama Discord’a hep bakar. Sunucu sohbetini Discord’a bağladığınızda telefonundan bakan biri de sohbetin içinde kalır; oyuna girme isteği artar. Ayrıca sunucu konsolunu Discord’dan izleyebilir, sunucuya bağlanmadan komut çalıştırabilirsiniz.
Aşağıda bot oluşturmadan hesap eşleştirmeye kadar tüm süreci sırasıyla göreceksiniz. Eklenti yüklemeyi hiç yapmadıysanız önce Minecraft sunucusuna plugin kurulumu sayfasına bakmanız işinizi kolaylaştırır. Discord tarafını henüz hiç kurmadıysanız sunucunuz için Discord sunucusu kurma rehberiyle başlayın.
DiscordSRV Ne Yapar, Ne Yapmaz?#
DiscordSRV, Minecraft sunucusuyla bir Discord botu arasında iki yönlü köprü kuran bir eklentidir. Temel işlevleri şunlardır:
- Sohbet aktarımı: Oyun içi genel sohbet ile seçtiğiniz Discord kanalı arasında mesajlar çift yönlü akar.
- Katılma/ayrılma bildirimleri: Oyuncu girdiğinde ve çıktığında Discord’a otomatik mesaj düşer.
- Konsol aktarımı: Sunucu konsolu ayrı bir Discord kanalına yansıtılır; oradan komut da gönderilebilir.
- Hesap eşleştirme (linking): Oyuncu Minecraft hesabıyla Discord hesabını birbirine bağlar.
- Rol senkronizasyonu: Oyun içi grup ile Discord rolü eşleştirilir; biri değişince diğeri güncellenir.
Yapmadığı şey ise şudur: DiscordSRV bir “Discord botu barındırma” hizmeti değildir. Bot, Minecraft sunucunuzun süreci içinden Discord’a bağlanır. Sunucunuz kapalıysa bot da çevrimdışı olur. Bağımsız çalışan, sunucudan ayrı bir bot istiyorsanız konu Discord bot hosting ve 7/24 çalıştırma tarafına kayar.
26.2 Uyumluluk Durumu: Etiketli Ama Doğrulanmamış#
Burayı atlamayın, çünkü 2026’da eklenti seçerken en kritik konu bu. Minecraft 26.1 ile Mojang obfuscated (karartılmış) sunucu jar’ı yayınlamayı bıraktı. Bu sadece bir sürüm atlaması değil, bir ABI kırılmasıdır: sunucunun iç sınıflarına (NMS — net.minecraft.server) doğrudan dokunan eklentiler yeniden derlenmeden çalışmaz. DiscordSRV oyuncu profillerini (GameProfile) okuduğu için bu gruba girer.
| Bileşen | Sürüm | 26.2 durumu | Not |
|---|---|---|---|
| DiscordSRV | 1.30.5 (24 Nisan 2026) | Etiketli, doğrulanmamış | Modrinth 26.2 diyor, kodda 26.2’ye özel değişiklik yok |
| Minecraft sunucusu | 26.2 “Chaos Cubed” | Güncel kararlı | Protokol 776, 16 Haziran 2026 |
| Java | Java 25 LTS | Zorunlu | 26.1 ve sonrası Java 25 ister |
| 1.21.11 ve öncesi | 1.30.5 | Sorunsuz | Modrinth listesi 1.7.10’a kadar iniyor |
Somut durum şudur: 1.30.5 sürümünün yayın notunda birebir “NMS issue with GameProfiles on MC 26.x” yazıyor ve buna karşılık gelen commit “ResolvableProfile and GameProfile NMS fix for 26.1” başlığını taşıyor. Yani düzeltme 26.1 için yapılmış. 26.2 ise 16 Haziran 2026’da çıktı, depoda o tarihten sonra hiç commit yok. Modrinth etiketi geliştirici tarafından elle eklenmiş bir uyumluluk beyanıdır, otomatik bir test sonucu değildir.
NoSuchMethodError veya NoClassDefFoundError ile patlar. Bu yüzden “eklenti açıldı, demek ki uyumlu” diye düşünmeyin; ilk oyuncu girişini ve ilk sohbet mesajını konsolu açık tutarak test edin.Kurulumdan Önce Gerekenler#
İşe başlamadan üç şeyi hazırlayın: Paper veya Purpur tabanlı çalışan bir sunucu, o sunucunun dosyalarına erişim (panel dosya yöneticisi ya da FTP) ve yönetici olduğunuz bir Discord sunucusu. Discord sunucusunda “Sunucuyu Yönet” yetkiniz yoksa botu davet edemezsiniz.
Bağlantılar resmî kaynaklara gider. Üçüncü taraf “plugin indir” sitelerinden jar indirmeyin; token içeren bir config dosyasıyla çalışacağınız için bu özellikle riskli.
İndirilen dosyanın adı DiscordSRV-Build-1.30.5.jar biçimindedir. Dosya adını değiştirmeniz gerekmez.
Adım Adım: Discord Bot Uygulamasını Oluşturma#
-
Developer Portal’da yeni uygulama açın#
discord.com/developers/applications adresine Discord hesabınızla girin ve sağ üstteki New Application düğmesine basın. Uygulamaya sunucunuzun adını verin; bu isim oyuncuların Discord’da göreceği bot adıdır.
-
Installation sekmesini kapatın#
Sol menüden Installation sekmesini açın. User Install seçeneğini kapatın ve Install Link değerini None yapın. Bu bot bir uygulama mağazası botu değil, tek bir sunucuya özel köprüdür; bu iki ayar kapalı olmalı.
-
Ayrıcalıklı intent’leri açın#
Sol menüden Bot sayfasına geçin. Privileged Gateway Intents başlığı altında iki anahtarı açın: SERVER MEMBERS INTENT ve MESSAGE CONTENT INTENT. Bunlar kapalıyken eklenti çalışmaz — kurulumda en sık yapılan hata tam olarak budur.
-
PUBLIC BOT işaretini kaldırın#
Aynı sayfadaki PUBLIC BOT kutusunun işaretini kaldırın. Açık kalırsa botunuzu sizden başkaları da kendi Discord sunucularına davet edebilir.
-
Token’ı alın#
Reset Token düğmesine basın ve çıkan uzun karakter dizisini kopyalayın. Bu değer bir paroladır: onu ele geçiren kişi botunuzun tüm yetkilerini kullanabilir. Token’ı sohbete yapıştırmayın, ekran görüntüsüne dahil etmeyin.
-
Botu Discord sunucunuza davet edin#
General Information sayfasındaki Application ID değerini kopyalayın ve Discord’un OAuth2 davet bağlantısında kullanın. Davet ekranında botun mesaj gönderme ve okuma yetkilerini verin, ardından hedef sunucuyu seçip onaylayın.
Eklentiyi Sunucuya Kurma ve İlk Açılış#
Jar dosyasını sunucunuzun plugins klasörüne yükleyin. Web paneli kullanıyorsanız adımlar web panelden plugin yükleme sayfasındaki gibidir; FTP ile çalışıyorsanız dosyayı doğrudan sürükleyip bırakabilirsiniz.
Ardından sunucuyu yeniden başlatın. Eklentiyi /reload ile yüklemeye çalışmayın; DiscordSRV bir ağ bağlantısı ve arka plan iş parçacıkları açar, sıcak yeniden yükleme bunları bozar.
İlk açılıştan sonra sunucu dosyalarında şu yapı oluşur:
plugins/
DiscordSRV-Build-1.30.5.jar
DiscordSRV/
config.yml <-- token ve kanal ayarları burada
messages.yml <-- Discord’a giden mesaj biçimleri
linking.yml <-- hesap eşleştirme ayarları
synchronization.yml <-- rol / grup senkronizasyonu
Konsolda DiscordSRV’nin token bulamadığına dair bir uyarı görürseniz bu normaldir; henüz token yazmadınız.
Kanal Bağlama: Komut Yoktur, config.yml Vardır#
İnternette dolaşan en yaygın yanlış bilgi budur: DiscordSRV’de kanal bağlama komutu yoktur. Ne /discord setchannel ne benzeri bir şey. Kanal eşleştirmesi tamamen plugins/DiscordSRV/config.yml dosyasındaki Channels haritasıyla yapılır.
Önce kanal kimliğini almanız gerekir. Discord’da Kullanıcı Ayarları > Gelişmiş bölümünden Geliştirici Modu’nu açın. Sonra bağlamak istediğiniz metin kanalına sağ tıklayıp Copy ID (Kimliği Kopyala) seçeneğini kullanın. Elinize 18-19 haneli bir sayı geçer.
# plugins/DiscordSRV/config.yml
BotToken: "BURAYA_TOKEN"
Channels: {"global": "219559668236681216"}
DiscordConsoleChannelId: "219559838890459137"
Buradaki global, oyun içi genel sohbeti temsil eden kanal adıdır. Birden fazla kanal bağlamak isterseniz aynı satıra virgülle ekleyin:
Channels: {"global": "219559668236681216", "admin": "221419146028646401"}
Dosyayı kaydettikten sonra oyun içinde ya da konsoldan şunu çalıştırın:
/discord reload
Konsolu Discord’dan İzleme#
DiscordConsoleChannelId alanına yazdığınız kanal, sunucu konsolunun canlı yansımasıdır. Sunucu ne yazıyorsa o kanala düşer; kanala yazdığınız metin de konsol komutu olarak çalışır. Yani oyuna girmeden, panele bağlanmadan telefonunuzdan whitelist add oyuncu yazabilirsiniz.
Bu güç aynı zamanda risktir. O kanala erişebilen herkes sunucunuzda sınırsız komut çalıştırabilir — op vermek de dahil. Bu yüzden:
- Konsol kanalını yalnızca sunucu sahibinin ve en üst yetkilinin göreceği biçimde ayarlayın.
- Kanal izinlerini rol bazlı verin,
@everyoneiçin okuma iznini kapatın. - Yetkili değişikliğinde kanal erişimini gözden geçirin; yetkili alımı sürecine bunu bir madde olarak ekleyin.
Uzaktan komut çalıştırmanın diğer yolu RCON’dur; ikisini karşılaştırmak isterseniz RCON kurulumu ve güvenli kullanımı sayfası konuyu ayrıntılı ele alıyor.
Hesap Eşleştirme ve Rol Senkronizasyonu#
Hesap eşleştirme (linking), bir Minecraft hesabını bir Discord hesabına bağlar. Oyuncu oyun içinde /discord link yazar, eklenti bir kod üretir, oyuncu bu kodu bota özel mesaj olarak gönderir. Eşleşme tamamlanınca sohbet aktarımında oyuncunun Discord adı görünür ve rol senkronizasyonu çalışabilir hâle gelir.
Rol senkronizasyonu, synchronization.yml dosyasında tanımlanır ve iki yönlü çalışabilir: oyun içinde VIP grubuna aldığınız oyuncuya Discord’da VIP rolü verilir, ya da tersi. Grupları LuckPerms ile yönetiyorsanız kurulum sırası şudur: önce LuckPerms ile yetki sistemi kurulur, gruplar tanımlanır, sonra bu gruplar Discord rolleriyle eşleştirilir. Eşleştirmeyi elle tetiklemek için /discord resync komutunu kullanırsınız.
Komutlar ve İzin Düğümleri#
DiscordSRV’nin plugin.yml dosyasında tanımlı tek bir komutu vardır: discord. Takma adı discordsrv, izin düğümü discordsrv.discord’dur. Diğer her şey bu komutun alt komutudur.
| Komut | Ne yapar | Kim kullanır |
|---|---|---|
/discord link | Minecraft hesabını Discord hesabıyla eşleştirir | Oyuncu |
/discord unlink | Eşleşmeyi kaldırır | Oyuncu |
/discord reload | config.yml’yi yeniden okur | Yetkili |
/discord resync | Grup ve rol senkronizasyonunu yeniden çalıştırır | Yetkili |
/discord debug | Tanılama çıktısı üretir | Yetkili |
/discord broadcast | Discord’a duyuru mesajı gönderir | Yetkili |
İki üst izin düğümü vardır. discordsrv.player varsayılan olarak true’dur; sohbet, yardım, hesap eşleştirme ve takma ad senkronu bunun altındadır. discordsrv.admin varsayılan olarak op’tur; tüm yönetim işlevleri buraya bağlıdır. LuckPerms kullanıyorsanız yetkili grubuna discordsrv.admin düğümünü verin, oyunculara ayrıca bir şey vermeniz gerekmez.
/lp group yetkili permission set discordsrv.admin true
Sık Karşılaşılan Sorunlar#
Bot çevrimdışı görünüyor#
Token yanlış ya da eksik yapıştırılmıştır. config.yml’deki BotToken değerinin tırnak içinde ve tek satırda olduğundan emin olun. Kopyalarken başına veya sonuna boşluk gelmiş olabilir. Token’ı sıfırlayıp yeniden yapıştırmak çoğu durumda çözer.
Discord’dan yazılan mesajlar oyuna düşmüyor#
“MESSAGE CONTENT INTENT” kapalıdır. Developer Portal’daki Bot sayfasından açın ve /discord reload çalıştırın. Bir de kanal ID’sini kontrol edin: sunucu ID’sini kopyalamış olabilirsiniz, gereken metin kanalının ID’sidir.
Eklenti yüklendi ama sohbette hata düşüyor#
Konsolda NoSuchMethodError veya NoClassDefFoundError görüyorsanız NMS uyumsuzluğu var demektir — eklentinizin sürümü sunucu sürümünüzle eşleşmiyor. Bu, 26.x sunucularında beklenmesi gereken bir durumdur. Genel hata çözümleri için “Could Not Load Plugin” hatası sayfası kullanışlıdır; ancak bu hatanın “yüklenemedi” değil “çalışırken patladı” tipinde olduğunu unutmayın.
Aynı mesaj iki kez gidiyor#
Genellikle sohbeti biçimlendiren başka bir eklenti (chat manager) DiscordSRV’nin dinlediği olayı kendi de yayınlıyordur. Sohbet eklentisinin ayarlarından olay önceliğini değiştirin veya DiscordSRV tarafında ilgili dinleyiciyi kapatın.
Sunucu Tarafında Nelere Dikkat Etmeli?#
DiscordSRV ağır bir eklenti değildir; TPS’inizi düşürmez. Ancak sürekli açık bir ağ bağlantısı tutar ve mesaj trafiğini arka planda işler. Bu, kararlı bir internet bağlantısı ve düzgün bir donanım gerektirir — bağlantı koptuğunda bot yeniden bağlanmaya çalışırken konsola uyarı yağar.
| Oyuncu sayısı | Önerilen RAM | İşlemci | Disk |
|---|---|---|---|
| 2 – 10, eklentili Paper | 8 GB | Ryzen 9 7900X | NVMe SSD |
| 10 – 30, DiscordSRV + ekonomi + koruma | 12 GB | Ryzen 9 7900X / 7950X | NVMe SSD |
| 30 – 60, çok dünyalı | 16 GB | Ryzen 9 7950X | NVMe SSD |
Java heap değerlerini pakete göre eşit verin: 8 GB pakette -Xms6G -Xmx6G, 12 GB pakette -Xms10G -Xmx10G, 16 GB pakette -Xms14G -Xmx14G. Batihost’un Minecraft sunucu paketleri Ryzen tabanlı ve NVMe diskli olduğu için eklenti yığını büyüdüğünde de tick süresi bozulmaz. Bu değerlerin gerekçesini RAM ayarları ve JVM flag’leri sayfasında bulabilirsiniz.
Özetle#
DiscordSRV kurulumu, doğru sırayla yapıldığında yarım saatlik bir iştir: Developer Portal’da uygulama açıp iki intent’i açarsınız, token’ı alırsınız, jar’ı plugins klasörüne atıp sunucuyu yeniden başlatırsınız, config.yml içine token ile kanal ID’sini yazıp /discord reload çalıştırırsınız. Aklınızda kalması gereken iki şey var: kanal bağlama komutu yoktur, her şey Channels satırındadır; ve intent’ler kapalıysa hiçbir şey çalışmaz.
Sürüm tarafında ise gerçekçi olun. 1.30.5 Modrinth’te 26.2 etiketli ama depo Nisan 2026’dan beri sessiz. Kurun, çalıştırın, ama ilk gün konsolu izleyin ve yedeğinizi güncel tutun. Bir şey ters giderse destek talebi açarak Batihost ekibinden yardım alabilirsiniz.