Votifier bir oyu nasıl teslim eder
- Bir oyuncu bir listede sunucuna oy verir.
- 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.
- NuVotifier mesajı kontrol eder (v1 için RSA anahtarı, v2 için token) ve bir oy olayı (vote event) tetikler.
- 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 ….
host: 0.0.0.0
port: 8192
disable-v1-protocol: false
tokens:
default: <generated token>
forwarding:
method: none
pluginMessaging:
channel: nuvotifier:voteshost, NuVotifier’ın dinlediği adrestir. Varsayılan olarak sunucunun ayarlandığı IP’yi ya da tüm arayüzler için0.0.0.0alır.portVotifier portudur, varsayılan8192. 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çindepublic.keyveprivate.keyolarak 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ı
portsatı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 v1 | Protokol v2 | |
|---|---|---|
| Gizli bilgi | RSA anahtar çifti | Ortak token |
| Listenin ihtiyacı | rsa/public.key içeriği | tokens.default içindeki token |
| Destek | Klasik Votifier; çoğu liste bunu konuşur | NuVotifier 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)
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)
port: -1
forwarding:
method: pluginMessaging
pluginMessaging:
channel: nuvotifier:votesport: -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
- Ö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. - 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.
- Test oyu gönder’e bas. Sıralamaya sayılmayan
TestVoteiç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
| Sorun | Neyi kontrol etmeli |
|---|---|
| Connection refused | NuVotifier çalışmıyor ya da başka bir portu dinliyor. Config’teki portu girdiğin değerle karşılaştır. |
| Timed out | Bir 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 reddediliyor | Token uyuşmuyor. tokens.default değerini boşluk veya tırnak olmadan yeniden kopyala. |
| Proxy’de çalışıyor, backend’de çalışmıyor | Backend 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.