İçeriğe geç

VotingPlugin ile Minecraft oy ödülleri

Sunucu listeleri her oy için sunucuna bir mesaj gönderir, ama bir ödül eklentisi buna tepki verene kadar hiçbir şey olmaz. VotingPlugin popüler bir seçim: oy sitesi başına eşya, para veya komut verir, /vote ile oy linklerini gösterir ve oy partileri ile seriler gibi ekstralar ekler. Bu rehber onu adım adım BestMCServerList’e bağlıyor.

Güncellendi:

Bir oy nasıl ödüle dönüşür

Üç parça birlikte çalışır. Bir oyuncu bir sunucu listesinde oy verir. Liste, sunucundaki Votifier’a oyuncu adıyla ve listeyi tanımlayan bir servis adıyla birlikte bir oy mesajı gönderir. VotingPlugin bu mesajları dinler, ServiceSite değeri servis adıyla eşleşen oy sitesini bulur ve o sitenin ödüllerini çalıştırır.

Yani VotingPlugin oyları kendi başına almaz. Önce çalışan bir Votifier’a, genelde NuVotifier’a ihtiyacın var. Henüz kurmadıysan NuVotifier kurulum rehberini takip et ve geri gel.

  • Votifier oyu alır ve kontrol eder (v2 için token, v1 için RSA anahtarı).
  • VotingPlugin servis adını eşleştirir ve ödülleri verir.
  • BestMCServerList servis adı olarak BestMCServerList gönderir.

1. adım: VotingPlugin’i kur

  1. NuVotifier’ın çalıştığından ve erişilebilir olduğundan emin ol. Votifier sayfandan gönderilen bir test oyu konsolda görünmeli.
  2. VotingPlugin JAR’ını Spigot veya Paper sunucunun plugins klasörüne koy ve bir kez yeniden başlat.
  3. VotingPlugin dosyalarını oluşturur; aralarında oy siteleri için plugins/VotingPlugin/VoteSites.yml ve genel ayarlar için Config.yml var.

Bir proxy ağında oylar genelde proxy’ye gelir, ödüller ise backend sunucularda çalışır. VoteSites.yml dosyasını her backend’de aynı tut.

2. adım: BestMCServerList’i VoteSites.yml’e ekle

Yer aldığın her liste VoteSites altında kendi girdisini alır. Anahtar dahili bir isimdir: kısa tut, boşluk ve nokta kullanma. Önemli satır ServiceSite.

plugins/VotingPlugin/VoteSites.yml
VoteSites:
  BestMCServerList:
    Enabled: true
    Name: 'BestMCServerList'
    Priority: 5
    ServiceSite: 'BestMCServerList'
    VoteURL: 'https://bestmcserverlist.net/server/your-server/vote'
    VoteDelay: 24h
    WaitUntilVoteDelay: false
    VoteDelayDaily: true
    ForceOffline: false
    DisplayItem:
      Material: 'DIAMOND'
      Amount: 1
    Rewards:
      Commands:
      - 'eco give %player% 250'
      - 'give %player% diamond 2'
      Messages:
        Player: '&aThanks for voting on BestMCServerList!'
  • Enabled: true gerekli, varsayılan değer false.
  • ServiceSite, listenin gönderdiği servis adıyla eşleşmeli. VotingPlugin büyük/küçük harfe bakmadan karşılaştırır, ama onun dışında metin birebir aynı olmalı. Bizde bu BestMCServerList.
  • VoteURL, oyuncuların /vote ile aldığı linktir. Oy linkini sunucu sayfandan kopyala; your-server senin kendi slug’ın yerine geçer.
  • DisplayItem her site için zorunlu, çünkü VotingPlugin menülerinde gösterilir.
  • Komutlar konsoldan çalışır ve %player% oy verenin adına dönüşür. eco give bir ekonomi eklentisi ister; sunucunda hangi komutlar varsa onları kullan.

Dosyayı kaydet ve /av reload çalıştır.

3. adım: Oy bekleme süresi ve günlük sıfırlama

BestMCServerList’te her Minecraft adı sunucu ve takvim günü başına bir kez oy verebilir; gün Europe/Berlin saat dilimine göre belirlenir. Yeni bir oy son oydan 24 saat sonra değil, Berlin saatiyle gece yarısından hemen sonra mümkün olur.

  • VoteDelay: 24h, oyuncuların gördüğü geri sayım olan /vote next için kullanılır. Oyları engellemez.
  • VoteDelayDaily: true ise bekleme süresini günde bir kez sıfırlar; bu, bizimki gibi günlük sıfırlanan listelere uyar. VoteDelayDailyHour saati sunucu saatiyle (1–24) ayarlar. Sunucunun saati Berlin saatinde çalışmıyorsa ayarlarken farkı hesaba kat.
  • WaitUntilVoteDelay: true, bekleme süresi dolmadan gelen oyları reddeder. Bunu false bırak: isim ve gün başına bir oyu zaten biz sağlıyoruz, yanlış bir bekleme ayarı da oyunculara ödüllerini kaybettirir.

4. adım: Ödülleri test et

  1. /av vote <player> BestMCServerList çalıştır. Bu, o sitenin ödüllerini bir oyuncu için çalıştırır ve ödül config’inin çalıştığını gösterir. Votifier’ı test etmez.
  2. BestMCServerList’te Votifier sayfanı aç ve Test oyu gönder’e bas. Sıralamaya sayılmayan TestVote adı için bir oy göndeririz. Teslimat kaydı sunucunun oyu kabul edip etmediğini gösterir.
  3. Konsolda [VotingPlugin] Received a vote from service site 'BestMCServerList' by player 'TestVote'! gibi bir satır ara.
  4. VotingPlugin’in şimdiye kadar aldığı servis adlarını listelemek için /av servicesites çalıştır.

Test oyu geliyor ama VotingPlugin bilinmeyen bir service site bildiriyorsa sorun ServiceSite satırındadır. Config.yml’de AutoCreateVoteSites: true (varsayılan) ile VotingPlugin kendi başına yeni bir girdi de oluşturabilir; yine de ona Enabled: true ve ödüllerini eklemen gerekir.

Bedrock oyuncuları ve offline oylar

Geyser ve Floodgate üzerinden giren Bedrock oyuncularının bir isim prefix’i vardır, varsayılan olarak bir nokta: .Steve. Bu tam isimle oy verirler ve biz onu Votifier’a değiştirmeden iletiriz. VotingPlugin’de Config.yml içinde aynı prefix’i ayarla. Bir ağda proxy’de ve her backend’de aynı değeri kullan:

plugins/VotingPlugin/Config.yml
BedrockPlayerPrefix: '.'

.Steve ve Steve farklı oyunculardır. Bir ismi uydurmak için prefix’i asla kaldırma.

Oyuncuların oy verirken online olması gerekmez. Ödüllerin ONLINE, OFFLINE veya BOTH (varsayılan) olan bir RewardType değeri vardır. Offline oyları da test et, çünkü online bir oyuncu isteyen komutlar farklı davranır.

Oy partileri, kilometre taşları ve seriler

Temel ödüller çalıştığında SpecialRewards.yml oyuncuları oy vermeye devam ettiren hedefler ekler: tüm sunucu belli bir oy sayısına ulaşınca tetiklenen bir VoteParty, kişisel toplamlar için VoteMilestones ve art arda birkaç gün oy vermek için VoteStreaks. Ödülleri faydalı ama adil tut; ekonomini bozan ödüller oy vermeyi zorunluluk gibi hissettirir.

En çok oy verenlere bir rütbe rozeti mi istiyorsun? LuckPerms prefix rehberi, oyunculara bir komutla görsel prefix vermeyi gösteriyor; bu komutu ödül olarak çalıştırabilirsin.

Sık yapılan hatalar

SorunÇözüm
Test oyu geliyor, kimse bir şey almıyorOy sitesi etkin değil ya da ServiceSite değeri BestMCServerList değil. /av servicesites ile kontrol et.
Konsolda hiçbir şey yokVotifier oyu almıyor. Votifier sayfandaki teslimat kaydıyla portu, token’ı ve güvenlik duvarını kontrol et.
NuVotifier hiç listener olmadığını yazıyorVotingPlugin kurulu değil ya da yüklenmedi. Açılış log’una bak.
/av vote çalışıyor, gerçek oylar çalışmıyorYönetici komutu Votifier’ı atlar. Bunun yerine Test oyu gönder ile test et.
Bedrock oyuncuları hiçbir şey almıyorBedrockPlayerPrefix, Floodgate prefix’inle uyuşmuyor.

Sıkça sorulan sorular

VotingPlugin için BestMCServerList’in servis adı nedir?

BestMCServerList. Tam olarak bunu VoteSites.yml’deki oy sitesinin ServiceSite satırına yaz.

VotingPlugin için NuVotifier gerekli mi?

Evet. Ödülleri VotingPlugin verir, ama oylar sunucuna Votifier üzerinden ulaşır. NuVotifier bakımı süren sürümdür ve v1 ile v2 protokollerini destekler.

Oyuncular BestMCServerList’te ne zaman tekrar oy verebilir?

Minecraft adı, sunucu ve takvim günü başına bir kez. Gün, Europe/Berlin saat dilimine göre gece yarısı değişir.

Bedrock oyuncuları oy ödülü alır mı?

Evet, .Steve gibi tam Floodgate adlarıyla oy verirlerse ve VotingPlugin’deki BedrockPlayerPrefix Floodgate prefix’inle eşleşirse.

Kaynaklar

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