Minecraft için DiscordSRV Tam Kurulumu

Kerem Aydın·8 Temmuz 2026·⏱5 dk

Discord'u bir Minecraft sunucusuna bağlamak için DiscordSRV eklentisini sunucunuza (Spigot/Paper) yükleyin, Discord Geliştirici Portalında bir bot oluşturun, token'ını config.yml dosyasına yapıştırın ve sohbet senkronizasyonu için kanal ID'lerini belirtin. Rollerin bağlantısını kurmak için synchronization.yml dosyasını yapılandırarak oyun içi grupları (rütbeleri) Discord'daki rollerle eşleştirin. Bu, mesajların çift yönlü iletilmesini ve oyuncu yetkilerinin otomatik olarak yönetilmesini sağlar.

Aşağıda, eklentinin tüm işlevlerinin güvenli ve doğru şekilde yapılandırılmasına ilişkin ayrıntılı bir kılavuz yer almaktadır.

İçindekiler

  1. Hazırlık: Bot oluşturma ve kurulum
  2. Sohbet kurulumu: Kanalları bağlama
  3. Rol ve hesap senkronizasyonu
  4. Konsol ve ek işlevler
  5. Sık karşılaşılan hatalar ve çözümleri
  6. SSS

Hazırlık: Bot oluşturma ve kurulum {#hazirlik}

Yapılandırma dosyalarını düzenlemeden önce altyapının hazırlanması gerekir.

1. Eklentinin kurulması

Güncel DiscordSRV sürümünü resmi web sitesinden veya SpigotMC'den indirin ve .jar dosyasını sunucunuzun plugins klasörüne yerleştirin. Yapılandırma dosyalarının oluşturulması için sunucuyu yeniden başlatın.

2. Discord'da uygulama oluşturma

  1. Discord Geliştirici Portalına gidin.
  2. New Application düğmesine tıklayın ve bir ad verin (örneğin, "MyServer Bot").
  3. Bot sekmesine geçin → Add Bot.
  4. Privileged Gateway Intents bölümünde şunları etkinleştirin:
    • Server Members Intent (rol senkronizasyonu için gereklidir).
    • Message Content Intent (sohbetteki mesajları okumak için gereklidir).
  5. Botun Token'ını kopyalayın. Yapılandırma dosyası için buna ihtiyacınız olacak.

Bot token'ınızı asla yayınlamayın veya üçüncü şahıslarla paylaşmayın. Token sızarsa, geliştirici panelindeki Reset Token düğmesine tıklayın.

3. Botu sunucuya ekleme

  1. OAuth2 → URL Generator sekmesinde bot ve applications.commands kapsamlarını seçin.
  2. Bot Permissions bölümünde şunları işaretleyin:
    • Manage Roles (rol atamak için).
    • Send Messages, View Channels, Read Message History.
    • Manage Nicknames (isteğe bağlı, takma adların senkronizasyonu için).
  3. Bağlantıyı oluşturun, bağlantıya gidin ve botu Discord sunucunuza ekleyin.

Sohbet kurulumu: Kanalları bağlama {#sohbet-kurulumu}

Eklentinin ana işlevi, mesajların oyun ve Discord arasında kopyalanmasıdır.

  1. plugins/DiscordSRV/config.yml dosyasını açın.
  2. DiscordBotToken satırını bulun ve hazırlık aşamasında aldığınız token'ı buraya yapıştırın.
  3. Channels bölümünü bulun. Burada kanal eşleşmeleri belirtilir.

Ana sohbet için örnek yapılandırma:

Channels:
  # Format: "oyun_kanali": "Discord_Kanal_ID"
  # 'global' — Minecraft'taki standart sohbettir (genellikle ana sohbet)
  global: "123456789012345678" 

Discord'da Kanal ID'si nasıl öğrenilir? Kullanıcı ayarlarına gidin → Gelişmiş → Geliştirici Modunu etkinleştirin. Ardından Discord'da istediğiniz kanala sağ tıklayın ve «ID'yi Kopyala» seçeneğini belirleyin.

Ek sohbet ayarları

Aynı config.yml dosyasında görüntüleme ince ayarları yapılabilir:

  • DiscordChatChannelTruncateLength: Oyuna gönderilmeden önce Discord mesajının uzunluk sınırı (sohbeti spamlememek için).
  • MinecraftChatToDiscordFormat: Discord'daki mesaj formatı (%displayname%, %message% gibi değişkenleri destekler).
  • DiscordChatChannelToMinecraftFormat: Discord kullanıcılarından gelen mesajların oyundaki formatı.

Değişikliklerden sonra sunucu konsolunda veya oyunda (yönetici yetkileriyle) şu komutu çalıştırın: /discordsrv reload

Rol ve hesap senkronizasyonu {#rol-senkronizasyonu}

Bu işlev, oyunda bağış alındığında veya rütbe yükseltildiğinde Discord'da otomatik olarak rol verilmesini ve tersinin de yapılmasını sağlar.

1. Hesapları bağlama (Linking)

Oyuncunun Minecraft adını Discord hesabıyla ilişkilendirmesi gerekir.

  1. linking.yml dosyasında Enabled: true olduğundan emin olun.
  2. Oyuncu oyunda /discord link komutunu girer, bir kod alır ve bu kodu Discord'da botun özel mesajına girer.
  3. config.yml dosyasındaki RequireLinkedAccountToJoin seçeneği, bağlantılı olmayan oyuncuların sunucuya girişini engelleyebilir (dikkatli kullanın).

2. Rol senkronizasyonu ayarları

synchronization.yml dosyasını açın.

LuckPerms grup eklentisi için örnek ayar (en popüler seçenek):

Groups:
  Enabled: true
  # Eşleştirme: "Discord'daki Rol": "LuckPerms'deki Grup"
  Roles:
    "112233445566778899": "vip"      # Discord Rol ID -> vip grubu
    "998877665544332211": "admin"     # Discord Rol ID -> admin grubu
  
  # Oyuncu oyunda grubunu kaybederse roller silinsin mi?
  RemoveRolesOnUnlink: true

Farklı yetki eklentileri (PermissionsEx, GroupManager) kullanıyorsanız mantık benzerdir, ancak anahtar adları eklenti sürümüne bağlı olarak farklılık gösterebilir. Her zaman synchronization.yml içindeki yorumları kontrol edin.

Senkronizasyon yalnızca doğru yapılandırıldığında çift yönlü çalışır. Varsayılan olarak çoğunlukla Minecraft'taki Değişiklik → Discord'da Güncelleme şeması kullanılır. Ters senkronizasyon (Discord rolü karşılığında oyunda yetki verme) daha karmaşık bir kurulum gerektirir ve güvenli olmayabilir.

Konsol ve ek işlevler {#konsol-ve-islevler}

DiscordSRV, sunucu konsolunu Discord'a aktarabilir; bu, yöneticiler için kullanışlıdır.

  1. config.yml dosyasında Console bölümünü bulun.
  2. Enabled: true olarak ayarlayın.
  3. Günlüğün düşeceği metin kanalının ID'si olan ChannelId değerini belirtin.
  4. Gereksiz satırları (örneğin, sık koordinat güncellemeleri veya hata ayıklama bilgileri) gizlemek için Filters ayarlarını yapılandırın.

Ayrıca Notifications bölümündeki seçenekler de faydalıdır:

  • PlayerJoinLeaveMessages: Oyuncuların giriş/çıkış bildirimlerini gönderir.
  • DeathMessages: Oyuncu ölüm mesajlarını gönderir.

Sık karşılaşılan hatalar ve çözümleri {#hatalar}

SorunNedenÇözüm
Bot çevrimdışı veya yanıt vermiyorYanlış token veya Intents devre dışıconfig.yml dosyasındaki token'ı kontrol edin. Geliştirici Portalında Server Members Intent ve Message Content Intent seçeneklerinin etkin olduğundan emin olun.
Mesajlar Discord'a gelmiyorYanlış kanal ID'si veya eksik izinlerconfig.yml dosyasındaki kanal ID'sini kontrol edin. Botun bu kanalda Send Messages iznine sahip olduğundan emin olun.
Roller atanmıyorsynchronization.yml hatası veya yanlış rol ID'siRol ID'sinin doğru kopyalandığını kontrol edin. Discord rol listesinde botun rolünün, atamaya çalıştığı rolden daha yüksek konumda olduğundan emin olun.
Mesajların yinelenmesiBirden fazla sohbet eklentisi yüklüDiscord ile bağlantı kuran diğer eklentileri kaldırın (örneğin, OldDiscordSRV veya çakışan köprüler).
Sohbetteki renkler kod olarak görünüyorYanlış formatconfig.yml dosyasında MinecraftChatToDiscordFormat ayarını yaparak Minecraft renk kodları yerine Markdown veya emoji desteğini kullanın.

SSS {#sss}

Bota Manage Roles izni vermek güvenli mi? Evet, bot size aitse güvenlidir. Ancak, Discord rol hiyerarşisinde botun rolünün, ataması gereken rollerden daha yüksek, ancak sunucu sahibi/ana yöneticilerin rolünden daha düşük konumda olduğundan emin olun.

Farklı dünyalar veya sohbetler (yerel/global) için farklı kanallar yapılabilir mi? Evet. config.yml dosyasının Channels bölümünde birden fazla çift belirtilebilir. Örneğin:

Channels:
  global: "111111111111111111"
  local_nether: "222222222222222222"
  staff_chat: "333333333333333333"

Yerel sohbetlerin çalışması için Minecraft'taki sohbet eklentinizin, DiscordSRV'nin anlayabileceği kanal ayrımını desteklediğinden emin olun.

Neden Discord'dan gelen mesajlar oyunda isim olmadan geliyor? config.yml dosyasındaki DiscordChatChannelToMinecraftFormat ayarını kontrol edin. Varsayılan olarak sadece %message% olabilir. Yazarı görmek için bunu %username%: %message% olarak değiştirin.

Eklenti Fabric/Forge'u destekliyor mu? DiscordSRV başlangıçta Spigot/Paper/Bukkit için tasarlanmıştır. Fabric için portlar mevcuttur (örneğin, DiscordSRV-Fabric), ancak işlevsellikleri ve kararlılıkları farklılık gösterebilir. En iyi uyumluluk için Paper tabanlı sunucu çekirdeklerinin kullanılması önerilir.