Selam, Büyük Minecraft sunucularına girdiğinizde sizi karşılayan o merkezi alan var ya, oradan SkyBlock'a, Survival'a, KitPvP'ye geçiyorsunuz. İşte o yapı hub sunucu sistemiyle çalışıyor. Dışarıdan basit görünüyor ama işin arka planı aslında sunucuyu daha düzenli, daha güvenli ve daha profesyonel hale getiriyor.
Bu konuda hub sunucunun ne olduğunu, neden kullanıldığını ve sıfırdan nasıl kurulacağını hem BungeeCord hem de Velocity üzerinden anlatacağım. Teknik kısımlara gireceğim ama olabildiğince anlaşılır tutmaya çalışacağım.
Hub Sunucu Nedir?
Hub sunucu, oyuncuların ilk bağlandığı ve diğer oyun modlarına yönlendirildiği merkezi sunucudur. Bunu bir havaalanı terminali gibi düşünebilirsiniz. Oyuncu önce terminale gelir, sonra istediği kapıdan geçip farklı bir uçuşa geçer. Hub'da da aynı mantık var. Oyuncu önce lobby'ye düşer, oradan NPC, menü veya portal ile istediği moda geçer.
Teknik tarafta ise bu yapı tek bir sunucudan oluşmaz. Şöyle işler:
Bir tane proxy olur
Bir tane hub/lobby sunucusu olur
Survival, SkyBlock, KitPvP gibi modlar için ayrı ayrı sunucular olur
Oyuncu dışarıdan tek IP görür ama içeride aslında birden fazla sunucu birlikte çalışır. Bu yapıya da genel olarak network deniyor.
Neden Hub Kullanılır?
Tek sunucuda her şeyi toplamak başlangıçta kolay geliyor. Ama bir noktadan sonra iş karışıyor. Survival ile PvP aynı yerde olunca eklenti çakışmaları başlıyor, performans dengesizleşiyor, düzen bozuluyor. Bir de bir şey patladığında her şey birlikte gidiyor.
Hub sistemi burada ciddi rahatlık sağlıyor.
Her oyun modu ayrı çalışır
Bir sunucu çökse diğerleri ayakta kalır
Farklı eklenti setleri kullanabilirsiniz
Kaynak yönetimi daha temiz olur
Oyuncuya daha profesyonel bir ilk izlenim verirsiniz
Bir oyuncu sunucuya ilk girdiğinde dümdüz bir spawn yerine düzgün tasarlanmış bir lobby görüyorsa, o sunucuya bakışı otomatik değişiyor. Bu küçük detay gibi duruyor ama değil.
Başlamadan Önce Ne Lazım?
Kuruluma geçmeden önce temel parçaları netleştirelim:
Bir proxy yazılımı
En az bir hub/lobby sunucusu
İsteğe bağlı olarak bir veya daha fazla oyun modu sunucusu
Bir alan adı kullanacaksanız domain
Güvenlik için temel firewall ayarları
Hub kurarken en çok yapılan hata, sadece proxy'yi kurup "tamam oldu" sanmak. Asıl kritik taraf güvenlik ve bağlantı ayarları.
BungeeCord ile Kurulum
BungeeCord yıllardır kullanılan klasik çözüm. Eski rehberlerin çoğu bunu anlatır. Eklenti desteği geniştir, kaynak çoktur, takıldığınız yeri bulmak kolaydır. Eski ama hâlâ iş görür.
1. BungeeCord'u indirin ve başlatın
BungeeCord'u resmi Jenkins sayfasından indirip ayrı bir klasöre koyun. Sonra terminalden çalıştırın:
java -Xms512M -Xmx512M -jar BungeeCord.jarİlk açılışta config.yml oluşur. Sunucuyu kapatıp bu dosyayı düzenleyeceksiniz.
2. Sunucuları tanımlayın
config.yml içinde servers bölümüne alt sunucularınızı ekleyin:
servers:
lobby:
motd: '&aLobby'
address: 127.0.0.1:25566
restricted: false
survival:
motd: '&aSurvival'
address: 127.0.0.1:25567
restricted: falseAynı makinede çalışıyorsanız 127.0.0.1 kullanabilirsiniz. Ayrı makinedelerse gerçek iç IP veya özel ağ IP'si kullanın.
Sonra listeners kısmında oyuncunun ilk düşeceği sunucuyu ayarlayın:
listeners:
- query_port: 25577
host: 0.0.0.0:25565
priorities:
- lobbyVe en kritik ayarlardan biri:
ip_forward: trueBu açık olmazsa UUID, skin ve oyuncu bilgileri düzgün iletilmez.
3. Alt sunucuları hazırlayın
Lobby ve diğer alt sunucularda server.properties içinde şunları ayarlayın:
online-mode=false
server-port=25566Her sunucu için portu değiştirin.
Sonra spigot.yml içinde:
settings:
bungeecord: trueBu ayar da açık olmalı.
4. Güvenlik tarafı
Bu kısmı atlamayın. Gerçekten atlamayın.
Alt sunucuların portlarını dış dünyaya açık bırakırsanız biri proxy'yi bypass edip direkt backend sunucuya bağlanabilir. Bu özellikle online-mode=false yapıdaysa çok kötü sonuç verir.
Yani mantık şu olmalı:
Sadece proxy portu dışarıya açık olsun
Alt sunucu portları firewall ile kapalı olsun
Alt sunuculara sadece proxy erişebilsin
Velocity ile Kurulum
Yeni kurulum yapıyorsanız dürüst olayım, ben Velocity'yi daha mantıklı buluyorum. Daha modern, daha hızlı, daha güvenli. Özellikle modern forwarding sistemi BungeeCord'a göre çok daha sağlam.
1. Velocity'yi kurun
Velocity'yi resmi sitesinden indirip ayrı bir klasörde başlatın:
java -Xms512M -Xmx512M -jar velocity.jarİlk açılışta velocity.toml ve forwarding.secret dosyaları oluşur.
2. velocity.toml ayarları
Dosyada temel yapı şöyle olmalı:
bind = "0.0.0.0:25565"
player-info-forwarding-mode = "modern"
[servers]
lobby = "127.0.0.1:25566"
survival = "127.0.0.1:25567"
try = ["lobby"]Burada önemli nokta şu: player-info-forwarding-mode = "modern" ayarı üst seviyede olmalı, [servers] bloğunun içine yazılmaz.
3. Alt sunucularda Velocity desteğini açın
Alt sunucularda server.properties içinde yine:
online-mode=falseSonra Paper tarafında paper-global.yml dosyasında Velocity desteğini açın. Sürümünüze göre dosya yolu değişebilir ama ilgili bölüm şuna benzer:
proxies:
velocity:
enabled: true
online-mode: true
secret: "forwarding.secret dosyasindaki anahtar"forwarding.secret içindeki anahtarı backend sunuculara aynen yapıştırmanız gerekiyor.
Bu anahtar olmadan proxy ile sunucu güvenli şekilde konuşamaz.
BungeeCord mu Velocity mi?
Kısaca özetleyeyim:
BungeeCord
Daha eski
Kaynak çok
Eklenti desteği geniş
Kurulumu alışıldık
Velocity
Daha modern
Daha iyi performans
Daha güvenli forwarding yapısı
Yeni projeler için daha mantıklı
Sıfırdan kuruyorsanız ben Velocity derim. Zaten çalışan bir BungeeCord ağınız varsa sırf moda uymak için bir gecede geçmenize gerek yok. Ama yeni başlayacaksanız modern taraftan başlamak daha mantıklı.
Hub Lobby Nasıl Olmalı?
Burada en büyük hata lobby'yi gereksiz büyük yapmak. Oyuncu ilk girişte kaybolmamalı. Güzel ama net bir alan olmalı.
Şunlara dikkat edin:
Spawn noktası temiz ve anlaşılır olsun
Hangi moda nereden gidileceği ilk bakışta belli olsun
NPC, hologram ve menüler çok dağınık olmasın
PvP kapalı olsun
Blok kırma ve yerleştirme kapalı olsun
Zaman sabit gündüz, hava sabit açık olabilir
Bir lobby'nin amacı oyuncuyu etkilemek kadar yönlendirmektir. İnsanlar 10 saniye içinde "burada ne yapacağım" sorusuna cevap bulabilmeli.
Sunucular Arası Yetki ve Senkronizasyon
Bu kısım çoğu kişinin sonradan başını ağrıtıyor. Oyuncu lobby'de VIP, survival'da normal oyuncu görünüyorsa orada kötü bir kurulum var demektir.
Yetki senkronizasyonu için en düzgün çözüm LuckPerms kullanmak. Özellikle MySQL ile kurarsanız bütün sunucular arasında yetkiler senkronize çalışır. Bununla ilgili detaylı rehberimi burada anlattım:
Buraya tıklayarak LuckPerms rehberimi görebilirsiniz.
Hub tarafında LuckPerms gerçekten temel eklentilerden biri. Sonradan kurmak yerine baştan düzgün kurmak çok daha rahat.
Hub İçin Önerilen Eklentiler
Hub sunucusunu eklenti çöplüğüne çevirmeyin. Hafif ve net tutun. Ama şu temel set çoğu sunucuda iş görür:
LuckPerms
DeluxeHub veya benzeri bir hub eklentisi
Citizens
DecentHolograms
WorldGuard
ViaVersion
Proxy tarafında ise ihtiyaca göre:
BungeeGuard
LuckPerms proxy sürümü
Basit bir sohbet veya bakım modu eklentisi
Hepsini doldurmak zorunda değilsiniz. Mantık şu: lobby sadece lobby olsun. Survival gibi davranmasın.
En Sık Yapılan Hatalar
Burada biraz dürüst olayım. Aynı hataları o kadar çok görüyorum ki artık ezberledim.
1. Alt sunucu portlarını açık bırakmak
En kritik güvenlik hatası bu.
2. Her şeyi tek makineye plansız yığmak
Çalışır ama büyüyünce dağılır.
3. Hub'a gereksiz eklenti doldurmak
Lobby hafif olmalı.
4. Yetki senkronizasyonunu sonradan düşünmek
Başta yapılmadığında taşıması çok uğraştırır.
5. Oyuncuya ne yapacağını anlatamamak
Güzel map yapmış olmanız yetmez. Anlaşılır da olmalı.
Kısaca
Hub sunucu kurmak ilk bakışta karmaşık gibi görünüyor ama mantığı kavrayınca sistem netleşiyor. Proxy oyuncuyu karşılıyor, hub onu yönlendiriyor, alt sunucular da asıl deneyimi sunuyor.
BungeeCord ile de yapılır, Velocity ile de yapılır. Ama hangi sistemi kullanırsanız kullanın, şu üç şeyi ihmal etmeyin:
Güvenlik
Yetki senkronizasyonu
Oyuncu deneyimi
İlk gün mükemmel olmak zorunda değil. Önce çalışan bir yapı kurun, sonra güzelleştirin. Takıldığınız yer olursa yazın, oradan devam ederiz.

