Rust sunucunuza kit, ışınlanma, ekonomi veya gelişmiş yönetim araçları eklemek istiyorsanız bir modlama altyapısına ihtiyacınız var. Rust'ta bu iş için iki büyük seçenek bulunuyor: uzun yıllardır kullanılan Oxide (eklenti sitesiyle birlikte uMod olarak da bilinir) ve Oxide eklentilerini çalıştırabilen daha yeni Carbon.

Bu rehberde Oxide ve Carbon'un ne olduğunu, kurulumunu, eklenti klasörlerini, izin (permission) sistemini ve en çok sorun çıkaran konu olan Rust güncellemelerinden sonra ne yapmanız gerektiğini anlatıyoruz. Bilgiler Oxide'ın resmî belgeleri, Carbon'un resmî belgeleri ve Facepunch'ın Rust Wiki'sinden alındı.

Oxide ve Carbon nedir?

Oxide ve Carbon nedir? Eklenti biçimi, Kurulum, Hook yükleme, Kendini güncelleme

Facepunch wiki Oxide'ı Rust için popüler bir modlama çerçevesi olarak tanımlar; sunucu sahiplerine eklenti kurma ve yönetme araçları verir ve eklentiler oynanışın neredeyse her yönünü değiştirebilir. Eklentiler C# (.cs) dosyalarıdır ve sunucu bunları kendisi derler.

Carbon'un resmî sitesi kendisini Oxide'ın yerine doğrudan geçebilen (drop-in replacement) bir modlama çerçevesi olarak tanımlıyor. Carbon, Oxide'ın klasör ve eklenti yapısını korur; bu sayede mevcut Oxide eklentilerinin çoğu ek yama gerektirmeden çalışır. Belgelere göre öne çıkan farklar şunlar:

ÖzellikOxideCarbon
Eklenti biçimiC# (.cs) eklentilerOxide eklentileriyle uyumlu, aynı klasör yapısı
KurulumGitHub sürümlerinden zipGitHub sürümlerinden zip / tar.gz
Hook yüklemeYamalı DLL dosyalarıyla gelirHook'lar yalnızca bir eklenti kullandığında çalışma anında yüklenir
Kendini güncellemeYok, her Rust güncellemesinde elleAçılışta kendini güncelleyebilir (SelfUpdating)
İzin verisioxide.users / oxide.groups dosyalarıSQLite tabanlı izinler
Komut önekioxide. veya o.c.

Oxide kurulumu

Oxide belgelerine göre kurulum adımları şöyle:

  • Rust sunucunuz kurulu ve çalışır durumda olmalı. Kurulum için Rust sunucu kurulum rehberimize bakın.
  • Sunucuyu durdurun. Belgeler, sunucu çalışırken dosya yüklemenin veriyi bozabileceği konusunda uyarıyor.
  • Oxide.Rust GitHub sürümleri sayfasından "Pre-release" olarak işaretlenmemiş en son sürümü indirin: Windows için Oxide.Rust.zip, Linux için Oxide.Rust-linux.zip.
  • Arşivi önce geçici bir klasöre çıkarın. Arşivin içinde RustDedicated_Data klasörü vardır; bu yapıyı koruyarak dosyaları sunucunun ana klasörüne (RustDedicated_Data klasörünün bulunduğu yere) kopyalayın ve üzerine yazma sorusuna evet deyin.
  • Sunucuyu her zamanki başlatma betiğinizle açın. Konsolda Oxide mesajları görmelisiniz.
  • Oyunda F1 konsoluna veya sunucu konsoluna oxide.version yazın; sürüm numarası dönüyorsa kurulum tamamdır.

Oxide eklenti, config ve log klasörleri

Klasörİçerik
oxide/pluginsEklenti .cs dosyaları; buraya konan eklenti otomatik derlenip yüklenir
oxide/configEklentilerin JSON ayar dosyaları (eklentiyle aynı adı taşır, ör. MyPlugin.json)
oxide/dataEklentilerin sunucu yeniden başlasa da sakladığı veriler
oxide/logsHata ve derleme logları

Oxide klasördeki değişiklikleri izler; yeni bir eklenti eklemek veya mevcut eklentiyi güncellemek için sunucuyu kapatmanız gerekmez. Eklenti dosyasının adını veya uzantısını değiştirmeyin. Ayar dosyasını düzenledikten sonra eklentiyi yeniden yükleyin:

text
oxide.plugins
oxide.reload MyPlugin
oxide.unload MyPlugin
oxide.load MyPlugin

Belgelerin önemli bir notu: bazı eklentiler kapanırken ayarlarını diske yazar. Böyle bir eklentide ayarı eklenti yüklüyken düzenleyip reload yaparsanız değişikliğiniz silinebilir. Bu durumda önce oxide.unload, sonra düzenleme, sonra oxide.load sırasını izleyin. JSON dosyalarında eksik veya fazla virgül en sık görülen hatadır.

Oxide izin (permission) sistemi

Oxide'da izinler kullanıcı ve grup bazında verilir. Varsayılan olarak iki grup oluşturulur: admin ve default. Sunucuda ownerid ile yönetici olarak tanınan oyuncular otomatik olarak admin grubuna, bağlanan tüm oyuncular default grubuna alınır. İzinler genellikle eklentiadi.izin biçimindedir.

text
oxide.group add vip "VIP" 0
oxide.usergroup add OyuncuAdi vip
oxide.grant group vip eklentiadi.use
oxide.grant user OyuncuAdi eklentiadi.use
oxide.revoke user OyuncuAdi eklentiadi.use
oxide.show user OyuncuAdi
oxide.show perms

Aynı komutlar o. önekiyle de çalışır (ör. o.grant). Joker karakter de kullanılabilir: oxide.grant group admin * admin grubuna tüm izinleri verir. Belgeler izin verilerinin oxide.users ve oxide.groups dosyalarında tutulduğunu, oxide.export komutuyla JSON olarak dışa aktarılabildiğini belirtiyor; yedekleme için kullanışlıdır.

Carbon kurulumu

Carbon kurulumu: Belgelere göre sunucu dosyalarınızı doğrulayın ve sunucuyu her açılışta güncel..., GitHub sürümler sayfasından Carbon.Windows.Release.zip paketini indirin...

Carbon belgeleri üç derleme kanalı listeliyor: çoğu sunucu için önerilen kararlı Production, daha yeni değişiklikleri içeren Edge ve deneysel özellikler için Experimental. Her kanalın Windows ve Linux için ayrı paketleri var; ayrıca "Minimal" sürümleri bulunuyor.

Windows

  • Belgelere göre sunucu dosyalarınızı doğrulayın ve sunucuyu her açılışta güncel tutun.
  • GitHub sürümler sayfasından Carbon.Windows.Release.zip paketini indirin.
  • Arşivi, içindeki yapıyı bozmadan RustDedicated.exe dosyasının bulunduğu klasörün üzerine çıkarın.
  • Sunucuyu her zamanki gibi başlatın.

Linux

Linux'ta paketi (Carbon.Linux.Release.tar.gz) aynı şekilde RustDedicated dosyasının bulunduğu klasöre çıkarırsınız. Fark, başlatma betiğinin sırasıdır: önce oyun dosyalarını güncelleyin, sonra Carbon'un ortam dosyasını yükleyin, en son sunucuyu başlatın:

bash
#!/bin/bash
# 1) oyun dosyalarini guncelle
./steamcmd.sh +force_install_dir /home/rust/server +login anonymous +app_update 258550 +quit
# 2) Carbon ortamini yukle
cd /home/rust/server
source carbon/tools/environment.sh
# 3) sunucuyu baslat
./RustDedicated -batchmode +server.port 28015 +server.identity "server1" +rcon.port 28016 +rcon.password "GucluBirSifre" +rcon.web 1

Carbon belgeleri bazı dağıtımlarda ve özellikle Docker'da sunucuyu başlatmadan önce export TERM=xterm eklemeniz gerekebileceğini de not ediyor. Yukarıdaki yollar örnektir; kendi kurulum klasörünüze göre düzenleyin.

Carbon'da klasörler, komutlar ve izinler

Carbon, Oxide ile aynı klasör mantığını kullanır; tek isim farkı ayar klasörünün config değil configs olmasıdır. Eklentiler carbon/plugins içine konur. Komutlar c. önekini kullanır: örneğin bir eklentiyi yeniden yüklemek için c.reload EklentiAdi, bir oyuncuya izin vermek için c.grant user 7656119XXXXXXXXXX eklenti.izin. Eski o. komutlarına alışkınsanız carbon/config.json içindeki Aliases bölümüne kendi takma adlarınızı tanımlayabilirsiniz.

Aynı config dosyasında dikkat etmeniz gereken bir ayar daha var: IsModded. Varsayılan değeri true'dur ve sunucunuzun tarayıcıda Modded sekmesinde görünmesini sağlar. Varsayılan grup adları da burada tanımlıdır: oyuncular için default, yöneticiler için admin, moderatörler için moderator.

Oxide'dan Carbon'a geçiş

Carbon'un taşıma rehberine göre adımlar şunlar:

  • Sunucuyu kapatın ve varsa Oxide'ı otomatik kuran veya güncelleyen araçları devre dışı bırakın.
  • Oxide, yamalı Facepunch DLL dosyalarıyla geldiği için oyun dosyalarını vanilla hâline döndürün; bunun için SteamCMD ile validate çalıştırın.
  • Carbon'u sunucu klasörüne çıkarın.
  • Sunucuyu başlatın. İlk açılışta Carbon, Oxide'ın config, data, lang ve kullanıcı/grup verilerini kendi klasörlerine bir kez kopyalar; Oxide eklenti uzantılarını da kendi extensions klasörüne taşır.
bat
steamcmd +force_install_dir C:\games\rust +login anonymous +app_update 258550 -beta public validate +quit

Otomatik taşıma yalnızca bir kez çalışır; bir şey ters giderse dosyaları elle taşımanız gerekir. Taşıma bittikten sonra oxide klasörü artık kullanılmaz.

Rust güncellemesinden sonra ne yapmalı?

Rust güncellemesinden sonra ne yapmalı? Oxide, SteamCMD tuzağı, Carbon, Eklentiler

Modlu Rust sunucularında en sık yaşanan sorun güncelleme uyumsuzluğudur. Resmî kaynakların söyledikleri:

  • Oxide: Facepunch wiki, her sunucu güncellemesinden kısa süre sonra Oxide güncellemesi çıktığını ve bunu her güncellemede yeniden kurmanız gerektiğini belirtiyor. Oxide belgeleri de Oxide sürümüyle sunucu sürümünün uyumsuz olmaması gerektiğini, güncellerken SteamCMD komutuna -beta public eklemenizi ve release dalını kullanmamanızı öneriyor.
  • SteamCMD tuzağı: Başlatma betiğiniz her açılışta SteamCMD ile güncelleme yapıyorsa Oxide dosyaları vanilla dosyalarla ezilir. Doğru sıra: SteamCMD ile güncelle, ardından Oxide'ın yeni sürümünü üzerine kopyala, sonra sunucuyu başlat.
  • Carbon: Carbon açılışta kendini güncelleyebilir. Belgelere göre kararlı public dal ve Production derlemesi kullanıyorsanız, büyük bir protokol değişikliğinde (ör. wipe günü) Carbon yalnızca siz Rust'ı en son sürüme güncellediğinizde kendini günceller. Carbon ekibi wipe güncellemesi için Production derlemesini Rust güncellemesinden 1 saat önce yayınladığını belirtiyor.
  • Eklentiler: Rust güncellemesi bir eklentinin kullandığı oyun kodunu değiştirirse eklenti yüklenmeyebilir. Bu durumda konsolu ve oxide/logs (veya Carbon log) klasörünü kontrol edin, eklentinin yeni sürümünü bekleyin.

Eklentiler sunucunuzu Modded'a taşır mı?

Facepunch'ın destek makalesine göre eklenti kullanan bir sunucu Modded bölümünde listelenmelidir. Community bölümünde kalmak istiyorsanız yalnızca oynanışı ve arayüzü değiştirmeyen yönetim eklentileri, kuyruk atlama ve sohbet moderasyonu eklentileri gibi Facepunch'ın izin verdiği türleri kullanabilirsiniz. Toplama oranı, kit, mağaza veya oyun içi panel ekleyen eklentiler sunucuyu Modded kategorisine taşır. Listeleme kurallarının ayrıntısını Rust sunucu kurulum rehberimizde özetledik. Hangi kategoride olursanız olun, Facepunch'ın genel kuralları gereği satın alınmamış DLC içeriğini oyunculara açan eklentiler yasaktır.

Pterodactyl panelde Oxide veya Carbon

Pterodactyl gibi panellerde Rust egg'leri çoğunlukla modlama çerçevesini bir başlatma değişkeniyle seçmenize izin verir; bazı egg'ler her açılışta Oxide veya Carbon'un güncel sürümünü otomatik indirir. Bu davranış kullandığınız egg'e bağlıdır, Startup sekmesinden kontrol edin. Eklenti .cs dosyalarını dosya yöneticisi veya SFTP ile plugins klasörüne yükler, izin komutlarını panel konsolundan verirsiniz. Ayrıntılar için Pterodactyl rehberimize bakabilirsiniz.

Sık Sorulan Sorular

uMod ile Oxide aynı şey mi?

Oxide, modlama çerçevesinin adıdır; uMod ise eklentilerin uzun süre dağıtıldığı topluluk sitesi olarak bilinir. Oxide belgeleri eklenti kaynağı olarak hem oxidemod.org hem de umod.org'u gösteriyor. Oxide'ın güncel Rust sürümleri GitHub'daki OxideMod/Oxide.Rust deposundan dağıtılıyor.

Oxide eklentileri Carbon'da çalışır mı?

Carbon belgeleri, Carbon'un mevcut Oxide eklentilerini ek yama gerektirmeden çalıştırmak üzere tasarlandığını belirtiyor. Yine de her eklentiyi geçişten sonra test edin; komut öneklerinin o. yerine c. olduğunu unutmayın.

Eklentiyi kurdum ama yüklenmiyor, ne yapmalıyım?

Konsoldaki derleme hatasını okuyun, oxide.plugins ile eklentinin neden yüklenmediğini görün ve oxide/logs klasörüne bakın. Eklentinin Rust ve Oxide sürümünüzle uyumlu olduğundan ve gerekli başka eklenti veya uzantılara ihtiyaç duymadığından emin olun.

Rust güncellendikten sonra Oxide neden kayboldu?

Büyük ihtimalle başlatma betiğiniz SteamCMD ile güncelleme yaptı ve Oxide'ın değiştirdiği DLL dosyaları vanilla sürümleriyle ezildi. Güncel Oxide sürümünü indirip yeniden kopyalayın.

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 sunucu kurulumu · Rust wipe rehberi · SteamCMD rehberi · Pterodactyl ile oyun sunucusu yönetimi · rsync ile sunucu yedekleme