İçeriğe geç

Paper, Velocity ve BungeeCord’da NuVotifier kurulumu

NuVotifier, sunucu listesi ile ödül eklentin arasındaki parçadır: liste her oy için ona bağlanır, o da oyu ödülü veren eklentiye teslim eder. Bu rehber onu tek bir Paper sunucusuna ve bir Velocity veya BungeeCord ağına kuruyor, ardından her şeyi bir test oyuyla kontrol ediyor.

Güncellendi:

Votifier bir oyu nasıl teslim eder

  1. Bir oyuncu bir listede sunucuna oy verir.
  2. Liste, Votifier portundan sunucuna bir TCP bağlantısı açar ve oyuncu adını, kendi servis adını, bir adresi ve bir zaman damgasını gönderir.
  3. NuVotifier mesajı kontrol eder (v1 için RSA anahtarı, v2 için token) ve bir oy olayı (vote event) tetikler.
  4. VotingPlugin gibi bir ödül eklentisi bu olayı dinler ve ödülü verir.

NuVotifier kendisi hiçbir şey vermez. Hiçbir listener olmadan gelir, yani ödüller için her zaman ikinci bir eklentiye ihtiyacın var.

1. adım: NuVotifier’ı Paper veya Spigot’a kur

NuVotifier JAR’ını plugins klasörüne koy ve sunucuyu bir kez başlat. Config’ini, bir RSA anahtar çiftini ve bir token oluşturur. Konsol ilk açılışta token’ı yazar: Your default NuVotifier token is ….

plugins/Votifier/config.yml
host: 0.0.0.0
port: 8192
disable-v1-protocol: false
tokens:
  default: <generated token>
forwarding:
  method: none
  pluginMessaging:
    channel: nuvotifier:votes
  • host, NuVotifier’ın dinlediği adrestir. Varsayılan olarak sunucunun ayarlandığı IP’yi ya da tüm arayüzler için 0.0.0.0 alır.
  • port Votifier portudur, varsayılan 8192. Minecraft portu olmamalı.
  • tokens.default, bir listenin servis adı altına token eklemediğin sürece her liste için kullanılır.
  • v1 anahtarları plugins/Votifier/rsa/ içinde public.key ve private.key olarak oluşturulur.

2. adım: Portu erişilebilir yap

Listeler internetten bağlanır, bu yüzden Votifier portu gelen TCP bağlantılarına açık olmalı. Kurulumların çoğu burada takılır.

  • Paylaşımlı hosting: birçok panel yalnızca oyun portunu açar. Panelde ek bir port ekle ve tam olarak o numarayı port satırına yaz. Bazı hostlar numarayı senin için atar.
  • Kendi VPS’in veya root sunucun: portu güvenlik duvarında aç, örneğin ufw allow 8192/tcp.
  • Evde: portu modeminde sunucuyu çalıştıran makineye yönlendir.

Config’i değiştirdikten sonra sunucuyu yeniden başlat. NuVotifier’da konsoldan çalışan bir /nvreload komutu da var.

3. adım: v1 (public key) veya v2 (token) seç

Protokol v1Protokol v2
Gizli bilgiRSA anahtar çiftiOrtak token
Listenin ihtiyacırsa/public.key içeriğitokens.default içindeki token
DestekKlasik Votifier; çoğu liste bunu konuşurNuVotifier ve onu destekleyen listeler

private.key dosyasını asla kimseye verme. Bir liste v2’yi destekliyorsa token daha basit seçenektir: tek satır, anahtar dosyası yok. BestMCServerList ikisini de destekler, o yüzden Votifier sayfanda hangisini istersen seç.

Tek bir sunucuda disable-v1-protocol: false olarak bırak. NuVotifier’ın kendisi birçok listenin yalnızca v1 konuştuğu konusunda uyarıyor.

4. adım: Velocity veya BungeeCord ağları

Bir ağda liste proxy’ye bağlanır. NuVotifier proxy’de çalışır ve oyları ödül eklentisinin bulunduğu backend sunuculara iletir. NuVotifier wiki’si çoğu ağ için plugin messaging öneriyor.

Proxy (Velocity)

plugins/nuvotifier/config.toml
host = "0.0.0.0"
port = 8192
disable-v1-protocol = false

[tokens]
default = "<generated token>"

[forwarding]
method = "pluginMessaging"

[forwarding.pluginMessaging]
channel = "nuvotifier:votes"
cache = "file"

BungeeCord’da aynı anahtarlar YAML biçiminde plugins/NuVotifier/config.yml içinde bulunur. cache = "file", offline olan oyuncuların oylarını saklar ve sonra teslim eder.

Her backend sunucu (Paper)

plugins/Votifier/config.yml
port: -1
forwarding:
  method: pluginMessaging
  pluginMessaging:
    channel: nuvotifier:votes

port: -1 backend’deki listener’ı kapatır, böylece oyları yalnızca proxy alır. Backend’lerinin yalnızca proxy üzerinden erişilebilir olduğundan emin ol, yoksa biri sahte oy gönderebilir.

Diğer seçenek olan method = "proxy", oyları proxy’den her backend’deki bir NuVotifier portuna gönderir; her sunucu için adres, port ve token [forwarding.proxy.<name>] altında ayarlanır. Oy önbelleği olmadığı için plugin messaging genelde daha uygun.

5. adım: Bilgileri gir ve bir test oyu gönder

  1. Önce yerel olarak test et: Paper’da /testvote Steve serviceName=BestMCServerList, proxy’de aynı argümanlarla /ptestvote. Ödül eklentin tepki veriyorsa iç kısım çalışıyor demektir.
  2. BestMCServerList’te sunucunu panelde aç ve Votifier bölümüne git. Sunucunun veya proxy’nin herkese açık adresini, portu ve token’ı (v2) ya da public key’i (v1) gir, sonra kaydet.
  3. Test oyu gönder’e bas. Sıralamaya sayılmayan TestVote için bir oy göndeririz ve teslimat kaydı saniyeler içinde oyun ulaşıp ulaşmadığını gösterir.

BestMCServerList’ten gelen oylar BestMCServerList servis adını taşır. Geyser ve Floodgate üzerinden giren Bedrock oyuncuları prefix’li isimleriyle, örneğin .Steve ile oy verir ve isim NuVotifier’a değişmeden ulaşır. Her Minecraft adı sunucu başına takvim günü başına bir kez oy verebilir; gün Europe/Berlin saatine göre sayılır.

Henüz listede değil misin? Önce sunucunu ekle, sonra bu adıma geri dön.

Sık görülen hatalar ve çözümleri

SorunNeyi kontrol etmeli
Connection refusedNuVotifier çalışmıyor ya da başka bir portu dinliyor. Config’teki portu girdiğin değerle karşılaştır.
Timed outBir güvenlik duvarı veya host trafiği düşürüyor. Portu TCP için aç ya da host’tan ek bir port iste.
Test geliyor, oyuncular bir şey almıyorÖdül eklentisi yok. Konsol şunu yazar: A vote was received, but you don't have any listeners available to listen for it.
Oy v2 ile reddediliyorToken uyuşmuyor. tokens.default değerini boşluk veya tırnak olmadan yeniden kopyala.
Proxy’de çalışıyor, backend’de çalışmıyorBackend pluginMessaging olarak ayarlanmamış ya da kanal adları farklı.
Yanlış port girilmişNuVotifier yerine Minecraft portu cevap veriyor. Votifier portunu kullan.

Oylar gelmeye başladığında ödülleri kur: VotingPlugin ile oy ödülleri rehberimiz servis adını, VoteSites.yml’i ve günlük sınırları anlatıyor. Büyük resim için yeni bir sunucuya nasıl oyuncu bulunur rehberine bak.

Sıkça sorulan sorular

NuVotifier hangi portu kullanır?

Varsayılan olarak 8192 portunu. Config’ten değiştirebilirsin, ama Minecraft portundan ayrı bir port olmalı ve internetten TCP ile erişilebilir olmalı.

NuVotifier token’ını nerede bulurum?

plugins/Votifier/config.yml içinde tokens → default altında. Konsol da ilk açılışta onu yazar.

Ağımdaki her sunucuda NuVotifier gerekli mi?

Plugin messaging ile evet: oyları almak için proxy’de, onları ödül eklentisine iletmek için de forwarding.method: pluginMessaging ve port: -1 ile her backend’de.

v1 mi kullanmalıyım, v2 mi?

Liste destekliyorsa token’lı v2 kullan. RSA public key’li v1 eski kurulumlar için var. BestMCServerList ikisini de destekler.

NuVotifier kendi başına ödül verir mi?

Hayır. Yalnızca oyları alır. VotingPlugin gibi bir ödül eklentisinin onları dinlemesi gerekir.

Kaynaklar

Resmî dokümantasyonla karşılaştırıldı: