Ücretsiz sunucular neden kendiliğinden kapanıyor?

Ücretsiz barındırmada tek bir makine aynı anda çok sayıda sunucuya bakar. Makinenin belleği ve işlemcisi paylaşıldığı için, kimsenin bağlı olmadığı sunucular yer açmak üzere durdurulur. Bu bir arıza değil, o modelin çalışma biçimidir: sen oynamadığın sürece sunucunun ayakta kalmasının o tarafta bir karşılığı yoktur.

İkinci sebep kaynak rekabetidir. Aynı makinede biri ağır bir dünya çalıştırdığında ötekiler yavaşlar; sistem dengeyi korumak için en çok tüketen ya da en az kullanılan sunucuyu kapatır. Üçüncüsü hareketsizlik sayacıdır: belirli bir süre hiç girilmeyen sunucular önce arşive alınır, sonra silinir. Bu üçü bir araya gelince "dün akşam çalışıyordu, bugün yok" tablosu çıkar.

Burada model tersine çalışır: sunucunun ayakta kalması ölçülüp ödendiği için onu kapatmayı gerektiren bir sebep yoktur. Sunucun sen durdurana kadar — ya da boşta uyku ayarını açık bıraktıysan oyuncusuz kaldığında — çalışır. Kapanma kararı senindir, sistemin değil.

Sıra (queue) neden oluşur, burada var mı?

Sıra, aynı anda çalışabilecek sunucu sayısının makinede sınırlı olmasından doğar. Talep bu sınırı aşınca yeni istekler bekletilir; oyuncularının "sunucu başlatılıyor" ekranında dakikalarca beklemesinin sebebi budur. Şikâyetin en çok akşam saatlerinde ve hafta sonlarında gelmesi tesadüf değil, sınırın tam o saatlerde dolmasıdır.

Bizde sunucun kendi kaynaklarıyla çalışır: kartta gördüğün RAM ve sana ayrılan çekirdek senindir, ikinci kez satılmaz. Bu yüzden oyuncularının bağlanabilmek için sıraya girmesi diye bir durum yoktur — sunucu açıksa bağlanılır.

Uykudan dönüşte iki şey olur. Birincisi sunucunun kendi açılış süresidir: panelden başlattığında birkaç dakika sürer; istersen bu açılışı oyuncularına da bırakabilirsin — sunucun kapalıyken bekleme adresine bağlanan oyuncu kısa bir bekleme ekranı görür ve sunucu hazır olunca kendiliğinden içeri alınır. İkincisi kapasitedir — o sınıfta sırada bekleyen başka istekler varsa uyandırma da sıraya alınır, çünkü sıra herkes için aynı düzende ilerler. Sıradaki yerin panelde görünür ve beklerken ücret işlemez.

Sunucun kesintisiz açık kalsın istiyorsan

Boşta uyku ayarı yeni sunucularda varsayılan olarak açık gelir: sunucunda 15 dakika boyunca hiç oyuncu yoksa sunucu uykuya geçer ve o andan itibaren saat ücreti işlemez. Amacı, unutulup açık bırakılan bir sunucunun bakiyeni sessizce eritmesini önlemektir — yani seni korumak için vardır, kaynak kısmak için değil. Uyuyan sunucunun oyuncuyu kapıda bırakmaması için ayrıca “Oyuncu girince aç” bölümü vardır: açık olduğunda oyuncuların bekleme adresine bağlanınca sunucu kendiliğinden açılır, yani uyku oyuncunun oynayamaması anlamına gelmez.

Sunucunun kesintisiz açık kalmasını istiyorsan bu ayarı ücretli paketlerde panelden kapatabilirsin. Kapattığında sunucun kimse bağlı olmasa bile sen durdurana kadar çalışır; sürekli açık kalması gereken topluluk sunucuları için doğru seçim budur. Karşılığında açık kaldığı her saat için ücret işler, çünkü kaynak gerçekten ayrılmış durumdadır.

Ücretsiz kademede bu ayar kapatılamaz: ücretsiz bir sunucu oyuncusuz kalınca uykuya geçer. Sunucusunun her an ayakta olması gereken bir topluluk kuruyorsan ücretli bir paket seçmen gerekir — bunu baştan söylüyoruz ki sonradan sürprizle karşılaşma.

Uyku ile kapanma aynı şey değildir

Uykudaki sunucu silinmiş ya da sıfırlanmış değildir: dünyan, eklentilerin ve ayarların olduğu gibi saklanır, sunucu kapalı sayılır ve saat ücreti işlemez. Panelden başlattığında kaldığın yerden devam edersin, adreslerin de değişmez. Sunucuyu her seferinde senin başlatman da gerekmez: “Oyuncu girince aç” açıkken oyuncuların bekleme adresinden girip sunucuyu kendileri açabilir.

Ücretli bir pakette dünyan süre sınırı olmadan saklanır: sunucunu aylarca hiç açmasan da dosyaların yerinde durur, çünkü Dosya Koruması her sunucuda açık ve ücretsizdir. Yalnız ücretsiz kademede bir sınır vardır — sunucu 30 gün boyunca hiç başlatılmazsa dünya ve sunucu birlikte silinir.

Bunun üstüne, dünyanı sunucu makinesinden bağımsız olarak bulutta tutan Dosya Koruması her sunucuda açıktır, ücretsizdir ve kapatılmaz. Her gün otomatik yedek alınır; sunucun çalışırken ayrıca yaklaşık yarım saatte bir geri dönüş noktası oluşur.

Sunucun durduysa sebebini nereden görürsün?

Panelde her sunucunun bir hareket geçmişi vardır ve kapanışın sebebi oraya yazılır: boşta uyku, bakiyenin bitmesi, koyduğun günlük harcama sınırı, çökme ya da senin elle durdurman. "Sunucum neden kapandı" sorusu böylece tahmine kalmaz; tarih ve sebep yan yana durur.

Kısa bir çökmede sunucu kendini toparlar: birkaç saniye sonra yeniden başlar, kesinti saniyelerle sınırlı kalır ve o an içinde bulunduğun (zaten peşin ödenmiş) saat olduğu gibi işler. Aynı sunucu kısa aralıkla üst üste çökerse otomatik yeniden başlatma durur: sunucu kapalı kalır, sayaç kapanır — yeni saat başlamaz — ve sebep hareket geçmişine yazılır. Tekrarlayan çökmenin sebebi genelde yetersiz bellek ya da sorunlu bir eklentidir; konsol kayıtları panelde durduğu için hangi eklentinin hata verdiğini kendin görebilirsin.

Dünyanı buraya taşımak

Başka bir yerde kurduğun dünyayı getirmek için sunucunu oluştur, dünya klasörünü bilgisayarında .zip yap ve panelin Dünyalar bölümünden yükle. Eklentilerini ve yapılandırma dosyalarını Dosyalar bölümünden taşırsın; sonrasında sunucuyu durdurup yeniden başlatman yeterlidir.

Taşımadan önce iki şeyi kontrol et: sunucu yazılımı ve sürüm. Eklenti ailesinde kurulmuş bir dünyayı mod tabanlı bir sunucuya taşımak beklenmedik sonuçlar verir. Yazılımı ve sürümü panelden sonradan değiştirebilirsin, ama sürüm düşürmeden önce mutlaka elle bir yedek al — eski sürüm yeni dünyayı okuyamayabilir.