15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
09.10.2024

VPS Üzerine TeamSpeak Sunucusu Nasıl Kurulur (Ubuntu/CentOS Kılavuzu)

TeamSpeak, Linux üzerinde bağımsız bir sunucu daemon’ı olarak çalışan, kendi barındırdığınız, düşük gecikmeli bir sesli iletişim platformudur. Bir VPS üzerine kurulması, üçüncü taraf altyapısına veya kullanım sınırlarına bağlı kalmadan kanallar, izinler, codec’ler ve güvenlik politikaları üzerinde tam yönetimsel kontrol sağlar.

Bu kılavuz, Ubuntu üzerinde TeamSpeak 3 Server’ın tam kurulumunu (CentOS/RHEL varyantları için notlar dahil) kapsamakta olup kullanıcı izolasyonu, systemd servis yapılandırması, yönetici parolası güçlendirmesi ve istemci bağlantısını içermektedir. Her komut, temiz bir 22.04 LTS ortamında üretim için hazır ve test edilmiştir.

Neden VPS Üzerinde TeamSpeak Kendi Barındırılır

Discord gibi ticari sesli platformlar, kuruluşların geçersiz kılamayacağı veri saklama politikaları, algoritmik moderasyon ve hız sınırları uygular. Kendi barındırdığınız bir TeamSpeak örneği bu kısıtlamaları tamamen ortadan kaldırır. Şunları kontrol edersiniz:

  • Codec kalitesi (Opus Voice, Opus Music) ve kanal başına bit hızı
  • Ayrıntılı sunucu grubu ve kanal grubu ACL’leri ile izin sistemi
  • Sinyal için TLS ve isteğe bağlı ses şifrelemesi aracılığıyla şifreleme
  • Veri yerleşimi — ses trafiğiniz hiçbir zaman üçüncü taraf bir aktarıcıdan geçmez
  • Çalışma süresi SLA’sı — paylaşımlı bir bulut hizmetine değil, doğrudan VPS sağlayıcınıza bağlıdır

Oyun klanları, e-spor organizasyonları, uzak geliştirme ekipleri ve kurumsal iletişim için bu, ölçülebilir güvenilirlik ve uyumluluk avantajlarına dönüşür.

Minimum Sistem Gereksinimleri

TeamSpeak 3 Server son derece hafiftir. Aşağıdaki özellikler, ses kalitesi bozulmadan yaklaşık 50–100 eş zamanlı kullanıcıyı destekler:

KaynakMinimumÖnerilen (100+ kullanıcı)
CPU Çekirdekleri1 vCPU2 vCPU
RAM512 MB1 GB
Disk Alanı1 GB5 GB (günlükler + DB)
10 Mbps100 Mbps
İşletim SistemiUbuntu 20.04+ / CentOS 7+Ubuntu 22.04 LTS
Mimarix86_64 (amd64)x86_64 (amd64)

1 vCPU ve 512 MB RAM’e sahip bir VPS Hosting planı küçük bir topluluk için yeterlidir. Eş zamanlı kullanıcı sayınız arttıkça dikey olarak ölçeklendirin.

Güvenlik duvarınızda açılacak önemli portlar:

  • `9987/UDP` — ses verisi (varsayılan)
  • `10011/TCP` — ServerQuery (ham veya SSH)
  • `30033/TCP` — dosya transferi

Adım 1: Sunucuyu Hazırlayın

VPS’inize root olarak bağlanın:

“`bash

ssh root@your_server_ip -p your_ssh_port

“`

Yeni yazılım eklemeden önce bilinen güvenlik açıklarını gidermek için tüm sistem paketlerini güncelleyin:

“`bash

sudo apt update && sudo apt upgrade -y

“`

TeamSpeak arşivini çıkarmak için gerekli olan `bzip2`’i yükleyin:

“`bash

sudo apt install bzip2 -y

“`

CentOS/AlmaLinux/Rocky Linux’ta yukarıdakini şununla değiştirin:

“`bash

sudo dnf update -y && sudo dnf install bzip2 wget -y

“`

Adım 2: Özel Bir Sistem Kullanıcısı Oluşturun

TeamSpeak’i root olarak çalıştırmak kritik bir güvenlik hatasıdır. Süreç istismar edilirse, bir saldırgan tüm ana makineye anında root erişimi kazanır. Her zaman ayrıcalıksız bir kullanıcı altında izole edin:

“`bash

sudo adduser teamspeak

“`

Parola belirlemek için istemleri takip edin. Bu kullanıcı tüm TeamSpeak ikili dosyalarına, yapılandırma dosyalarına ve SQLite veritabanına sahip olacaktır.

> Güvenlik notu: Güçlendirilmiş ortamlar için, tüm işlemler için `–disabled-login` ile kullanıcı oluşturmayı ve `sudo -u teamspeak` kullanmayı düşünün; bu, etkileşimli kabuk erişimini tamamen engeller.

Adım 3: TeamSpeak Sunucu İkili Dosyasını İndirin ve Çıkarın

`teamspeak` kullanıcı bağlamına geçin:

“`bash

sudo su – teamspeak

“`

64-bit Linux için en son kararlı TeamSpeak 3 Server sürümünü indirin. Bu komutu çalıştırmadan önce resmi TeamSpeak indirme sayfasında her zaman güncel sürüm numarasını doğrulayın; sürüm dizesi her sürümde değişir:

“`bash

wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2 -O teamspeak-server.tar.bz2

“`

Arşivi çıkarın ve tüm dosyaların doğrudan mevcut çalışma dizinine (`/home/teamspeak/`) yerleşmesi için üst düzey dizini kaldırın:

“`bash

tar xvfj teamspeak-server.tar.bz2 –strip-components 1

“`

Gerekli işaretleyici dosyayı oluşturarak TeamSpeak lisans sözleşmesini kabul edin. Sunucu daemon’ı bu dosya olmadan başlamayı reddedecektir:

“`bash

touch ~/.ts3server_license_accepted

“`

Root kullanıcısına geri dönün:

“`bash

exit

“`

Adım 4: Bir systemd Servis Birimi Oluşturun

TeamSpeak’i systemd aracılığıyla yönetmek, sürecin yeniden başlatma veya çökmeden sonra otomatik olarak yeniden başlamasını sağlar, merkezi günlük kaydı için `journald` ile entegre olur ve önyükleme sırasında uygun bağımlılık sıralamasına uyar.

Yeni bir servis birimi dosyası açın:

“`bash

nano /etc/systemd/system/teamspeak.service

“`

Aşağıdaki tam birim yapılandırmasını yapıştırın:

“`ini

[Unit]

Description=TeamSpeak 3 Server

After=network.target

[Service]

WorkingDirectory=/home/teamspeak/

User=teamspeak

Group=teamspeak

Type=forking

ExecStart=/home/teamspeak/ts3server_startscript.sh start inifile=ts3server.ini

ExecStop=/home/teamspeak/ts3server_startscript.sh stop

PIDFile=/home/teamspeak/ts3server.pid

Restart=on-failure

RestartSec=10s

[Install]

WantedBy=multi-user.target

“`

Temel direktifler açıklandı:

  • `After=network.target` — ağ yığını hazır olmadan önce başlatmayı önler, `9987/UDP` üzerinde bağlama hatalarını engeller
  • `Type=forking` — arka planda bir süreç çatallayan TeamSpeak başlatma betiği için doğrudur
  • `Restart=on-failure` — manuel müdahale olmadan beklenmedik çökmelerden otomatik olarak kurtarır
  • `RestartSec=10s` — hızlı çökme döngülerini önlemek için yeniden başlatma girişimlerinden önce kısa bir gecikme ekler

Dosyayı kaydedin (`Ctrl+S`, ardından `Ctrl+X`), ardından yeni birimi kaydetmek için systemd daemon’ını yeniden yükleyin:

“`bash

systemctl daemon-reload

“`

Servisi önyüklemede başlayacak şekilde etkinleştirin ve hemen başlatın:

“`bash

systemctl enable –now teamspeak

“`

Servisin aktif ve çalışır durumda olduğunu doğrulayın:

“`bash

systemctl status teamspeak

“`

Beklenen çıktı, geçerli bir PID ile `Active: active (running)` içerir. Durum `failed` gösteriyorsa, günlükleri hemen inceleyin:

“`bash

journalctl -u teamspeak -n 50 –no-pager

“`

Adım 5: Yönetici Ayrıcalık Anahtarını (Token) Alın

TeamSpeak Server ilk kez başladığında, günlük dosyalarında bir ayrıcalık anahtarı (token) oluşturur. Bu token, bağlanan ilk istemciye tam sunucu yöneticisi hakları verir. Başka biri bağlanmadan önce almanız gerekir.

“`bash

grep -i token /home/teamspeak/logs/*

“`

Çıktı şuna benzer bir satır içerecektir:

“`

token=q1a2b3c4d5e6f7g8h9i0jKLMNOPQRSTUVWXYZ

“`

Bu token’ı kopyalayın. TeamSpeak istemcisi aracılığıyla ilk kez bağlandığınızda, girmeniz istenecektir. Bunu yapmak istemcinizi `Server Admin` sunucu grubuna yükseltir.

> Kritik: Bu token tek kullanımlıktır ve ilk kullanımda tüketilir. Kullanmadan önce kaybederseniz, yeni bir yönetici parolasını manuel olarak ayarlamanız gerekir (bkz. Adım 6). Güvenli bir şekilde saklayın.

Adım 6: ServerAdmin Parolasını Ayarlayın veya Sıfırlayın

`serveradmin` hesabı, ServerQuery erişimi için kullanılır — betikli yönetim, bot entegrasyonu ve YaTQA veya ts3admin gibi uzaktan yönetim araçlarına olanak tanıyan ham TCP veya SSH arayüzü.

Bu parolayı ayarlamak veya sıfırlamak için servisi geçici olarak durdurmanız, sunucu ikili dosyasını doğrudan parola argümanıyla başlatmanız, ardından tekrar durdurmanız ve systemd aracılığıyla yeniden başlatmanız gerekir:

“`bash

systemctl stop teamspeak.service

“`

Teamspeak kullanıcısına geçin ve parolayı ayarlayın:

“`bash

su – teamspeak

./ts3server_startscript.sh start serveradmin_password=YourStrongPassword

“`

Sunucunun tam olarak başlatılmasını bekleyin (çıktıda `TeamSpeak 3 Server started successfully`’i izleyin), ardından durdurun:

“`bash

./ts3server_startscript.sh stop

exit

“`

Yönetilen servisi yeniden başlatın:

“`bash

systemctl start teamspeak.service

“`

Parola gereksinimleri: Büyük/küçük harf, rakam ve semboller içeren en az 16 karakterlik bir parola kullanın. ServerQuery arayüzü TCP port `10011`’de açıktır ve zayıf bir parola bırakılırsa yaygın bir kaba kuvvet hedefidir.

Adım 7: Güvenlik Duvarını Yapılandırın

Sunucunuzda `ufw` aktifse, gerekli portları açın:

“`bash

ufw allow 9987/udp comment "TeamSpeak voice"

ufw allow 10011/tcp comment "TeamSpeak ServerQuery"

ufw allow 30033/tcp comment "TeamSpeak file transfer"

ufw reload

“`

`firewalld` için (CentOS/AlmaLinux):

“`bash

firewall-cmd –permanent –add-port=9987/udp

firewall-cmd –permanent –add-port=10011/tcp

firewall-cmd –permanent –add-port=30033/tcp

firewall-cmd –reload

“`

> Güçlendirme ipucu: Genel ServerQuery erişimine ihtiyacınız yoksa, `10011` portunu yalnızca belirli yönetim IP’leriyle kısıtlayın. Standart ses sunucusu işlemi için bunu herkese açık bırakmak gereksizdir.

Adım 8: TeamSpeak İstemcisinden Bağlanın

  1. Masaüstü işletim sisteminiz için TeamSpeak 3 İstemcisini indirin ve yükleyin (Windows, macOS, Linux).
  2. İstemciyi açın ve Bağlantılar > Bağlan‘a gidin.
  3. VPS IP adresinizi Sunucu Takma Adı veya Adresi olarak girin.
  4. `ts3server.ini`’de değiştirmediyseniz portu `9987` olarak bırakın.
  5. İlk bağlantıda, istemci ayrıcalık anahtarını (token) girmenizi isteyecektir. Adım 5’te alınan token’ı yapıştırın.
  6. İstemciniz artık sunucu yöneticisidir.

İsteğe Bağlı: Otomatik Kurulum Betiğini Kullanın

Hızlı dağıtım için AlexHost, bağımlılık kurulumu, kullanıcı oluşturma, ikili dosya indirme ve servis yapılandırmasını tek bir çalıştırmada gerçekleştiren otomatik bir kurulum betiği sağlar:

“`bash

ssh root@your_server_ip -p your_ssh_port

wget https://bill.alexhost.com/downloads/teamspeak_install.sh

chmod +x teamspeak_install.sh

./teamspeak_install.sh

“`

Sisteminizde ne gibi değişiklikler yaptığını anlamak için çalıştırmadan önce betik içeriğini inceleyin. Otomatik betikler kullanışlıdır ancak üretim altyapısında körü körüne çalıştırılmamalıdır.

TeamSpeak ve Alternatifler: Kendi Barındırılan Sesli Platformlar

ÖzellikTeamSpeak 3MumbleDiscord (bulut)
Kendi barındırmaEvetEvetHayır
RAM kullanımı (boşta)~30 MB~15 MBN/A
GecikmeÇok düşükÇok düşükDüşük–Orta
ŞifrelemeTLS (sinyal)DTLS + SRTPTescilli
İzin sistemiGelişmiş ACLOrtaRol tabanlı
İstemci kullanılabilirliğiWin/Mac/Linux/MobilWin/Mac/LinuxWin/Mac/Linux/Mobil
Lisans (sunucu)32 slota kadar ücretsizAçık kaynakN/A
CodecOpusOpus/CELTOpus
ServerQuery APIEvet (TCP/SSH)HayırYalnızca REST API

TeamSpeak’in ServerQuery API’si, programatik sunucu yönetimine ihtiyaç duyan kuruluşlar için önemli bir farklılaştırıcıdır — otomatik kanal oluşturma, bot entegrasyonu veya CI/CD tetiklemeli izin değişiklikleri.

Yaygın Kurulum Sorunları ve Çözümleri

Sunucu başlatılamıyor — “9987 portuna bağlanılamadı”

Başka bir süreç UDP 9987’yi kullanıyor veya servis ağ hazır olmadan önce başladı. `ss -ulnp | grep 9987` ile kontrol edin ve servis biriminizde `After=network.target` direktifinin mevcut olduğunu doğrulayın.

Lisans dosyası bulunamadı hatası

`.ts3server_license_accepted` dosyası, süreci çalıştıran kullanıcının ana dizininde (`/home/teamspeak/`) mevcut olmalıdır. `ls -la /home/teamspeak/.ts3server_license_accepted` ile doğrulayın.

Günlüklerde token bulunamadı

Günlük dizini varsayılan olarak `/home/teamspeak/logs/`’dir. Arşivi farklı bir yola çıkardıysanız, grep komutunu buna göre ayarlayın. Token’lar yalnızca ilk başlatmadan itibaren günlükte görünür — veritabanı zaten mevcutsa yeni token oluşturulmaz.

ServerQuery bağlantısı reddedildi

`10011/TCP` portunun güvenlik duvarınızda açık olduğunu ve sunucu sürecinin çalıştığını doğrulayın. `telnet 127.0.0.1 10011` ile yerel olarak test edin — başarılı bir bağlantı `TS3` başlığı döndürür.

Çok sayıda kullanıcıyla yüksek CPU kullanımı

TeamSpeak ses karıştırma için tek iş parçacıklıdır. Tek bir sanal sunucu örneğinde ~200 eş zamanlı kullanıcıyı aşarsanız, birden fazla sanal sunucu dağıtmayı veya garantili CPU saat hızı ve gürültülü komşu çakışması olmayan bir Dedicated Servers planına yükseltmeyi düşünün.

TeamSpeak Dağıtımınızı Güvenli Hale Getirme

Yukarıda ele alınan kullanıcı izolasyonu ve güvenlik duvarı kurallarının ötesinde, şu güçlendirme önlemlerini uygulayın:

  • Otomatik tarama maruziyetini azaltmak için `ts3server.ini`’deki varsayılan portları değiştirin. Güvenlik duvarı kurallarını buna göre güncelleyin.
  • Güvenlik duvarı kaynak filtrelemesi kullanarak ServerQuery’yi (`10011/TCP`) yönetim IP’leriyle kısıtlayın.
  • VPS’inizde SSH anahtar kimlik doğrulamasını etkinleştirin ve parola tabanlı root girişini devre dışı bırakın. SSH anahtar yönetimi seçenekleri için VPS kontrol panelinize bakın.
  • Olağandışı bağlantı kalıpları veya tekrarlanan ServerQuery kimlik doğrulama hataları için `journalctl -u teamspeak -f` aracılığıyla günlükleri izleyin.
  • `/home/teamspeak/ts3server.sqlitedb`’nin düzenli yedeklerini alın — bu dosya tüm kanal yapılandırmalarını, sunucu gruplarını, izinleri ve istemci kimliklerini içerir. Kaybetmek, tüm sunucu yapınızı sıfırdan yeniden oluşturmak anlamına gelir.
  • İkili dosyayı güncel tutun. TeamSpeak periyodik olarak güvenlik yamaları yayınlar. Sürüm duyurularına abone olun ve güncellemeler mevcut olduğunda yeni sürüm tarball’ı ile Adım 3–4’ü tekrarlayın.

Aynı VPS üzerinde birden fazla hizmet yönetiyorsanız, birleşik bir arayüzden hizmet yönetimini, izlemeyi ve zamanlanmış görevleri kolaylaştırmak için TeamSpeak örneğinizi bir VPS Control Panels çözümüyle eşleştirmeyi düşünün.

Karar Matrisi: Bu Kurulum Sizin İçin Doğru mu?

SenaryoÖnerilen Eylem
32’nin altında eş zamanlı kullanıcı, oyun topluluğuGiriş seviyesi VPS, TeamSpeak ücretsiz lisansı
32–512 eş zamanlı kullanıcı, organizasyonTeamSpeak lisans yükseltmesi + 2–4 vCPU VPS
Tam donanım izolasyonu gerekli, 500+ kullanıcıDedicated sunucu, birden fazla sanal sunucu örneği
Yönetilen panel + TeamSpeak isteniyorsacPanel veya DirectAdmin ile VPS
Düşük gecikmeli AB/ABD yönlendirmesi gerekliKullanıcılara en yakın VPS veri merkezi konumunu seçin
Eşlik eden web varlığı gerekliAynı VPS’e [Shared Web Hosting](https://alexhost.com/tr/shared-hosting/) veya alt alan adı ekleyin
Sunucu adresi için özel alan adı gerekli[Domain Registration](https://alexhost.com/tr/domains/) + VPS IP’ye işaret eden DNS A kaydı

Teknik Temel Çıkarımlar

  • TeamSpeak’i her zaman özel bir root olmayan kullanıcı altında çalıştırın. Bu, internete açık herhangi bir hizmet için tartışmasızdır.
  • `ts3server_license_accepted` işaretleyici dosyası, daemon başlamadan önce mevcut olmalıdır — yaygın bir ilk önyükleme başarısızlık noktasıdır.
  • systemd biriminde `Type=simple` değil `Type=forking` kullanın. Başlatma betiği bir arka plan süreci çatalar; `simple` systemd’nin PID’yi yanlış izlemesine neden olur.
  • Ayrıcalık anahtarı token’ını ilk başlatmadan hemen sonra günlüklerden alın. İlk kullanımda tüketilir ve manuel parola sıfırlama prosedürü olmadan yeniden oluşturulamaz.
  • `9987/UDP` portu, temel ses işlemi için gereken tek porttur. `10011/TCP` ve `30033/TCP` kullanım durumunuza bağlı olarak isteğe bağlıdır.
  • `ts3server.sqlitedb`’ü bir programa göre yedekleyin. Tüm sunucu yapılandırması bu tek dosyada bulunur.
  • Üretim dağıtımları için ServerQuery’yi localhost veya bir yönetim VLAN’ı ile kısıtlayın — IP izin listesi olmadan asla herkese açık bırakmayın.

Sıkça Sorulan Sorular

Ücretsiz TeamSpeak sunucu lisansında maksimum kullanıcı sayısı nedir?

Ücretsiz kar amacı gütmeyen lisans, aynı anda en fazla 32 slotu destekler. Daha büyük dağıtımlar için TeamSpeak, 64, 128, 256 veya 512 slot için yıllık lisanslar ve uygun kuruluşlar için sınırsız slotlu “Aktivasyon Lisansı” sunar.

TeamSpeak Server’ı 512 MB RAM’li bir VPS’de çalıştırabilir miyim?

Evet. TeamSpeak 3 Server daemon’ı boşta yaklaşık 25–40 MB RAM tüketir ve eş zamanlı kullanıcılarla ölçülü şekilde ölçeklenir. 512 MB VPS, 50 eş zamanlı kullanıcının altındaki topluluklar için işletim sistemi ve sistem süreçleri için rahat bir alan bırakarak yeterlidir.

Yapılandırmamı kaybetmeden TeamSpeak Server’ı nasıl güncellerim?

Servisi `systemctl stop teamspeak` ile durdurun, `teamspeak` kullanıcısı olarak yeni sürüm tarball’ını indirin, aynı dizine `–strip-components 1` ile çıkarın (yalnızca ikili dosyaların üzerine yazın), ardından servisi yeniden başlatın. `ts3server.sqlitedb` veritabanı ve `ts3server.ini` yapılandırma dosyası bu işlemle üzerine yazılmaz.

TeamSpeak sunucum neden genel sunucu listesinde görünmüyor?

Varsayılan olarak, TeamSpeak sunucuları genel sunucu listesine kaydolmaz. Listelemeyi etkinleştirmek için `machine_id=`’i ayarlayın ve `ts3server.ini`’de `serverip`’i yapılandırın, ardından ServerQuery veya istemcinin sunucu yönetim paneli aracılığıyla genel listeleme seçeneğini etkinleştirin. UDP port `9987`’nin internetten erişilebilir olduğundan emin olun.

TeamSpeak trafiği varsayılan olarak şifreli midir?

Sinyal trafiği (bağlantı kurulumu, sohbet, izinler) TLS aracılığıyla şifrelenir. TeamSpeak 3’te UDP üzerinden iletilen ses verisi varsayılan olarak şifrelenmez. Ses şifrelemesi, küçük bir CPU kullanımı artışı karşılığında sunucu ayarları aracılığıyla kanal başına veya sunucu genelinde etkinleştirilebilir. TeamSpeak 5 (şu anda geliştirme aşamasında) varsayılan olarak uçtan uca şifreleme kullanır.

15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın