SinusBot, TeamSpeak 3 ve Discord sunucularında arkadaşlarınızla birlikte müzik dinlemenizi sağlayan bir müzik botudur; web arayüzü üzerinden yönetilir ve kendi script'leriyle genişletilebilir. Kurulumu göründüğünden biraz daha teknik: bot, arka planda gerçek bir TeamSpeak istemcisi çalıştırdığı için sunucunuzda grafik kütüphaneleri ve sanal ekran gerektirir — ve bu yüzden her sanal sunucuda çalışmaz. Bu rehberde gereksinimleri, üç farklı kurulum yolunu, ilk yapılandırmayı ve sık yapılan hataları anlatıyoruz.
SinusBot, ses kanalınıza katılıp müzik çalan bir bottur. Resmî tanımıyla, TeamSpeak 3 ya da Discord üzerinde arkadaşlarınızla birlikte müzik dinlemenizi sağlar. Öne çıkan yanları:
Bilinmesi gereken bir ayrıntı: SinusBot uzun süredir 1.0.0-beta sürüm serisinde ilerliyor. Yaygın olarak kullanılıyor ve geliştirmesi sürüyor, ancak "beta" etiketi hâlâ üzerinde — bunu üretim kararınızda hesaba katın.
Kurulum hatalarının çoğu, gereksinimlerin baştan kontrol edilmemesinden çıkar. Resmî dokümantasyonun belirttiği koşullar:
uname -a ile doğrulayın.Bu son madde önemli: ucuz VPS paketlerinin bir kısmı hâlâ OpenVZ üzerinde çalışır ve SinusBot orada düzgün çalışmaz. Sunucu alırken sanallaştırma tipini sormak, kurulumdan sonra sorun aramaktan çok daha ucuzdur. Sanallaştırma tiplerinin farkını VDS ile VPS arasındaki fark yazımızda ele aldık.
Linux'a yeniyseniz ya da her şeyin sizin için kurulmasını istiyorsanız resmî dokümantasyon installer script kullanmanızı öneriyor. Bağımlılıkları, TeamSpeak istemcisini ve servis tanımını tek seferde halleder.
Neyin nereye kurulduğunu görmek isteyenler için. Aşağıda adımları veriyoruz.
Resmî Docker imajı mevcut. Sistem bağımlılıklarıyla uğraşmak istemiyorsanız en temiz yol budur — özellikle sunucuda başka servisler de çalışıyorsa izolasyon avantajı sağlar.
SinusBot arka planda gerçek bir TeamSpeak istemcisi çalıştırır; bu yüzden sanal ekran ve grafik kütüphaneleri gerekir. Gereken paketler:
x11vnc xvfb libxcursor1 ca-certificates curl bzip2 libnss3 libegl1-mesa x11-xkb-utils libasound2 libpci3 libxslt1.1 libxcomposite1
Ubuntu 18.04 kullanıyorsanız x11vnc ve xvfb için universe deposunu etkinleştirmeniz gerekir.
adduser --disabled-login sinusbot
Botu root olarak çalıştırmayın. Bu, dokümantasyonun açıkça belirttiği bir güvenlik kuralıdır. Web arayüzü internete açık bir servistir; root yetkisiyle çalışan bir web servisi gereksiz risktir.
En güncel sürümü indirip /opt/sinusbot altına çıkarın ve sahipliğini oluşturduğunuz kullanıcıya verin.
Bot, TeamSpeak'e bağlanmak için gerçek istemciyi kullanır. Dokümantasyon 3.5.6 sürümünü öneriyor. İstemci yolu tipik olarak:
/opt/sinusbot/TeamSpeak3-Client-linux_amd64/ts3client_linux_amd64
SinusBot'un TeamSpeak eklentisini istemcinin plugins dizinine kopyalayın. Bu adım atlanırsa bot sunucuya bağlanır ama ses işlevleri çalışmaz — en sık karşılaşılan kurulum hatalarından biridir.
TeamSpeak istemci yolunu, dinlenecek adresi ve gerekli diğer ayarları burada tanımlarsınız.
Bot ilk çalıştırıldığında admin kullanıcısı için bir parola üretir ve konsola yazar. Bu parolayı hemen kaydedin — TeamSpeak sunucusundaki ayrıcalık anahtarı gibi, kaçırırsanız uğraştırır.
Docker tarafında bilmeniz gerekenler:
/opt/sinusbot/scripts ve /opt/sinusbot/data.1.0.0-beta.6-... biçiminde) ve latest ile yalnızca Discord için discord etiketleri bulunur.Volume tanımlamadan kurulum yaparsanız ilk güncellemede çalma listeleriniz, ayarlarınız ve script'leriniz gider. Bu, Docker kurulumlarında en pahalı hatadır.
Kurulum bittiğinde arayüze http://sunucu-ip:8087 adresinden erişirsiniz. Kullanıcı adı admin, parola ilk çalıştırmada üretilen değerdir.
İlk girişte yapılacaklar:
Bot bağlandıktan sonra sunucu tarafında birkaç ayar gerekir:
Sunucu grupları, kanal tipleri ve izin katmanlarının tamamını TeamSpeak 3 sunucusu nasıl yapılandırılır yazımızda ele aldık.
Aynı bot Discord'da da çalışabilir. Discord tarafı için bir bot uygulaması oluşturup token almanız ve bunu SinusBot arayüzüne tanımlamanız gerekir. Yalnızca Discord kullanacaksanız, resmî Docker imajının discord etiketli sürümü daha hafif bir kurulum sunar — TeamSpeak istemcisi ve grafik bağımlılıkları gerekmez.
Bu bölüm çoğu rehberde atlanır ama topluluk yöneticisi olarak bilmeniz gerekir.
SinusBot, yerel ses dosyalarını çalabilir ve harici kaynaklardan akış yapabilir. Ancak telifli müziği bir topluluğa yayınlamak, kişisel dinlemeden farklı bir hukuki zemindir. Kapalı bir arkadaş grubuyla dinlemek ile herkese açık, üye alan ve gelir elde eden bir topluluğa yayın yapmak aynı şey değildir.
Ayrıca üçüncü taraf platformlardan otomatik indirme/akış yapmak, o platformların kullanım şartlarına aykırı olabilir. Pratik yaklaşım:
Bu genel bir bilgilendirmedir, hukuki tavsiye değildir.
SinusBot ağır bir uygulama değildir ama sıfır da değildir: arka planda bir TeamSpeak istemcisi ve sanal ekran çalıştırdığı için boşta bile bellek tutar. Pratik notlar:
SinusBot kurulumunun en sık takıldığı yer sanallaştırma tipidir. Nubitro sunucularında kaynaklar fiziksel bölümlendirme ile tanımlanır ve altyapı KVM tabanlıdır — yani dokümantasyonun kaçınılmasını önerdiği OpenVZ sorunu yaşanmaz.
Sunucular Türkiye / İstanbul lokasyonunda, NVMe M.2 SSD disk ve 1 Gbps sınırsız trafik ile çalışır; altyapı genelinde 200 Tbps üzeri DDoS koruması standarttır. Ses trafiği UDP üzerinden aktığı için bu korumanın UDP'yi kapsaması önemlidir.
Ses sunucusu paketlerini TeamSpeak 3 sunucu kiralama sayfamızdan, botu kendi sunucunuzda çalıştırmak isterseniz Ryzen VDS paketlerinden inceleyebilirsiniz. Tüm hizmetler için nubitro.com ana sayfamızı ziyaret edebilirsiniz.
Hayır. Bot, arka planda kendi süreçlerini ve sanal ekran çalıştırdığı için kök erişimi olan bir sunucu gerekir. Paylaşımlı hosting bunun için uygun değildir; KVM tabanlı bir VDS ya da hazır kurulu bir bot paketi gerekir.
En yaygın sebep, SinusBot eklentisinin TeamSpeak istemcisinin plugins dizinine kopyalanmamış olmasıdır. İkinci sebep, config.ini içindeki TeamSpeak istemci yolunun yanlış olmasıdır. Üçüncüsü, botun sunucu grubunda ses gönderme izninin bulunmamasıdır.
Bot verisi üzerinden parola sıfırlaması yapılabilir. Hazır kurulu bir pakette çalışıyorsanız sağlayıcınızın paneli genellikle sıfırlama seçeneği sunar.
Evet. Dokümantasyon NGINX veya Apache 2 ile ters proxy kurulumunu ayrı bir bölümde anlatıyor. Böylece hem TLS kullanabilir hem 8087 portunu doğrudan internete açmaktan kurtulursunuz. DNS tarafı için DNS kayıtları rehberimize bakabilirsiniz.
Evet, SinusBot her iki platformu da destekler. Yalnızca Discord kullanacaksanız Docker tarafında discord etiketli daha hafif bir imaj mevcut.
Sunucunuzun belleği ve CPU'su belirler. Her örnek kendi TeamSpeak istemcisini çalıştırdığı için bellek tüketimi örnek başına artar. Birkaç örnekten fazlasını planlıyorsanız RAM'i buna göre ölçeklendirin.
plugins dizinine kopyalanmalıdır.scripts ve data dizinlerini volume olarak tanımlayın.