Unturned sunucu kurulumu, SteamCMD ile dedicated server dosyalarını indirmek, bir sunucu örneği oluşturmak, Commands.dat dosyasına ayarları yazmak ve 27015 ile onu izleyen iki UDP portunu açmakla tamamlanır. Unturned’ün kendi sunucu yazılımı ücretsizdir ve hem Windows hem Linux için dağıtılır; oyuncularınızın oyunu satın almış olması dışında bir lisans şartı yoktur.
Rehber Ubuntu 24.04 LTS üzerinden ilerliyor. Sebebi basit: Unturned sunucusu Linux’ta daha az kaynak tüketiyor ve systemd ile kalıcı servis hâline getirmesi çok daha kolay. Windows karşılığını sayfanın sonunda kısaca bulacaksınız. Sunucuya SSH ile bağlanmayı bilmiyorsanız önce SSH bağlantı rehberine, yeni bir makineyle başlıyorsanız VDS aldıktan sonraki ilk ayarlara göz atın.
Kurulum Öncesi: Donanım ve Hazırlık#
Unturned’ün ana oyun döngüsü ağırlıklı olarak tek iş parçacığında çalışır. Yani çok çekirdekli ama düşük frekanslı bir işlemci, az çekirdekli yüksek frekanslı bir işlemciden daha kötü sonuç verir — 40 kişilik bir sunucuda takılmanın sebebi neredeyse hiçbir zaman çekirdek sayısı olmaz. Bellek tarafında belirleyici olan ise slot sayısından çok haritanın büyüklüğü ve oyuncuların ürettiği yapı, araç ve sandık yoğunluğudur.
| Sunucu tipi | RAM | İşlemci | Disk |
|---|---|---|---|
| Arkadaş grubu, 8-16 slot, tek harita | 8 GB | AMD Ryzen 9 3900X ve üzeri | 50 GB NVMe |
| Aktif topluluk, 24 slot, birkaç Workshop modu | 10-12 GB | AMD Ryzen 9 7900X | 50-100 GB NVMe |
| Büyük harita + RocketMod eklentileri, 24-48 slot | 16 GB | AMD Ryzen 9 7900X | 100 GB NVMe |
| Aynı makinede birden fazla Unturned sunucusu | 32 GB ve üzeri | AMD Ryzen 9 7950X | 200 GB NVMe |
Disk tarafında NVMe SSD tercih edin. Unturned dünya kaydını düzenli aralıklarla diske yazar; büyük haritalarda bu yazma işlemi yavaş bir diskte tüm oyunculara mikro donma olarak yansır. Oyuncularınız Türkiye’deyse Türkiye lokasyonlu bir yüksek frekanslı Ryzen VDS ping farkını doğrudan hissettirir; sanallaştırma tiplerinin farkını merak ediyorsanız VDS nedir sayfası konuyu özetliyor.
-
SteamCMD — resmî doküman ve indirmeZorunluAç
-
Unturned resmî sitesi (Smartly Dressed Games)Aç
-
PuTTY — SSH bağlantısıİndir
-
WinSCP — dosya aktarımı ve yedek indirmeİndir
-
Notepad++ — Commands.dat ve JSON düzenleme (Windows)İndir
Bağlantılar resmî kaynaklara gider. Unturned sunucu dosyaları yalnızca SteamCMD üzerinden indirilir; üçüncü taraf paketlerden kaçının.
SteamCMD ile Sunucu Dosyalarını Kurma (Ubuntu 24.04)#
Sunucuyu root ile çalıştırmayın. Ayrı bir sistem kullanıcısı açmak, olası bir sorunda zararı tek klasörle sınırlar. SteamCMD 32 bit kütüphanelere ihtiyaç duyduğu için i386 mimarisini de eklememiz gerekiyor.
-
Sistemi hazırlayın ve kullanıcıyı açın#
sudo dpkg --add-architecture i386 sudo apt update && sudo apt upgrade -y sudo apt install -y lib32gcc-s1 ca-certificates curl tar screen sudo adduser --disabled-login --gecos "" unturned sudo mkdir -p /opt/unturned sudo chown -R unturned:unturned /opt/unturned -
SteamCMD’yi indirin#
sudo -u unturned -i mkdir -p ~/steamcmd && cd ~/steamcmd curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf - ./steamcmd.sh +quitİlk çalıştırmada SteamCMD kendini günceller ve birkaç dakika sürebilir.
+quitparametresi güncelleme bitince çıkmasını sağlar. -
Unturned dedicated server dosyalarını çekin#
~/steamcmd/steamcmd.sh \ +force_install_dir /opt/unturned \ +login anonymous \ +app_update 1110390 validate \ +quitBuradaki
1110390, Unturned Dedicated Server uygulamasının Steam kimliğidir. Uygulama kimlikleri nadiren de olsa değişebiliyor; komut “no subscription” benzeri bir hata verirse kimliği resmî Unturned sunucu dokümanından doğrulayın.+login anonymousyeterlidir, Steam hesabı bilgisi girmeniz gerekmez. -
Kurulumu doğrulayın#
ls -1 /opt/unturned ls -1 /opt/unturned/Mapsİlk komutta
ServerHelper.sh,Bundles,ModulesveExtrasgibi girdileri görmelisiniz. İkinci komut ise sunucunuzda hangi haritaların hazır bulunduğunu gösterir; harita adını yazarken tam olarak buradaki yazımı kullanacaksınız.
validate parametresi dosya bütünlüğünü kontrol eder ve bozuk dosyaları yeniden indirir. Kurulumda ve güncellemede kullanmanız iyi olur, ama her başlatmada çalıştırmayın: gereksiz yere disk ve bant genişliği harcar, güncelleme süresini uzatır.Sunucu Örneği Oluşturma ve Commands.dat#
Unturned’de her sunucu bir “örnek” (instance) adı altında yaşar. Bu isim hem klasör adıdır hem de başlatma parametresidir. Sunucuyu ilk kez çalıştırdığınızda dosya yapısı kendiliğinden oluşur:
cd /opt/unturned
./ServerHelper.sh +InternetServer/BatihostTR
Birkaç saniye sonra klasörler yerinde olur; Ctrl+C ile kapatıp yapılandırmaya geçebilirsiniz. Oluşan yapı şöyle görünür:
/opt/unturned
├── ServerHelper.sh # Linux baslatma betigi
├── Bundles/ # oyun icerigi ve Workshop dosyalari
├── Modules/ # RocketMod gibi moduller buraya kurulur
├── Maps/ # sunucuda hazir bulunan haritalar
└── Servers/
└── BatihostTR/ # sunucu ornegi
├── Server/
│ ├── Commands.dat # tum sunucu ayarlari
│ ├── Config.json # ayrintili yapilandirma
│ └── Players/ # oyuncu kayitlari
├── Level/ # dunya kaydi
└── WorkshopDownloadConfig.json
+InternetServer/<ad>, eski kaynaklarda +secureserver/<ad> biçimini görürsünüz. Yerel ağda test yapacaksanız +LanServer/<ad> kullanılır. Sunucu açılmıyorsa ilk kontrol edeceğiniz yer bu parametredir; doğru yazımı resmî sunucu dokümanından teyit edin.Ayarların tamamı tek bir düz metin dosyasında toplanır: Servers/BatihostTR/Server/Commands.dat. Biçimi çok basit — her satır bir komut, komuttan sonra boşluk, sonra değer. Eşittir işareti, tırnak, noktalı virgül yok. Makul bir başlangıç dosyası:
Name Batihost TR | Survival
Owner 76561190000000000
Port 27015
Map PEI
MaxPlayers 24
Mode Normal
PvP
Perspective Both
Cycle 3600
Queue_Size 8
Welcome Sunucumuza hos geldiniz. Kurallar icin /kurallar yazin.
Log Y Y Y Y
En sık kullanılan komutlar ve ne işe yaradıkları:
| Komut | Ne yapar? | Örnek |
|---|---|---|
Name | Sunucu tarayıcısında görünen ad | Name Batihost TR |
Owner | Sunucu sahibinin SteamID64’ü; oyun içinde tam yetki verir | Owner 76561190000000000 |
Admin | Ek yetkili tanımlar, satır satır çoğaltılabilir | Admin 76561190000000001 |
Port | Taban UDP portu; sunucu bunu ve sonraki iki portu kullanır | Port 27015 |
Map | Yüklenecek harita; klasör adıyla birebir aynı yazılır | Map Washington |
MaxPlayers | Eşzamanlı oyuncu (slot) sayısı | MaxPlayers 24 |
Mode | Zorluk: Easy, Normal veya Hard | Mode Normal |
PvP / PvE | Oyuncuların birbirine hasar verip veremeyeceği | PvP |
Perspective | Kamera: First, Third, Both veya Vehicle | Perspective Both |
Cycle | Gün-gece döngüsünün saniye cinsinden uzunluğu | Cycle 3600 |
Password | Sunucuya giriş parolası | Password gizliParola |
Welcome | Girişte oyuncuya gösterilen mesaj | Welcome Hos geldiniz |
Queue_Size | Sunucu doluyken bekleme kuyruğu boyutu | Queue_Size 8 |
Whitelisted | Yalnızca beyaz listedeki oyuncular girebilir | Whitelisted |
Cheats | Yönetici komutlarının kullanımını açar | Cheats |
Bind | Makinede birden çok IP varsa dinlenecek adres | Bind 203.0.113.10 |
Komut listesi sürümlerle birlikte genişliyor; burada yalnızca en çok kullanılanlar var. Tam liste için resmî Unturned sunucu dokümanına bakın. Bilmediğiniz bir satırı rastgele eklemeyin — hatalı komut, sunucunun sessizce varsayılana dönmesine yol açabiliyor.
Harita Seçimi ve Config.json#
Harita, Map satırıyla belirlenir ve yazımı sunucu dosyalarındaki klasör adıyla birebir eşleşmelidir. Boşluk içeren isimlerde de aynı yazımı korursunuz. Hangi haritaların hazır geldiğini görmenin en kesin yolu klasörü listelemektir:
ls -1 /opt/unturned/Maps
| Harita | Boyut | Kimin için uygun? |
|---|---|---|
| PEI | Küçük | Yeni başlayan topluluklar, düşük slotlu sunucular, hızlı karşılaşma |
| Washington | Orta | Klasik survival deneyimi, dengeli kaynak dağılımı |
| Yukon | Orta | Soğuk mekanikleri ve daha zorlu hayatta kalma isteyenler |
| Russia | Büyük | Kalabalık sunucular; daha fazla RAM ve CPU ister |
| Küratörlü haritalar (Hawaii, Germany, Elver vb.) | Değişken | Farklı bir tema arayan topluluklar |
| Workshop haritaları | Değişken | Özel projeler; kimliği indirme listesine eklenmeli |
İkinci yapılandırma dosyası Servers/BatihostTR/Server/Config.json. Bu dosya sunucu tarafından varsayılan değerlerle üretilir ve Browser, Server, Players, Vehicles gibi başlıklar altında onlarca ince ayar taşır. Tamamını elle yazmaya çalışmayın; yalnızca değiştireceğiniz alana dokunun. Küçük bir kesit:
{
"Browser": {
"Icon": "https://siteniz.com/ikon.png"
},
"Server": {
"VAC_Secure": true,
"BattlEye_Secure": true
}
}
Portlar ve Güvenlik Duvarı#
Unturned’ün port mantığı biraz kendine özgü: Port satırında tek bir numara yazarsınız ama sunucu o numarayı ve onu izleyen iki numarayı kullanır. Varsayılan 27015 için tablo şöyle:
| Port | Protokol | Görev | Kapalıysa ne olur? |
|---|---|---|---|
| 27015 (Port) | UDP | Oyun trafiği | Oyuncular bağlanamaz |
| 27016 (Port+1) | UDP | Steam sorgusu | Sunucu listede görünmez |
| 27017 (Port+2) | UDP | Steam iletişimi | Bağlantı ve listeleme sorunları |
| 27018 ve sonrası | UDP | Aynı makinedeki ikinci sunucu | Yalnızca çoklu sunucuda gerekir |
sudo ufw allow 27015:27017/udp comment 'Unturned'
sudo ufw reload
sudo ufw status numbered
# Sunucu portlari gercekten dinliyor mu?
sudo ss -lunp | grep -E '2701[5-7]'
Aynı makinede ikinci bir Unturned sunucusu açacaksanız taban portu üçer üçer artırın: 27015, 27018, 27021. İkişer artırırsanız portlar çakışır ve iki sunucudan biri listede kaybolur. Kural yazımının ayrıntıları ve iptables karşılıkları için sunucu güvenlik duvarı yapılandırması sayfasına, portun dışarıdan gerçekten açık olup olmadığını sınamak için port açma ve test etme rehberine bakın. Hayatta kalma sunucuları saldırganların sevdiği hedeflerdir; DDoS korunma yöntemlerini daha kurulum aşamasında planlayın.
Yönetici Yetkisi Verme#
Unturned’de yetki Steam kimliği üzerinden dağıtılır, kullanıcı adı üzerinden değil. İhtiyacınız olan şey 17 haneli SteamID64 değeridir; Steam profil bağlantınızın içinden çıkarabilirsiniz. İki seviye var:
- Owner — sunucu sahibi.
Commands.datiçinde tek satır olarak tanımlanır, oyun içinde en yüksek yetkiye sahiptir ve yetki listesinden atılamaz. - Admin — ek yetkililer. Aynı dosyaya istediğiniz kadar
Adminsatırı ekleyebilirsiniz.
Owner 76561190000000000
Admin 76561190000000001
Admin 76561190000000002
Cheats
Sunucu çalışırken konsoldan da yetki verebilirsiniz; bu yöntem yetkiyi kalıcı olarak kaydeder, yani sunucuyu yeniden başlattığınızda kaybolmaz:
players
admin OyuncuAdi
unadmin OyuncuAdi
kick OyuncuAdi Kural ihlali
ban OyuncuAdi Hile 86400
unban 76561190000000003
save
shutdown
Cheats satırı yönetici komutlarını açar ama aynı zamanda eşya üretme ve ışınlanma gibi komutları da erişilebilir kılar. Yetkiyi dağıtırken cimri olun: sunucu sahipliğini yalnızca kendinizde tutun, moderatörlerinize yetkiyi RocketMod izin gruplarıyla ölçülü verin. Yetkisi geri alınmayan eski bir moderatör, sunucu kaydını bir gecede kullanılamaz hâle getirebilir.Workshop Modları ve İçerik Ekleme#
Unturned’ün Steam Workshop entegrasyonu oldukça rahat çalışıyor: sunucuya eklediğiniz içeriği oyuncular bağlanırken kendiliğinden indiriyor, elle kurulum yapmaları gerekmiyor. Yapmanız gereken tek şey içerik kimliklerini sunucuya bildirmek.
-
Workshop kimliğini bulun#
İçeriğin Steam Workshop sayfasını açın ve adres çubuğundaki
?id=ifadesinden sonraki sayıyı kopyalayın. Bu sayı o içeriğin kimliğidir. -
Kimlikleri indirme listesine ekleyin#
{ "File_IDs": [ 1234567890, 9876543210 ] }Dosya, sunucu örneğinizin klasöründeki
WorkshopDownloadConfig.jsondosyasıdır. Kimlikleri tırnaksız, virgülle ayırarak yazın. -
Sunucuyu yeniden başlatın ve indirmeyi bekleyin#
Sunucu açılışta içerikleri indirir; büyük harita modlarında bu ilk açılış birkaç dakika sürebilir. Günlükte indirme satırlarını göreceksiniz.
-
Harita modu eklediyseniz Map satırını güncelleyin#
Map OzelHaritaAdiHarita adını, indirilen içeriğin klasör adından birebir kopyalayın. Yanlış yazım en sık yapılan hata ve sonucu her seferinde aynı: sunucu varsayılan haritayı yükler.
RocketMod ve Eklenti Kurulumu#
Unturned’ün kendi modül sistemi vardır ve RocketMod da bu sistemin üzerine kurulan bir eklenti çatısıdır. Yıllardır Türk sunucularının çoğu RocketMod üzerinde duruyor; ekonomi, kit, ev sistemi, dükkân, sohbet kanalı gibi neredeyse her ihtiyaç için hazır bir eklentisi var. Bugün proje topluluk tarafından sürdürülüyor, aktif geliştirilen alternatifi ise OpenMod.
Kurulum mantığı şu: modül dosyaları sunucu kökündeki Modules/ klasörüne, eklentiler ise sunucu örneğinin altındaki Rocket/Plugins/ klasörüne gider.
/opt/unturned
├── Modules/
│ └── Rocket.Unturned/ # modul dosyalari ve .module tanimi
└── Servers/
└── BatihostTR/
└── Rocket/
├── Rocket.config.xml # cerceve ayarlari
├── Permissions.config.xml # gruplar ve izinler
├── Libraries/ # eklentilerin bagimliliklari
├── Translations/ # dil dosyalari
└── Plugins/ # .dll eklentileri buraya
Adımlar sırasıyla: modül arşivini Modules/ altına açın, sunucuyu bir kez başlatın (çatı kendi klasörlerini ve yapılandırma dosyalarını üretir), kapatın, eklentilerin .dll dosyalarını Rocket/Plugins/ içine kopyalayın, tekrar başlatın. Her eklenti ilk açılışta kendi ayar dosyasını üretir; ayarları o dosyadan yaparsınız.
İzinler Permissions.config.xml dosyasından yönetilir. Gruplar tanımlar, her gruba komut izinleri verir, oyuncuları Steam kimlikleriyle gruplara atarsınız. Yapı XML olduğu için düzenlerken açılan her etiketi kapattığınızdan emin olun; bozuk XML’de çatı izin dosyasını hiç okumaz ve sunucu izinsiz açılır.
Arka Planda Çalıştırma ve Güncelleme#
SSH oturumunu kapattığınızda sunucunun da kapanmaması için süreci oturumdan bağımsız hâle getirmeniz gerekiyor. İki yol var ve seçim, konsola ne sıklıkla komut yazacağınıza bağlı.
Konsola sık müdahale edecekseniz screen pratiktir; oturuma geri dönüp doğrudan komut yazabilirsiniz:
sudo -u unturned -i
cd /opt/unturned
screen -S unturned ./ServerHelper.sh +InternetServer/BatihostTR
# Ctrl+A ardindan D ile oturumdan ayrilin
screen -r unturned # geri donmek icin
Sunucunun makine yeniden başladığında kendiliğinden ayağa kalkmasını istiyorsanız systemd doğru araçtır. Dosyayı /etc/systemd/system/unturned.service olarak oluşturun:
[Unit]
Description=Unturned Dedicated Server
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=unturned
WorkingDirectory=/opt/unturned
ExecStart=/opt/unturned/ServerHelper.sh +InternetServer/BatihostTR
Restart=on-failure
RestartSec=15
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now unturned
sudo systemctl status unturned
sudo journalctl -u unturned -f
systemd’nin tek dezavantajı, konsola doğrudan komut yazamamanız. Yetkilendirme ve ban işlerini oyun içinden hallediyorsanız sorun olmaz; konsol erişimi şartsa screen ya da tmux ile birlikte kullanabilirsiniz. İkisinin farkı screen ve tmux karşılaştırmasında, temel kabuk komutları da Linux temel komutları sayfasında anlatılıyor.
Güncelleme akışı her seferinde aynı: durdur, çek, başlat.
sudo systemctl stop unturned
sudo -u unturned /home/unturned/steamcmd/steamcmd.sh \
+force_install_dir /opt/unturned \
+login anonymous +app_update 1110390 validate +quit
sudo systemctl start unturned
Yedekleme#
Sunucu dosyalarının tamamını yedeklemenize gerek yok — onları SteamCMD birkaç dakikada yeniden indirir. Gerçekten kaybedilemeyecek olan Servers/ klasörüdür: dünya kaydı, oyuncu verileri, yapılandırma ve RocketMod ayarları hep orada.
#!/bin/bash
set -e
GUN=$(date +%F-%H%M)
HEDEF=/var/yedek/unturned
mkdir -p "$HEDEF"
systemctl stop unturned
tar -czf "$HEDEF/unturned-$GUN.tar.gz" -C /opt/unturned Servers
systemctl start unturned
find "$HEDEF" -name 'unturned-*.tar.gz' -mtime +7 -delete
Betiği /usr/local/bin/unturned-yedek.sh olarak kaydedip chmod +x verin, gece yarısı çalışacak biçimde zamanlayın. Cron sözdizimini bilmiyorsanız cron job rehberi işinizi görür.
Windows’ta Unturned Sunucusu#
Windows tarafında mantık birebir aynı, yalnızca araçlar değişiyor. SteamCMD arşivini C:\steamcmd klasörüne açın, bir kez çalıştırıp kendini güncellemesini bekleyin, sonra sunucu dosyalarını çekin:
New-Item -ItemType Directory -Force C:\steamcmd, C:\unturned
C:\steamcmd\steamcmd.exe +force_install_dir C:\unturned +login anonymous +app_update 1110390 validate +quit
Sunucuyu başlatmak ve güvenlik duvarı kuralını oluşturmak için:
C:\unturned\Unturned.exe -batchmode -nographics +InternetServer/BatihostTR
New-NetFirewallRule -DisplayName "Unturned" -Direction Inbound -Protocol UDP -LocalPort 27015-27017 -Action Allow
Yapılandırma dosyaları yine C:\unturned\Servers\BatihostTR\Server\ altındadır ve içerikleri Linux’takiyle aynıdır. Sunucunun uzak masaüstü oturumunu kapattığınızda da çalışmaya devam etmesi için Unturned.exe dosyasını NSSM gibi bir araçla Windows hizmetine dönüştürün. RDP ile çalışmaya alışkın değilseniz uzak masaüstü bağlantı rehberi temel adımları anlatıyor.
Sık Karşılaşılan Sorunlar#
| Belirti | Muhtemel sebep | Ne yapmalı? |
|---|---|---|
| Sunucu listede hiç görünmüyor | 27016/UDP kapalı ya da LAN modunda açılmış | Port aralığını açın, başlatma parametresini kontrol edin |
| Sunucu açılıp hemen kapanıyor | Uyumsuz modül ya da bozuk Commands.dat satırı | Modülleri geçici olarak kaldırıp tek tek geri ekleyin |
| Harita yüklenmiyor, varsayılan harita açılıyor | Map satırındaki ad klasör adıyla eşleşmiyor | ls /opt/unturned/Maps çıktısındaki yazımı kullanın |
| Oyuncular sürüm uyuşmazlığı alıyor | Oyun güncellendi, sunucu güncellenmedi | app_update … validate komutunu yeniden çalıştırın |
| Eklentiler çalışmıyor, hata da yok | Bozuk XML yüzünden izin dosyası okunmuyor | Permissions.config.xml dosyasını doğrulayın |
| Oyuncular giriş sırasında donuyor | Workshop içerik listesi çok büyük | Gereksiz modları listeden çıkarın |
Sunucu ayakta, portlar açık ve buna rağmen dışarıdan erişilemiyorsa sorun sağlayıcı tarafındaki ağ filtresinde olabilir. Böyle bir şüpheniz varsa destek talebi açıp portun dışarıdan test edilmesini isteyin. Kaynak kullanımını sürekli izlemek için sunucu izleme rehberindeki araçlardan birini kurmanız da işinizi kolaylaştırır.
Özetle#
Unturned sunucu kurulumu beş adıma iner: SteamCMD ile dedicated server dosyalarını /opt/unturned altına çekin, ServerHelper.sh ile bir sunucu örneği oluşturun, Commands.dat dosyasına Name, Owner, Port, Map ve MaxPlayers satırlarını yazın, 27015-27017 UDP aralığını açın ve sunucuyu systemd servisi olarak arka planda çalıştırın. Workshop içeriğini WorkshopDownloadConfig.json üzerinden ekleyin, eklenti isteyen bir topluluk kuruyorsanız RocketMod veya OpenMod tarafına geçin — ama sürüm uyumunu her güncellemede kontrol edin, sunucuyu en çok yoran birşey varsa o da uyumsuz modüldür. Yedeğinizin merkezine Servers/ klasörünü koyun ve kopyayı servis durmuşken alın. Donanımda 8 GB RAM, yüksek saat hızlı AMD Ryzen 9 ve NVMe SSD alt sınırını koruyun. Benzer kurulum akışını başka bir hayatta kalma oyununda deneyecekseniz Valheim dedicated server kurulumu ve Project Zomboid sunucu kurulumu sayfaları aynı SteamCMD mantığını anlatıyor.