Rust sunucu kurmak ilk bakışta karmaşık görünür: SteamCMD, başlatma parametreleri, UDP ve TCP portları, RCON şifresi, harita boyutu ve seed... Aslında Facepunch'ın kendi wiki sayfası bu adımların hepsini tarif ediyor; asıl mesele hangi ayarın ne işe yaradığını bilmek ve sunucunuzu doğru kategoride listelemek.

Bu rehberde Rust dedicated server kurulumunu Windows ve Linux üzerinde adım adım anlatıyoruz. Parametre açıklamaları, port bilgileri ve sistem gereksinimleri doğrudan Facepunch'ın resmî Rust Wiki'sinden alındı. Yazının sonunda sunucunuzu Community mi yoksa Modded bölümünde mi listelemeniz gerektiğini Facepunch'ın kendi kurallarıyla açıklıyoruz.

Rust sunucusu için gereksinimler

Rust sunucusu için gereksinimler: 12 GB boş RAM, Disk, İşletim sistemi, Oyuncu sayısına bağlı

Facepunch wiki, bir Rust sunucusu için şu değerleri öneriyor. Wiki bu değerlerin sabit olmadığını, sunucunun kullanım şekline ve oyuncu sayısına göre ciddi biçimde değiştiğini özellikle belirtiyor:

KaynakWiki önerisiNot
RAM12 GB boş RAM6000 boyutundaki (6k) harita daha fazlasını kullanır
Disk15 GB boş alanSSD veya NVMe şiddetle tercih edilir
İşletim sistemiWindows veya LinuxKurulum SteamCMD ile yapılır
CPUOyuncu sayısına bağlıWiki: oyuncu arttıkça daha hızlı bir CPU gerekir

Sunucuyu kurmak ve çalıştırmak için Steam hesabına ihtiyacınız yok; SteamCMD ile anonim giriş yeterli. Ancak sunucuya bağlanıp oynamak için Rust'a sahip bir Steam hesabı gerekir.

Adım 1: SteamCMD ile sunucu dosyalarını indirin

Rust dedicated server, SteamCMD üzerinden 258550 App ID'si ile kurulur ve güncellenir. SteamCMD'nin ne olduğunu ve temel komutlarını bilmiyorsanız önce SteamCMD rehberimize göz atın.

Linux kurulumu

Wiki'deki Linux örneği, kullanıcının ev dizininde biri sunucu, biri SteamCMD için iki klasör oluşturur:

bash
mkdir rust
mkdir steamcmd
cd steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar xvfz steamcmd_linux.tar.gz
chmod +x steamcmd.sh
./steamcmd.sh +force_install_dir ../rust +login anonymous +app_update 258550 validate +quit

+login anonymous kısmını atlarsanız SteamCMD No subscription hatası verir; wiki bunu özellikle uyarıyor. Kurulum bittikten sonra rust klasörüne geçip SteamCMD'nin bıraktığı basit başlatma dosyasını çalıştırılabilir yapın ve parametrelerinizi bu dosyaya ekleyin:

bash
cd ../rust
chmod +x runds.sh
screen -S rust_server ./runds.sh

Linux'ta sunucu konsolu Windows'taki gibi etkileşimli değildir. Komut göndermek için RCON istemcisi kullanmanız ya da log dosyasını izlemeniz gerekir. screen oturumundan Ctrl+A ardından D ile ayrılır, screen -x rust_server ile geri bağlanırsınız. Screen ve tmux kullanımını tmux ve screen rehberimizde ayrıntılı anlattık.

Windows kurulumu

Windows'ta adımlar aynıdır; SteamCMD.exe'yi indirip aynı app_update 258550 komutunu çalıştırırsınız. Wiki, sunucuyu bir .bat dosyasıyla başlatmayı ve çöktüğünde ya da restart komutu verildiğinde otomatik yeniden başlatmayı şu yapıyla öneriyor:

bat
:start
C:\Rust\SteamCMD\SteamCMD.exe +force_install_dir C:\Rust\MyServer\ +login anonymous +app_update 258550 +quit
RustDedicated.exe -batchmode +server.port 28015 +server.level "Procedural Map" +server.seed 1234 +server.worldsize 4000 +server.maxplayers 10 +server.hostname "Sunucu Adi" +server.identity "server1" +rcon.port 28016 +rcon.password "GucluBirSifre" +rcon.web 1 -logfile rustserverlog.txt
goto start

Beta dalları

Henüz yayınlanmamış özellikleri test etmek isterseniz SteamCMD komutuna beta dalı ekleyebilirsiniz; wiki örnek olarak -beta staging ve -beta aux01 veriyor. Normal sürüme dönmek için public dalını belirtmeniz (veya rust klasöründeki steamapps klasörünü silmeniz) gerekir.

Adım 2: Başlatma parametreleri

Adım 2: Başlatma parametreleri: -batchmode, +server.port, +server.queryport, +server.level

Aşağıdaki tablo, Facepunch wiki'deki örnek komut satırındaki parametreleri açıklıyor. Wiki listenin eksiksiz olmadığını, sunucu açıldıktan sonra konsolda find komutuyla başka değişkenleri arayabileceğinizi belirtiyor.

ParametreÖrnek / varsayılanAçıklama
-batchmode-Sunucuyu arayüzsüz (GUI olmadan) çalıştırır
+server.port28015 (varsayılan)Oyuncuların bağlandığı oyun portu, UDP
+server.queryportBelirtilmezse server.port veya rcon.port hangisi büyükse onun 1 fazlasıSunucu tarayıcısında görünmek için gerekli, UDP; server.port ile aynı olamaz
+server.level"Procedural Map"Harita tipi; wiki şu an tek seçenek olduğunu söylüyor
+server.seed1234Haritanın üretim tohumu; 0 ile 2147483647 arası
+server.worldsize4000Harita boyutu; 1000 ile 6000 arası. Büyüdükçe daha fazla disk ve bellek ister
+server.maxplayers10Aynı anda bağlanabilecek oyuncu sayısı
+server.hostname"Tom Server"Sunucu listesinde görünen ad
+server.description"Awesome!"Bağlanma penceresinde görünen açıklama
+server.url / +server.headerimageİsteğe bağlıWeb siteniz ve sunucu başlık görseli
+server.identity"server1"Sunucu dosyalarının tutulduğu klasörün adı
+server.ip0.0.0.0 (varsayılan)Dinlenecek IP; belirli bir IP yazarsanız yalnızca oradan bağlanılır
+rcon.port28016 (örnek)RCON portu, TCP. Wiki: varsayılanı server.port ile aynıdır
+rcon.passwordletmein (örnek)Uzaktan yönetim şifresi; mutlaka değiştirin
+rcon.web1RCON bağlantı tipi; wiki 1 değerini öneriyor
-logfilerustserverlog.txtTüm konsol çıktısı bu dosyaya yazılır

Adım 3: server.cfg ve yönetici (admin) ekleme

server.cfg dosyası rust/server/server.identity/cfg/ klasöründe bulunur (identity olarak ne yazdıysanız o klasör). Sunucu bu dosyayı açılışta okur ve buradaki değerler komut satırındakilerin önüne geçer. Sunucu bu dosyaya kendisi dokunmaz, elle düzenlemeniz gerekir. Dosyada değişkenlerin başına + veya - konmaz:

ini
server.maxplayers 10
server.hostname "Tom Server"
hackablelockedcrate.requiredhackseconds 600

Kendinizi yönetici yapmak için sunucu açıkken konsolda (Linux'ta RCON üzerinden) önce users komutuyla SteamID'nizi bulun, sonra şu komutlardan birini verin:

text
ownerid 76561198123456789 "OyuncuAdi"
moderatorid 76561198123456789 "OyuncuAdi"

Yetkinin geçerli olması için sunucuya yeniden bağlanmanız gerekir. Sunucu kapalıyken aynı satırları cfg/users.cfg dosyasına ownerid 76561198123456789 "OyuncuAdi" "" biçiminde de ekleyebilirsiniz.

Adım 4: Portlar ve güvenlik duvarı

Facepunch wiki'ye göre bir Rust sunucusunun toplam dört portu vardır: oyun ve query portları UDP, RCON ve Rust+ portları TCP'dir. Oynamak için yalnızca oyun portu yeterlidir; wiki önce bunu çalıştırıp diğerlerini sonra eklemenizi öneriyor.

PortVarsayılan / örnekProtokolNe için
server.port28015UDPOyuncu bağlantısı
server.queryportBelirtilmezse otomatik hesaplanırUDPSunucu tarayıcısında görünme
rcon.port28016 (örnek)TCPUzaktan yönetim
app.port (Rust+)Oyun veya RCON portunun büyük olanı + 67; varsayılanlarla 28082TCPRust+ mobil uygulama eşleştirmesi

Router arkasında çalışıyorsanız sunucunun yerel IP'sini sabitleyin ve yalnızca gereken portları yönlendirin; wiki protokol seçiminde "both" veya "all" seçeneklerinden kaçınmanızı söylüyor. Rust+ portunun internetten erişilebilir ve 10000 veya üzeri olması gerekir; Rust+'ı tamamen kapatmak için wiki, komut satırında +app.port 1- yazımını veriyor. Linux'ta portları açmak için UFW rehberimize, portun dışarıdan açık olup olmadığını kontrol etmek için port sorgulama rehberimize bakabilirsiniz.

Hesaplamaya bir örnek: başlatma satırında +server.port 28015 +rcon.port 28016 kullandıysanız ve query portunu belirtmediyseniz, query portu büyük olan değerin bir fazlası yani 28017 olur. Rust+ portu da yine büyük olan değerin 67 fazlası, yani 28083 olur (wiki'deki 28082 değeri, RCON portunun varsayılan olarak oyun portuyla aynı olduğu durum içindir). Bu örneğe göre UFW kuralları:

bash
sudo ufw allow 28015/udp
sudo ufw allow 28017/udp
sudo ufw allow 28016/tcp
sudo ufw allow 28083/tcp

Karışıklık yaşamamak için +server.queryport ve +app.port değerlerini açıkça yazmanızı öneririz; o zaman güvenlik duvarı kurallarını da bu portlara göre yazarsınız. RCON'u yalnızca kendi IP'nizden kullanacaksanız 28016/tcp kuralını herkese değil, yalnızca o IP'ye açın.

Adım 5: RCON ile yönetim

Adım 5: RCON ile yönetim: rcon.password için uzun ve tahmin edilemez bir değer kullanın; wiki örneğindeki..., RCON şifresini ekran görüntülerinde, Discord'da veya paylaşılan...

RCON, sunucunuza ayrı bir yazılımla bağlanıp komut göndermenizi sağlar. Linux'ta etkileşimli konsol olmadığı için RCON pratikte zorunludur. Facepunch'ın tarayıcıdan çalışan bir web RCON arayüzü vardır; ancak wiki bu sayfanın HTTPS kullanmadığını not ediyor. Bu yüzden RCON şifrenizi güçlü tutun ve RCON portunu yalnızca kendi IP'nize açmayı düşünün.

  • rcon.password için uzun ve tahmin edilemez bir değer kullanın; wiki örneğindeki letmein gibi değerleri asla bırakmayın.
  • RCON şifresini ekran görüntülerinde, Discord'da veya paylaşılan .bat dosyalarında göstermeyin.
  • Linux sunucuyu SSH ile yönetiyorsanız SSH bağlantı rehberimiz ve systemd servis rehberimiz otomatik başlatma için işinize yarar.

Sunucunuz hangi listede görünecek? Community ve Modded

Rust'ın sunucu tarayıcısında Official, Community ve Modded bölümleri bulunur. Facepunch'ın destek sitesindeki kurallar açık: sunucunuzda eklenti kullanıyorsanız Modded bölümünde listelenmelisiniz. Belirli eklentiler ise kurallara uyduğu sürece Community bölümünde kullanılabilir. Facepunch'ın belirttiği ana kurallar şunlar:

  • Oynanışı değiştiren eklenti yok: toplama oranı, eşya ve oyuncu doğma noktaları, eritme mekanikleri gibi oynanışı etkileyen her şey ve oyun içi eşya, kit veya kaynak satışı Community'de yasak.
  • Arayüz ekleyen veya değiştiren eklenti yok: oyun içine panel, logo, yükleme mesajı gibi UI ekleyen eklentiler Community'de kullanılamaz.
  • Yönetim eklentilerine izin var: oyuncunun oynanışını değiştirmediği sürece yönetime yardımcı eklentiler (vanish, admin radar, loglama gibi) kullanılabilir.
  • Kuyruk atlama ve sohbet moderasyonu serbest; renkli isim etiketleri gibi eklentiler de izinli.
  • Özel haritalar ve vanilla convar'lar: özel harita kullanmak ve takım boyutu, decay.scale gibi vanilla ayarları değiştirmek sunucuyu Community'de tutar.

Ayrıca Facepunch'ın tüm sunucular için geçerli genel kuralları vardır: sunucunuza "official" adı veremezsiniz, oyuncuların satın aldığı Facepunch DLC içeriğine erişimini engelleyemez ya da satın almamış oyunculara DLC açamazsınız. Kural ihlalleri sunucu tarayıcısından kaldırılmaya kadar gidebilir. Sunucu etiketleri için server.tags değişkenini kullanabilirsiniz; örneğin server.tags weekly,vanilla,EU. Aynı gruptan (wipe takvimi, zorluk, bölge) birden fazla etiket kullanmayın; tarayıcı aynı anda en fazla dört etiket gösterir.

Pterodactyl panelde Rust sunucusu

Barındırılan bir oyun panelinde, örneğin Pterodactyl'de, yukarıdaki adımların çoğu otomatikleşir. Sunucu bir "egg" şablonuyla kurulur; port, RCON şifresi, worldsize, seed ve maxplayers gibi değerler genellikle Startup sekmesinde değişken olarak düzenlenir. server.cfg ve users.cfg dosyalarına dosya yöneticisinden veya SFTP ile ulaşırsınız; portlar ise panelin ağ (allocation) bölümünden atanır. Hangi değişkenin hangi parametreye karşılık geldiği kullandığınız egg'e bağlıdır. Panelin genel kullanımını Pterodactyl rehberimizde anlattık.

Sık Sorulan Sorular

Rust sunucusu kurmak için oyunu satın almam gerekir mi?

Sunucuyu kurmak ve çalıştırmak için gerekmez; SteamCMD'ye anonim giriş yeterlidir. Sunucuya bağlanıp oynamak için ise Rust'a sahip bir Steam hesabı gerekir.

Sunucum listede görünmüyor, ne yapmalıyım?

Önce oyun portunun ve query portunun (ikisi de UDP) dışarıdan erişilebilir olduğunu kontrol edin. Wiki, iki portun da açık olması ve birbirinden farklı olması gerektiğini belirtiyor. Kendi bilgisayarınızda test etmek için oyunda F1 konsoluna connect localhost:28015 yazabilirsiniz.

Harita boyutu ne kadar olmalı?

server.worldsize 1000 ile 6000 arasında olabilir. Wiki, harita büyüdükçe daha fazla disk ve bellek gerektiğini, 6k haritanın önerilen 12 GB RAM'den fazlasını kullanacağını belirtiyor. Oyuncu sayınıza uygun bir boyut seçin.

Sunucum yanlış ülkede görünüyor, neden?

Facepunch, sunucunun ülkesini belirlemek için MaxMind hizmetini kullanır. Yanlışlık varsa MaxMind'a düzeltme talebi gönderebilir, barındırma firmanızdan Geofeed verisini güncellemesini isteyebilirsiniz.

Wipe nasıl yapılır?

Harita ve blueprint wipe farkını, Facepunch'ın zorunlu wipe takvimini ve silinmesi gereken dosyaları Rust wipe rehberimizde ayrıntılı anlattık.

Oyun ve yazılım adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen geliştiricilerle ortaklık ilişkisi bulunduğu anlamına gelmez.

İlgili içerikler: Rust Oxide ve Carbon kurulumu · Rust wipe rehberi · SteamCMD rehberi · Pterodactyl ile oyun sunucusu yönetimi · DDoS koruma rehberi