Kendi makinen için bir oyun sunucusu paneli

Zelie, kendi sunucuna kurduğun bir oyun sunucusu paneli. Minecraft, Rust, Valheim ve başka oyunları Pterodactyl ile Pelican'ın kullandığı egg'lerle tek bir Linux sunucuda çalıştırır; kurman gereken bir Docker, bakman gereken bir veritabanı yok.

Zelie'de bir Minecraft sunucusunun canlı konsolu, renkli log satırlarıyla

01

Zelie bir oyun sunucusu için ne yapar

Bir oyun seçersin; bellek, CPU, disk ve portları ayarlarsın, Zelie de oyunu egg'in kendi kurulum betiğiyle kurar. Ondan sonra sunucunun, onu çalıştırmak için gereken her şeyin bulunduğu bir sayfası olur.

Konsol
Renkli canlı çıktı, açtığında son 500 satır ve geçmişi tutan bir komut satırı. Başlat, durdur, yeniden başlat ve zorla kapat.
Dosyalar ve editör
Tarayıcıda bir dosya yöneticisi: sürükleyerek yükleme, arşivler ve C#, JavaScript, Lua, JSON, YAML ile config dosyalarını renklendiren bir kod editörü.
SFTP
Bir SSH anahtarıyla ya da yalnız o sunucu için üretilmiş bir şifreyle girersin. Hesap şifren SFTP'de hiçbir zaman çalışmaz.
Zamanlamalar
Konsol komutları, güç işlemleri ve yedekler için cron zamanları, sırayla çalışır.
Yedekler
Sunucunun dosyaları bir zamanlamayla, sunucuda şifrelenerek; bir kopyası da S3 uyumlu herhangi bir depolamada.
Steam güncellemeleri
Zelie saatte bir en son build'in hangisi olduğuna bakar ve kimse oynamıyorken oyunu güncelleyebilir.
Oyuncular
Rust ve Minecraft için: kim çevrimiçi, kim uğramış, sohbet, kick, ban ve notlar. Bazı başka Steam oyunlarında da çevrimiçi olanların listesi var.
Portlar
Her kullanımın port havuzundan hangi portu alacağını sen seçersin. Zelie onları güvenlik duvarında açar, sunucu silinince kapatır.
Metrikler
Her sunucu için CPU, bellek ve ağ; başlıktaki kullanım renklidir, böylece fazla yüklenen bir sunucu göze çarpar.

02

Listedeki oyunlar

Zelie 21 oyun listeler; bunlar Pelican egg depolarından, her Zelie sürümünün belirttiği sabit bir commit'ten alınır. Her değişiklikte her kayıt otomatik olarak indirilip kontrol edilir.

Minecraft (8)

  • Vanilla
  • Paper
  • Purpur
  • Fabric
  • Forge
  • NeoForge
  • Velocity
  • Bedrock

Hayatta kalma ve inşa (10)

  • Rust
  • Valheim
  • Palworld
  • ARK: Survival Ascended
  • 7 Days to Die
  • Project Zomboid
  • Enshrouded
  • V Rising
  • Sons of the Forest
  • Satisfactory

Nişancı ve sandbox (3)

  • Counter-Strike 2
  • Garry’s Mod
  • Squad

Başka her egg de çalışır. Pterodactyl ya da Pelican biçimindeki bir egg dosyasının https adresini yapıştırırsın, Zelie onu içe aktarır.

Bunun ne kadar kanıtlandığına dair bir not. Zelie genç ve hızlı ilerliyor. Minecraft otomatik testlerinde baştan sona çalışıyor, Rust da gerçek bir sunucuda kurulup oynandı. Diğer oyunlar listede ve egg'leri kontrol ediliyor, ama her oyun henüz canlı bir sunucuda oynanmadı. Önemli olanın yedeğini al.

İki oyunun kendi kılavuzu var: Minecraft sunucu paneli ve Rust sunucu paneli.

03

Portlar, güvenlik duvarı ve oyuncuların kullandığı adres

Oyun sunucuları portlarını bir kez kurduğun bir havuzdan alır; tek bir IP adresinde ya da birkaçında. Her kullanımın kendi portu var: oyun, query portu, RCON ve Rust için companion uygulaması. Her birinin havuzdan hangi portu alacağını sunucuyu oluştururken, sonra da Network sekmesinde sen seçersin.

Zelie portları nftables ile container'a yönlendirir, ufw açıksa onlara orada izin verir. Oyuncular doğrudan sunucuya bağlanır, oyun trafiği hiçbir zaman bir tünelden geçmez. Server sayfası, makinenin ağ kartlarından bulunan ve oyuncuların kullanması gereken adresi gösterir.

04

Alışılmış varsayılanlardan daha güvenli

  • Egg'in boş bıraktığı ya da changeme gibi bir yer tutucuya ayarladığı RCON veya admin şifresi, sunucu oluşturulurken uzun, rastgele bir değer alır.
  • Her oyun sunucusu kendi user namespace'i olan kendi container'ında çalışır. Hiçbir şey ayrıcalıklı (privileged) çalışmaz.
  • Dosya yöneticisi, volume'da bırakılmış bir sembolik link üzerinden bile olsa sunucunun kendi klasöründen dışarı çıkamaz.
  • Her yöneticinin giriş yapmak için bir passkey'e ya da bir doğrulama uygulamasına ihtiyacı var.

Mimari sayfası panelin, çekirdeğin ve container'ların birbirinden nasıl ayrı tutulduğunu anlatıyor.

05

Kimin için

Zelie, kiralık bir makinede Minecraft ya da Valheim sunucusu isteyen bir arkadaş grubuna ve birkaç sunucu çalıştırıp hepsini tek yerde toplamak isteyen küçük bir hosting'e uyar. Bir web sitesini, veritabanını ve bir oyun sunucusunu üç ayrı araç olmadan aynı makinede isteyen herkese de uyar.

Henüz herkese uymuyor. Zelie tek bir sunucuyu yönetir ve yalnız yöneticiler giriş yapabilir. Oyuncular tek bir oyun sunucusu için kendi kısıtlı girişlerini alamaz, tek bir panel de birkaç makineyi çalıştıramaz. İkisi de listede; birden çok sunucu ücretli bir sürüm olarak planlanıyor.

06

Yalnız oyun için yapılmış panellerle karşılaştırınca

Pterodactyl ve Pelican oyun sunucuları için yapılmış ve bu işi iyi yapıyor. Olgunlar, birçok makineyi yönetiyorlar ve oyunculara kendi erişimlerini vermene izin veriyorlar. Ama birkaç parçadan oluşuyorlar: veritabanı, web sunucusu ve Redis ile bir PHP paneli, bir de her makinede Docker kullanan bir daemon.

Zelie kendi containerd'si olan tek bir binary ve oyun sunucularının yanında uygulamaları ve veritabanlarını da çalıştırıyor. Bugün birkaç makineye ya da alt kullanıcılara ihtiyacın varsa Pterodactyl ya da Pelican'da kal. Pterodactyl karşılaştırması farkları daha ayrıntılı anlatıyor.

07

Sorular

Pterodactyl egg'imi içe aktarabilir miyim?

Evet. Zelie Pterodactyl ve Pelican biçimindeki egg'leri okur. Sunucu oluştururken egg dosyasının https adresini yapıştır.

Docker gerekiyor mu?

Hayır. Zelie kendi containerd'sini getirir ve container'ları kendisi çalıştırır. Makinede zaten Docker varsa kalabilir. Zelie Docker'ın container'larına ve güvenlik duvarı kurallarına hiç dokunmaz.

Pelican ya da Wings ile yan yana çalışır mı?

Evet, aynı makinede. Wings SFTP için 2022 portunu, Zelie 2222'yi kullanır, yani varsayılan olarak çakışmazlar. Bir alan adı kullanırsan iki panel de 80 ve 443 portlarını ister; bu yüzden Zelie'ye bir Cloudflare Tunnel üzerinden eriş ya da öbür web sunucusunu bu portlardan taşı. Her panele kendi oyun portu aralığını ver.

Zelie ücretsiz mi?

Evet, tek bir sunucuda; oyun sunucusu, uygulama ya da veritabanı sınırı yok. AGPL lisansıyla açık kaynak. Birkaç sunucuyu tek panelden yönetmek ücretli bir sürüm olacak.

Arkadaşlarım tek bir sunucuyu yönetmek için giriş yapabilir mi?

Henüz değil. Bugün yalnız yöneticiler giriş yapabiliyor ve her birinin bir passkey'e ya da doğrulama uygulamasına ihtiyacı var. Tek bir oyun sunucusu için izinleri olan kullanıcılar planlanıyor.

Zelie'yi kur

Bunu bir Debian veya Ubuntu sunucusunda root olarak çalıştır. Sürümün imzasını kontrol eder, Zelie'yi kurar ve insanların panele nasıl ulaşacağını sorar.

curl -fsSL https://github.com/Caria-Core/zelie/releases/latest/download/install.sh | sh

Tek sunucuda ücretsiz. Neleri değiştirdiğini bilmek istersen önce kurulumun nasıl işlediğini oku.

Pterodactyl egg'lerini çalıştıran oyun sunucusu paneli · Zelie