Linux Ubuntu 24.04 VDS Üzerinde Rust Dedicated Server Kurulumu
Ubuntu 24.04 VDS üzerinde SteamCMD ile Rust dedicated sunucusu kurma adımları, sistem kütüphaneleri, başlatma betiği ve systemd servis yapılandırması.
İçindekiler
Facepunch Studios tarafından geliştirilen Rust, çok oyunculu hayatta kalma türünde yüksek işlemci gücü ve bellek talep eden popüler oyunlardan biridir. Kendi topluluğunuz için bağımsız bir Rust dünyası oluşturmak, harita boyutunu yönetmek ve oyun içi kuralları belirlemek için bir Rust Dedicated Server (özel sunucu) kurmanız gerekir.
Bu rehberde, Ubuntu 24.04 LTS kurulu bir sanal sunucu üzerinde SteamCMD aracılığıyla Rust sunucusunun kurulumunu, gerekli 32-bit sistem kütüphanelerini, başlatma betiğinin hazırlanmasını, güvenlik duvarı kurallarını ve sunucunun arka planda stabil çalışması için systemd servis yapılandırmasını adım adım ele alıyoruz.
Sistem Gereksinimleri ve Donanım Tercihi
Rust Dedicated Server, özellikle Unity motorunun fizik ve varlık hesaplamaları sebebiyle tek çekirdek frekansı yüksek işlemcilere ihtiyaç duyar. Standart bir prosedürel harita (3500-4000 boyut) çalıştırıldığında sunucunun bellek tüketimi başlangıçta yaklaşık 6 GB olur ve oyuncu yapılarının artmasıyla birlikte 10-12 GB seviyelerine kadar çıkabilir.
- İşlemci: En az 2-4 vCore yüksek frekanslı işlemci (AMD Ryzen 9 serisi yüksek tek çekirdek performansı sunar).
- Bellek: Minimum 8 GB RAM (küçük haritalar için), 50+ oyuncu için 16 GB veya 32 GB DDR5 RAM.
- Depolama: Minimum 35 GB boş disk alanı (Samsung 990 Pro Gen4 NVMe diskler harita kayıtlarında gecikmeleri engeller).
- İşletim Sistemi: Ubuntu 24.04 LTS 64-bit.
Yüksek oyuncu sayısı veya yoğun eklenti paketleri içeren topluluk sunucularınız için Performans VPS paketlerinde AMD Ryzen 9 7950X işlemci ve DDR5 bellek sunulur. En yüksek tek çekirdek performansına ihtiyaç duyan rekabetçi oyun sunucuları için Ekstrem VDS paketlerinde AMD Ryzen 9 9950X işlemci kullanılır. Depolama tarafında Samsung 990 Pro Gen4 NVMe diskler yer alır.
1. Adım: Gerekli Sistem Paketlerinin Kurulumu
SteamCMD 32-bit kütüphanelere ihtiyaç duyar. Ayrıca sunucu yönetiminde screen veya systemd kullanabilmek için temel paketleri yükleyerek işe başlayın.
Terminal üzerinden paket depolarını güncelleyin ve multilib bileşenlerini yükleyin:
sudo apt update && sudo apt upgrade -y
sudo apt install -y software-properties-common curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux lib32gcc-s1 lib32stdc++6 libsdl2-2.0-0:i386
[!NOTE] 64-bit Ubuntu üzerinde 32-bit kütüphaneleri etkinleştirmek için sistemin
i386mimarisini desteklemesi gerekir. İhtiyaç halindesudo dpkg --add-architecture i386komutunu çalıştırabilirsiniz.
2. Adım: Özel Sistem Kullanıcısı Oluşturma
Oyun sunucularını root yetkisiyle çalıştırmak, olası bir uzaktan kod çalıştırma açığında sunucunun tüm işletim sistemini riske atar. Bu nedenle rustserver adında ayrıcalıksız bir kullanıcı hesabı açın:
sudo adduser --disabled-login --gecos "" rustserver
Ardından kullanıcı oturumuna geçiş yapın ve sunucu dizin yapısını hazırlayın:
sudo -u rustserver -i
mkdir -p ~/steamcmd ~/serverfiles
3. Adım: SteamCMD ile Rust Sunucu Dosyalarını İndirme
SteamCMD, Valve tarafından sunulan resmi komut satırı paket yöneticisidir. Rust Dedicated Server'ın Steam uygulama kimliği (AppID) 258550'dir.
SteamCMD aracını indirin ve arşivden çıkarın:
cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
Rust sunucu dosyalarını indirmek için aşağıdaki komutu çalıştırın:
./steamcmd.sh +force_install_dir /home/rustserver/serverfiles +login anonymous +app_update 258550 validate +quit
İndirme işlemi bağlantı hızınıza bağlı olarak birkaç dakika sürebilir. İşlem tamamlandığında Success! App '258550' fully installed. iletisini görmelisiniz.
4. Adım: Başlatma Betiği (start.sh) Hazırlama
Rust sunucusu, doğrudan çalıştırılabilir dosya yerine çeşitli çevre değişkenleri ve başlatma parametreleri ile tetiklenir. Sunucu adını, harita boyutunu, seed değerini ve RCON şifrenizi belirleyen bir betik oluşturun:
nano /home/rustserver/serverfiles/start.sh
Aşağıdaki yapılandırmayı betiğe yapıştırın:
#!/bin/bash
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/rustserver/serverfiles/RustDedicated_Data/Plugins/x86_64
cd /home/rustserver/serverfiles
./RustDedicated -batchmode \
+server.ip 0.0.0.0 \
+server.port 28015 \
+server.queryport 28016 \
+server.tickrate 30 \
+server.hostname "TREAS Topluluk Sunucusu | 2x Vanilla" \
+server.identity "treas_rust_server" \
+server.maxplayers 100 \
+server.worldsize 3500 \
+server.seed 1337 \
+server.saveinterval 300 \
+rcon.ip 0.0.0.0 \
+rcon.port 28016 \
+rcon.password "GucluRconSifreniz123!" \
+rcon.web 1 \
-logfile /home/rustserver/serverfiles/server.log
Dosyayı kaydedip kapatın ve çalıştırma izni verin:
chmod +x /home/rustserver/serverfiles/start.sh
exit
Son exit komutu ile tekrar yetkili kullanıcınıza döneceksiniz.
5. Adım: Güvenlik Duvarı (UFW) ve Port Yönlendirme
Oyuncuların sunucuya bağlanabilmesi ve sunucu listesinde görebilmesi için güvenlik duvarından ilgili portları açmanız gerekir. Ayrıntılı güvenlik kuralları için VDS Port Açma ve Güvenlik Duvarı rehberimize göz atabilirsiniz.
UFW üzerinden Rust portlarına izin verin:
sudo ufw allow 28015/udp comment "Rust Game Port"
sudo ufw allow 28015/tcp comment "Rust Game Port"
sudo ufw allow 28016/udp comment "Rust Query Port"
sudo ufw allow 28016/tcp comment "Rust Web RCON Port"
sudo ufw reload
Oyun sunucularına yönelik saldırılara karşı TRSHIELD DDoS koruması her pakette ek ücret olmadan sunulur ve oyun trafiğinde oluşabilecek saldırıları filtreler. Sunucunuzun genel güvenliğini artırmak için Linux VDS Sunucu Güvenliği adımlarını da uygulamanız önerilir.
6. Adım: Rust Sunucusunu systemd Servisi Yapma
Sunucunun makine yeniden başladığında otomatik açılması ve çökme durumlarında kendi kendine yeniden başlatılması için bir systemd servis dosyası oluşturun:
sudo nano /etc/systemd/system/rust-server.service
Aşağıdaki içeriği dosyaya ekleyin:
[Unit]
Description=Rust Dedicated Server
After=network.target
[Service]
Type=simple
User=rustserver
WorkingDirectory=/home/rustserver/serverfiles
ExecStart=/home/rustserver/serverfiles/start.sh
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
Servisi kaydedin, systemd yöneticisini yenileyin ve sunucuyu başlatın:
sudo systemctl daemon-reload
sudo systemctl enable rust-server
sudo systemctl start rust-server
Sunucu durumunu ve konsol çıktılarını kontrol etmek için:
sudo systemctl status rust-server
sudo journalctl -u rust-server -f
Sunucu haritayı oluşturup Server startup complete mesajını verdiğinde istemcinizden F1 konsolunu açarak client.connect SUNUCU_IP_ADRESINIZ:28015 komutuyla oyuna bağlanabilirsiniz.
Sık sorulan sorular
Rust sunucusu için minimum ve önerilen sistem kaynakları nelerdir?
Rust sunucusu prosedürel harita üretimi ve yapay zeka varlıkları nedeniyle yoğun bellek tüketir. Küçük bir harita için en az 8 GB RAM ve 2 vCore gerekirken, 50 ve üzeri oyuncu barındıran aktif sunucularda 16 GB DDR5 RAM ve yüksek tek çekirdek frekansına sahip AMD Ryzen 9 işlemciler tavsiye edilir.
Rust sunucusu için hangi portların açılması gerekir?
Oyun bağlantısı için varsayılan olarak 28015 portu (UDP ve TCP), sunucu sorgu trafiği için 28016 UDP portu ve web tabanlı RCON uzaktan yönetim paneli kullanılacaksa 28016 TCP portunun güvenlik duvarından açılması gerekir.
Sunucuyu neden doğrudan root kullanıcısıyla çalıştırmamalıyız?
Sunucu dosyalarında veya yüklenebilecek eklentilerde (Oxide/uMod) oluşabilecek potansiyel güvenlik açıklarının tüm işletim sistemini ele geçirmesini önlemek amacıyla, oyun sunucuları daima kısıtlı yetkilere sahip ayrı bir sistem kullanıcısı altında çalıştırılmalıdır.
Rust sunucu güncellemeleri nasıl otomatikleştirilir?
Başlatma betiğinde SteamCMD komutuna +app_update 258550 parametresi eklenerek, sunucu servisi her yeniden başladığında oyun dosyalarının otomatik olarak en son sürüme güncellenmesi sağlanabilir.