ViaVersion kurulumu, tek bir Minecraft sunucusuna farklı sürümlerden bağlanılmasını sağlayan en yaygın çözümdür: eklentinin jar dosyasını plugins klasörüne kopyalar, sunucuyu yeniden başlatırsınız ve o andan itibaren sunucunuz kendi sürümünden farklı istemcileri de kabul etmeye başlar. Ayar dosyasına dokunmadan da çalışır. Ama işin bir de dürüst tarafı var, ona da geleceğiz.
Minecraft çoklu sürüm desteği meselesi şuradan çıkıyor: sunucunuz Paper 26.2 üzerinde çalışıyor, oyuncularınızın bir kısmı hâlâ 1.21 profilinde, birkaç eski dost 1.8.9’da PvP yapmayı bırakmıyor. Normalde bu üç grup aynı sunucuda buluşamaz; istemci ile sunucunun protokol numaraları uyuşmadığı için oyun listede kırmızı bir uyarı gösterir. Via ailesi tam bu boşluğu dolduruyor.
Yalnız baştan söyleyelim: Via bir sihir değil, bir çeviri katmanı. Çevirinin yapabileceklerinin de bir sınırı var.
ViaVersion Ne İşe Yarar? Yön Meselesi#
Minecraft istemcisi ile sunucusu birbirleriyle protokol denen bir paket diliyle konuşur ve her sürümün kendi numarası vardır. Sunucu 26.2 ise protokolü 776’dır; 26.2 dışındaki bir istemci bu dili anlamaz ve bağlantı daha başlarken reddedilir.
Via ailesi araya girip paketleri çevirir. Bir 1.21 istemcisinden gelen paketi 26.2 sunucusunun anlayacağı biçime dönüştürür, sunucunun gönderdiği cevabı da istemcinin anlayacağı biçime geri çevirir. Oyuncu tarafında hiçbir kurulum gerekmez — herşey sunucu tarafında olup biter.
Kafa karışıklığının kaynağı yön. Sık sık “ViaVersion kurdum ama eski oyuncular giremiyor” diye destek talebi geliyor; sebep neredeyse her zaman yanlış eklentinin kurulmuş olması.
Via Üçlüsü: Hangisi Ne Yapar?#
| Eklenti | Yön | Desteklenen aralık | Bağımlılık |
|---|---|---|---|
| ViaVersion 5.11.0 | Yeni istemci → eski sunucu | Paper 1.8–26.2 · Velocity 3.4–3.5 | Yok, temel eklenti |
| ViaBackwards 5.11.0 | Eski istemci → yeni sunucu | Paper 1.10–26.2 · Velocity 3.4–3.5 | ViaVersion |
| ViaRewind 4.1.3 | 1.7 ve 1.8 istemcileri | Paper 1.8–26.2 · Velocity 3.4–3.5 | ViaVersion + ViaBackwards |
Karar vermek için tek soru yeter: sunucum mu eski, oyuncum mu?
- Sunucu eski, oyuncular yeni
- Örnek: Spigot 1.8.8 PvP sunucusuna 26.2 istemcisiyle girilmek isteniyor. Kurulacak eklenti ViaVersion. Ayrıntılı senaryo 1.8.9 sunucu kurulumu sayfasında.
- Sunucu yeni, oyuncular eski
- Örnek: Paper 26.2 sunucusuna 1.21 istemcisiyle girilmek isteniyor. Kurulacak eklenti ViaVersion + ViaBackwards.
- Sunucu yeni, oyuncular çok eski
- Örnek: Paper 26.2 sunucusuna 1.8.9 istemcisiyle girilmek isteniyor. Kurulacak eklenti ViaVersion + ViaBackwards + ViaRewind.
plugins klasörüne atıp tek seferde başlatabilirsiniz.Kurulum: Tek Sunucuda#
İndirmeniz gereken dosyalar#
-
ViaVersion 5.11.0Zorunluİndir
-
ViaBackwards 5.11.0Eski istemciler içinİndir
-
ViaRewind 4.1.31.7 / 1.8 içinİndir
-
Via ailesi — resmî indirme sayfasıİndir
Adresin çoğul hâline dikkat: viaversion.com/downloads. Tekil yazım 404 döner. Birincil dağıtım kanalı PaperMC’nin resmî eklenti deposu Hangar’dır.
Kurulum adımları#
-
Sunucu yazılımınızın uygun olduğunu doğrulayın#
Via ailesi Paper, Purpur, Spigot, Velocity, BungeeCord ve Fabric üzerinde çalışır. Mojang’ın resmî
server.jardosyasıyla çalışmaz. Eklenti yükleme yöntemi için plugin kurulumu rehberine bakın. -
İhtiyacınız olan jar’ları plugins klasörüne atın#
Yukarıdaki tabloya göre bir, iki veya üç dosya. Gereksiz olanı kurmayın; her eklenti bir miktar bellek ve başlatma süresi demektir.
-
Sunucuyu düzgün kapatıp açın#
Konsolda
/reloadkullanmayın. Via ailesi ağ katmanına bağlandığı için yeniden yükleme komutu yarım kalmış bağlantılar bırakır.stop -
Desteklenen aralığı konsoldan doğrulayın#
ViaVersion açılırken konsola desteklediği protokol aralığını basar. Bir de oyun içinden kontrol edin: aşağıdaki komut bağlı oyuncuları istemci sürümlerine göre gruplayarak listeler.
/viaversion list /viaversion dump -
Sohbet imzası ayarını kapatın#
1.19 öncesi istemciler sohbet mesajlarını imzalayamaz. Sunucu
enforce-secure-profileayarını zorunlu tutuyorsa bu oyuncular bağlanır bağlanmaz atılır. Eski istemci desteği veriyorsanızserver.propertiesiçinde bu satırı kapatın.enforce-secure-profile=false
config.yml içinde işinize yarayacak satırlar#
# Belirli protokol sürümlerini tamamen engelle
# (örnek: 47 = 1.8.x istemcilerini kapıda durdurur)
block-protocols: []
# Sunucu listesi yanıtında desteklenen sürüm aralığını bildir
send-supported-versions: false
# Eski istemcilerde çarpışma ve takım davranışı düzeltmeleri
prevent-collision: true
auto-team: true
check-for-updates: true
block-protocols en çok işe yarayan satır. Diyelim ki 1.8 istemcilerinde anticheat’i bir türlü oturtamadınız; o protokolü listeye ekleyip kapıyı kapatabilirsiniz. Ayar dosyasındaki diğer satırların çoğu eski sürüm görsel yamalarıyla ilgilidir ve varsayılan değerleriyle bırakılabilir.
Komutlar ve izinler#
| Komut | Ne yapar |
|---|---|
/viaversion list | Bağlı oyuncuları istemci sürümlerine göre gruplayarak listeler |
/viaversion dump | Sürüm ve yapılandırma bilgisini tek çıktıda toplar (hata bildirirken şart) |
/viaversion pps | Saniyede işlenen paket sayısını gösterir; çeviri yükünü ölçmenin en pratik yolu |
/viaversion debug | Ayrıntılı günlük kaydını açar/kapatır |
/viaversion reload | Yapılandırmayı yeniden okur |
/viaversion help | Komut listesini basar |
Komutların tamamı viaversion.admin iznine bağlıdır. Bu izni sıradan oyunculara vermeyin; dump çıktısı sunucunuzun eklenti envanterini ve yapılandırma ayrıntılarını içerir. Yetkili grubuna vermek isterseniz:
/lp group yonetici permission set viaversion.admin true
Proxy Tarafına Kurma: BungeeCord ve Velocity#
Birden fazla sunucuyu bir proxy arkasında topluyorsanız kurulum yeri değişir. Via eklentileri proxy’nin plugins klasörüne konur; arkadaki lobi, survival, minigame sunucularının hiçbirine ayrıca kurmanız gerekmez. Çeviri proxy sınırında bir kez yapılır, arka uçlar hiçbir şeyden haberdar olmaz.
Velocity tarafında ek bir ayrıntı var: modern forwarding (player-info-forwarding-mode = modern) arka uç sunucuların 1.13 ve üzeri olmasını ister. Bu, istemci sürümüyle değil arka uç sunucu sürümüyle ilgilidir; yani 1.8 istemcisi Via üzerinden bağlanabilir ama arka uçta gerçek bir 1.8.8 sunucusu tutuyorsanız modern forwarding kullanamazsınız, legacy moda düşmeniz gerekir. Proxy kurulumunun tamamı BungeeCord ve Velocity ile sunucu ağı kurulumu sayfasında anlatılıyor.
Bedrock oyuncularını da aynı ağa almak istiyorsanız Via ile Geyser birlikte çalışabilir, ama bunlar farklı işler yapar: Via Java istemcileri arasında çeviri yapar, Geyser Bedrock protokolünü Java protokolüne çevirir. Kurulum sırası ve kısıtlar için Geyser ve Floodgate kurulumu sayfasına bakın.
Desteklenen Sürüm Aralığı Nasıl Çalışır?#
Via, her sürüm çifti için ayrı bir çevirici barındırır ve bunları zincirleyerek çalışır. 1.16.5 istemcisinden 26.2 sunucusuna giden bir paket tek adımda değil, aradaki her sürüm için bir kez dönüştürülerek ilerler. Zincir uzadıkça iki şey olur: maliyet artar ve fire artar.
| İstemci sürümü | Protokol | 26.2 sunucusuna bağlanmak için |
|---|---|---|
| 26.2 | 776 | Eklenti gerekmez |
| 26.1 – 26.1.2 | 775 | ViaVersion + ViaBackwards |
| 1.21.x | 767 ve üzeri | ViaVersion + ViaBackwards |
| 1.9 – 1.12.2 | 107 – 340 | ViaVersion + ViaBackwards |
| 1.8.x | 47 | Ayrıca ViaRewind şart |
Sürüm numaralandırmasının 1.21’den 26.1’e nasıl geçtiğini ve protokol numaralarının neden bu kadar sık konuşulduğunu merak ediyorsanız yeni sürüm numaralandırması sayfasında ayrıntısı var.
26.1 Unobfuscation Kırılması ve Via#
Minecraft 26.1 “Tiny Takeover” ile Mojang obfuscated sunucu jar’ı yayımlamayı bıraktı. Bu bir ABI kırılmasıydı: 1.21.11 ve öncesi için derlenmiş, sunucunun iç sınıflarına dokunan hiçbir eklenti yeniden derlenmeden 26.x üzerinde çalışmadı. Paper dahilî remapper’ı kaldırdı, Fabric Mojang Mappings’e geçti.
Via bu depremden görece hafif çıktı ve sebebi mimarisi. Via ağırlıklı olarak paket düzeyinde çalışır; sunucunun iç sınıf yapısına değil, ağdan geçen baytlara bakar ve kendi sürüm eşlemelerini kendi taşır. Sunucunun sınıf adlarının değişmesi bu katmanı doğrudan bozmaz.
Ama “etkilenmedi” demek de doğru olmaz. Üç somut sonuç var:
- Yine de yeni yapı şart. Via’nın Bukkit/Paper platform katmanı birkaç düzeltme için sunucu iç yapısına dokunur; 1.21.11 için derlenmiş bir jar 26.x’te yüklenmez.
- Her yeni drop için eşleme gerekir. Mojang yeni bir sürüm çıkardığında Via ekibi o sürümün eşlemelerini üretip yayımlayana kadar o sürüm desteklenmez. Yükseltmeden önce beklemeniz gereken şey budur.
- Kırılan asıl şey çevredeki eklentiler. Ham paket gönderen hologram, özel GUI ve scoreboard eklentileri 26.1’de yeniden yazılmak zorunda kaldı — ve bunlar zaten çevrilmiş istemcilerde en çok sorun çıkaran eklenti türü.
Sunucu Listesinde Görünen Protokol Sürümü#
Oyuncu sunucunuzu listeye eklediğinde istemci bir “ping” isteği gönderir, sunucu da MOTD, oyuncu sayısı ve protokol numarasını içeren bir cevap döner. İstemci bu numarayı kendi protokolüyle karşılaştırır; uyuşmazsa listede kırmızı yazıyı gösterir ve katıl düğmesini kilitler.
ViaVersion kurulduğunda bu cevaptaki protokol numarası istemcinin protokolüyle eşleştirilerek gönderilir. Sonuç: kırmızı uyarı kaybolur, oyuncu normalde girer gibi girer. Yani “Outdated client” yazısının kaybolması Via’nın çalıştığının en hızlı göstergesidir.
send-supported-versions: true yaptığınızda sürüm alanında tek bir numara yerine desteklenen aralık gösterilir. Bazı sunucu listeleme siteleri bu bilgiyi okuyup “1.8–26.2” gibi bir etiket basar, oyuncu için faydalıdır. Kırmızı uyarının hangi tarafta çıktığını ayırt etmek için “Outdated Server” ve “Outdated Client” hatası sayfasına göz atın; ikisi farklı sorunlara işaret eder.
Bilinen Sınırlar: Her Sürüm Sorunsuz Çalışmaz#
Burası rehberin en önemli bölümü ve çoğu kaynağın atladığı yer. Via bir çeviri katmanı; çeviremeyeceği şeyleri uyduramaz. Eski istemcide olmayan bir bloğu var edemez.
| Sınır | Ne oluyor | Yapılabilecek |
|---|---|---|
| Yeni bloklar ve eşyalar | 26.2’nin cinnabar ve sulfur blokları eski istemcide benzer bir blok olarak görünür | Yeni blokları oyuncuya açık alanlarda kullanmamak |
| Yeni yaratıklar | Sulfur Cube gibi yeni moblar eski istemcide yanlış modelle veya hiç görünmez | Çözüm yok |
| Dünya yüksekliği | 1.16.5 ve öncesi istemciler −64…320 aralığını render edemez | Protokol sınırı, aşılamaz |
| Kaynak paketi | Yeni pack format’ı eski istemcide reddedilir veya bozuk görünür | Eski istemciler için paketi zorunlu tutmamak |
| Komut tamamlama | Yeni komut argüman tipleri eski istemcide tab-complete’i bozar | Komutları sade tutmak |
| Özel GUI ve hologram | Ham paket gönderen eklentiler çevrilmiş istemcide bozulur | Bağımlılıksız modern alternatifleri seçmek |
| Sohbet imzası | 1.19 öncesi istemciler imzalayamaz, sunucu atar | enforce-secure-profile=false |
Genel kural şu: sürüm farkı bir-iki drop ise sorun yaşamazsınız. Fark 1.8 ile 26.2 gibi on yılı aşan bir aralığa çıktığındaysa oyunculara “bu sürümde her şey birebir çalışmaz” demeniz gerekir. Şöyle ki, o oyuncular zaten eski sürümde ısrar ettikleri için bir kısım eksikliği baştan kabul etmiş oluyorlar; asıl mesele beklentiyi doğru kurmak.
Sık karşılaşılan sorunlar#
Destek taleplerinde tekrar tekrar gördüğümüz dört durum var ve dördünün de çözümü kısa:
- Eklenti açılışta devre dışı kalıyor. Neredeyse her zaman sürüm uyumsuzluğu. Konsolda
pluginsyazıp adın yeşil olduğunu doğrulayın, kırmızıysalogs/latest.logdosyasının son satırlarını okuyun. - Bazı oyuncular giriyor, bazıları giremiyor. ViaBackwards ya da ViaRewind eksik. Hangi sürümün girebildiğine bakarsanız hangi eklentinin eksik olduğunu da anlarsınız.
- Oyuncu giriyor ama saniyeler içinde atılıyor. Önce
enforce-secure-profilesatırını kontrol edin, sonra anticheat günlüklerine bakın. - Envanter veya menü bozuk açılıyor. Ham paket gönderen bir eklenti (hologram, özel GUI, scoreboard) çevrilmiş istemciyle uyuşmuyor. Şüpheli eklentiyi geçici kapatıp test edin.
/viaversion dump çıktısını mutlaka ekleyin. Sunucu yazılımı, Java sürümü, yüklü eklentiler ve Via yapılandırması tek seferde toplandığı için sorun çok daha hızlı teşhis ediliyor.Anticheat Yanlış Pozitifleri ve Performans#
Çevrilmiş bir bağlantıda hareket paketleri, zamanlama bilgisi ve hassasiyet birebir aynı olmaz. Anticheat eklentileri de tam olarak bu verilere bakarak karar verir. Sonuç tahmin edilebilir: eski istemcili oyuncular hiçbir hile kullanmadan uçma, hız veya erişim mesafesi uyarısı almaya başlar.
- Anticheat’inizin Via farkındalığı olup olmadığına bakın; bazıları çevrilmiş bağlantılar için ayrı eşik tanımlar.
- Eski protokoller için eşikleri gevşetin ya da o oyuncuları belirli kontrollerden muaf tutun.
- Ayarlarla çözemiyorsanız
block-protocolsile o sürümü tamamen kapatmak dürüst bir tercihtir; sürekli haksız ban yemekten iyidir.
Hangi anticheat’in nasıl davrandığı ve ayar mantığı için anticheat eklentileri ve hile engelleme sayfasına bakın.
Performans tarafında maliyet CPU’dadır. Her bağlantı için paketler gerçek zamanlı çevrilir ve bu iş ana tick döngüsüne ek yük bindirir. Minecraft’ın ana döngüsü tek çekirdekte çalıştığı için burada belirleyici olan çekirdek sayısı değil saat hızıdır; yüksek frekanslı bir AMD Ryzen 9, çok çekirdekli ama düşük frekanslı sunucu işlemcilerine göre gözle görülür fark yaratır. Eklentili bir Paper sunucusunda 2-10 oyuncu için 8 GB, 10-30 oyuncu için 10-12 GB, 30-60 oyuncu için 16 GB RAM ayırın; proxy’li ağlarda 32 GB ve üzeri düşünün. Disk tarafında chunk I/O gecikmesi yüzünden NVMe SSD şarttır.
TPS ölçümü ve darboğaz tespiti için sunucu optimizasyonu rehberine, hazır kurulu Paper paketleri için Batihost Minecraft sunucu paketlerine bakabilirsiniz. Java tarafında 26.x sunucuları Java 25 LTS ister; hangi sürümde neyin gerektiği Java sürümü tablosunda.
Özetle#
ViaVersion kurulumu teknik olarak basit: doğru jar’ı doğru yere koyup sunucuyu yeniden başlatmak. Zor olan doğru eklentiyi seçmek. Sunucunuz eskiyse ViaVersion, sunucunuz yeniyse ViaVersion + ViaBackwards, 1.7/1.8 istemcilerini de alacaksanız üçüncü olarak ViaRewind. Proxy’li bir ağda hepsi proxy tarafına kurulur, arka uçlara değil.
Ardından iki ayarı unutmayın: eski istemci desteği veriyorsanız enforce-secure-profile=false, sorun çıkaran sürümleri kapatmak içinse block-protocols. Yeni Minecraft sürümü çıktığında Via yapıları yayımlanmadan sunucuyu yükseltmeyin.
Ve son olarak beklentiyi doğru kurun. Via sayesinde beş farklı sürümden oyuncu aynı sunucuda buluşabilir, bu gerçekten değerli bir şey. Ama yeni bloklar eski istemcide yanlış görünecek, bazı GUI’ler bozulacak, anticheat ara sıra haksız uyarı verecek. Bunu sunucu kurallarınızda yazmak, sonradan gelen şikâyetlerin çoğunu baştan çözüyor.