Oy ödülleri nasıl ayarlanır (Votifier, VotingPlugin ve daha fazlası)

Eşlik eden eklentiyi kurun, anında teslimat için Votifier'ı yapılandırın, ya da bunun yerine VotingPlugin, SuperVotes veya SuperbVote'u bu siteye bağlayın - bu sitenin gerçekten beklediği değerlerle.

Her ödül eklentisinin sizden iki şeye ihtiyacı vardır: bir oy verildiğini öğrenmenin bir yolu ve bu gerçekleştiğinde çalıştırılacak bir şey. Bu yazı ikisini de ele alıyor - bu sitenin yayınladığı eşlik eden eklenti, anında teslimat için Votifier, ve zaten VotingPlugin, SuperVotes veya başka bir ödül eklentisi kullanıyorsanız ne yapmanız gerektiği.

Seçenek A: VoxelRank eklentisi (önerilir)

Eşlik eden eklenti doğrudan bu sitenin API'siyle konuşur. Votifier gerekmez - eklenti belirli aralıklarla teslim edilmemiş oyları sorgulayarak çalışır, bu yüzden NAT arkasında da çalışır ve sunucu kapalıyken kaçırılan her şeyi yakalar. Votifier da mevcuttur, anında teslimat için isteğe bağlı bir ek olarak (bkz. Seçenek B).

  1. Jar dosyasını Kontrol Panelinizden indirin (sunucunuzun kartında bir build oluşturulduğunda bir İndir düğmesi belirir), ya da doğrudan /download/plugin adresinden.
  2. Bunu plugins/ klasörüne koyun ve sunucuyu bir kez başlatın. Bu, plugins/VotingSite/config.yml dosyasını oluşturur.
  3. Sunucunuzun Düzenle sayfasını → Ödüller ve oylama sekmesini açın ve orada gösterilen API anahtarını kopyalayın.
  4. Bunu config.yml içindeki site.api-key alanına yapıştırın (ayrıca site.url'nin bu siteye işaret ettiğinden emin olun), ardından /votingsite reload komutunu çalıştırın.
  5. config.yml içinde mode ayarını yaparak oyların size nasıl ulaşacağına karar verin:
    • poll (varsayılan) - eklenti teslim edilmemiş oyları kendisi çeker. Başka bir şey kurmaya gerek yok.
    • votifier - site her oyu verildiği anda gönderir. NuVotifier veya başka bir Votifier dinleyicisi gerektirir (aşağıdaki Seçenek B).
    • both - Votifier gönderimi, güvenlik ağı olarak sorgulamayla birlikte, oy kimliği sayesinde yinelenme olmadan.
  6. rewards.commands alanını (isterseniz milestones ve vote-party alanlarını da) bir oyda çalıştırılacak konsol komutlarıyla doldurun.
  7. Test edin: /votingsite testvote <player> gerçek bir oy beklemeden bir oyu simüle eder. /votingsite status modu, API anahtarının kabul edilip edilmediğini ve şu ana kadar kaç oyun teslim edildiğini gösterir.

Oyuncular oy verme linklerini ve sayılarını /voxelrank vote ile alır - bu eklentinin bilerek hiçbir zaman sahiplenmediği /vote ile değil (aynı komut için yarışan iki eklenti, tam olarak bir ödülün sessizce çalışmayı bırakmasının nedenidir - bununla ilgili config.yml'deki ilgili notaya bakın).

Seçenek B: NuVotifier ile anında teslimat

poll modu sizin için zaten yeterince iyi çalışıyorsa bu bölümü atlayın - zorunlu değildir. Sorgulamanın birkaç dakikalık gecikmesi önemliyse, ya da bu sitenin kendi eklentisi yerine özel bir ödül eklentisi çalıştırmayı tercih ediyorsanız ekleyin.

NuVotifier, orijinal Votifier'ın aktif olarak sürdürülen bir fork'udur - orijinal proje bugün esasen bakımsızdır, bu yüzden "Votifier kurmak" pratikte NuVotifier (veya VotifierPlus gibi uyumlu bir fork) kurmak anlamına gelir.

  1. NuVotifier jar dosyasını plugins/ klasörüne koyun ve sunucuyu yeniden başlatın. Bir Bukkit/Spigot/Paper sunucusunda, geriye dönük uyumluluk için klasik plugins/Votifier/ klasör adını korur - bu, eski eklentiden kalma bir şey değil, NuVotifier'ın kendi klasörüdür - ve ilk başladığında içinde bir config.yml ile rsa/ klasöründe bir anahtar çifti oluşturur.
  2. Kimlik bilgilerinizi plugins/Votifier/config.yml dosyasından alın: v2 token (önerilir) tokens: bölümündeki default anahtarı altında otomatik olarak oluşturulur - olduğu gibi kopyalayın. Daha eski yöntemi tercih ederseniz, v1 genel anahtarı plugins/Votifier/rsa/public.key dosyasındadır; eşleşen private.key dosyasını sunucudaki aynı klasörde tutun ve asla paylaşmayın.
  3. NuVotifier'ın dinlediği port'u kontrol edin (varsayılan 8192) ve güvenlik duvarınızda veya hosting panelinizde açık olduğundan emin olun - bu, normal Minecraft portundan ayrı bir porttur ve çoğu hosting bunu otomatik olarak açmaz.
  4. Sunucunuzun Düzenle sayfasında → Ödüller ve oylama sekmesinde Votifier host'unu (sunucunuzun adresi) ve bu portu doldurun, ardından 2. adımdaki v2 token'ı veya v1 anahtarını yapıştırın. İkisi de doldurulursa yalnızca biri kullanılır - v2 önceliklidir.
  5. Doğrudan o sekmede Test oyu gönder düğmesine tıklayın. Bu, formda o anda bulunan host/port/anahtar/token'a gerçek bir Votifier paketi gönderir - önce herhangi bir şey kaydetmeye gerek yoktur - ve NuVotifier'ın onu kabul edip etmediğini anında bildirir. Başarısız olursa, NuVotifier'ın kendi konsol günlüğü (varsayılan olarak debug: true) bağlantının eklentiye ulaşıp ulaşmadığını gösterir, bu da "yanlış anahtar" ile "engellenmiş port"u hızlıca ayırt etmenizi sağlar.
  6. Kaydedin, ardından gerçek bir oy verin ve ödülün bir sonraki sorgulamada değil hemen ulaştığını doğrulayın.

Perde arkasında bu site, bir v2 token ayarlandığında HMAC ile imzalanmış bir JSON yükü içeren standart bir VOTIFIER 2 el sıkışması gönderir, aksi takdirde klasik, RSA ile şifrelenmiş bir v1 bloğuna geri döner - herhangi bir Votifier uyumlu dinleyicinin zaten konuştuğu aynı protokol, siteye özgü hiçbir şey yok.

Zaten VotingPlugin mi kullanıyorsunuz?

Sunucunuzda zaten VotingPlugin çalışıyorsa, bizimkini kurmanıza gerek yok - ve bu siteyi elle eklemenize de gerek yok, çünkü VotingPlugin'de bunun için sürdürülen bir preset var.

Oyun içinde operatör olarak (veya VotingPlugin.Commands.AdminVote.VotePresets iznine sahip olarak) şunu çalıştırın:

/av VotePresets

VotingPlugin, güncel preset listesini kendi VotingPlugin-Presets deposundan indirir, birini seçmenize izin verir - VoxelRank da dahildir - ardından o preset'in ihtiyaç duyduğu değerleri sorar: görünen ad, ilanınızın oy verme URL'si, oylar arası gecikme ve benzerleri. Ya da doğrudan kendi oy verme linkinizle devam edin:

/av VotePresets https://voxelrank.com/server/your-slug/vote

https:// kısmını da ekleyin; VotingPlugin, sizi bir listede aratmak yerine host adını otomatik olarak doğru preset'e eşler.

Her iki durumda da, VoteSites.yml dosyasındaki VoteSites: altında ilgili girdiyi yazar veya günceller - ServiceSite, VoteURL, makul varsayılan gecikmeler ve sitenin henüz sahip olmadığı bir yer tutucu görüntü öğesi veya teşekkür mesajı - ardından oy verme sitelerini sizin için yeniden yükler. Dosyada zaten bulunan diğer her şey dokunulmadan kalır. Yeni bir tane eklemek yerine yerleşik bir kurulumu değiştiriyorsanız önce VoteSites.yml dosyasını yedekleyin ve oyunculara duyurmadan önce ne yazıldığını gözden geçirin - özellikle ödülleri, çünkü bir preset bitmiş bir yapılandırma değil, bir başlangıç noktasıdır.

VotingPlugin, oyları gerçekten alabilmek için yine de kendi Votifier bağlantısına ihtiyaç duyar - onu yukarıdaki Seçenek B'deki aynı NuVotifier kurulumuna yönlendirin. Ayrıca preset'leri indirebilmesi için sunucunun GitHub'a (raw.githubusercontent.com) ulaşabilmesi gerekir; /av VotePresets kullanılabilir preset olmadığını bildirirse, bu sunucudaki bir ağ veya güvenlik duvarı sorunudur, eksik bir preset değil. Yedek olarak /av gui, ya da VoteSites.yml dosyasını doğrudan düzenlemek, hâlâ çalışır - ServiceSite tam olarak VoxelRank.com olmalıdır, bunu gerçek veya yönetici test oyundan sonra /av servicesites ile doğrulayabilirsiniz.

Diğer ödül eklentileri

VotingPlugin'den daha hafif bir şey mi kullanıyorsunuz? SuperVotes ve SuperbVote, kendi vote-party ve ödül komutu sistemlerine sahip hafif Votifier dinleyicileridir. İkisi de VotingPlugin'in yaptığı gibi site başına preset takip etmez - ikisinden birini yukarıdaki Ödüller ve oylama sekmesindeki aynı Votifier host'una, portuna ve v2 token'ına (veya v1 anahtarına) yönlendirin ve ödüllerini herhangi bir oy için yapacağınız gibi yapılandırın.

Sorun giderme

  • /votingsite testvote ile hiçbir şey olmuyor. Önce /votingsite status komutunu kontrol edin - API anahtarı kabul edilmiyorsa, oyların (gerçek veya test) gidecek bir yeri yoktur. Düzenle sayfasından yeniden kopyalayın ve sonunda fazladan boşluk olmadığından emin olun.
  • Votifier gönderimi hiç ulaşmıyor ama sorgulama çalışıyor. Genellikle API değil, Votifier portu engellidir - çoğu hosting varsayılan olarak giden HTTP trafiğini açar, ancak rastgele ek bir gelen portu açmaz. mode: both (veya başka bir ödül eklentisinin dinleyicisini ayrıca çalıştırmak), güvenlik duvarıyla uğraşmak yerine makul, kalıcı bir yedek çözümdür.
  • Ödül tetikleniyor ama oyunda hiçbir şey görünmüyor. Ödül komutları konsolda çalışır, bu yüzden yalnızca bir oyuncu tarafından yazıldığında çalışan bir komut (izin yok, op yok) sessizce başarısız olur. Önce tam komutu konsoldan test edin.
  • VotingPlugin "invalid service site" kaydı düşüyor veya oyu hiç eşleştirmiyor. ServiceSite değeri, büyük/küçük harf hariç, karakteri karakterine eşleşmelidir. Bu sitenin alan adından tahmin etmek yerine /av servicesites ile kontrol edin.
  • /av VotePresets kullanılabilir preset olmadığını söylüyor, ya da bir URL hiçbir şeyle eşleşmiyor. Preset listesini çalışma zamanında GitHub'dan indirir, bu yüzden bu neredeyse her zaman sunucunun kendi ağının - güvenlik duvarı, proxy, DNS veya bir GitHub kesintisi - raw.githubusercontent.com'u engellemesidir, VoxelRank'ın listeden çıkarıldığının bir işareti değildir. URL eşleşmesi ayrıca https:// dahil tam adresi gerektirir; sadece host adları tanınmaz.
  • Ödüller ve oylama sekmesindeki ayarlar kaydedilmiyor gibi görünüyor. Yalnızca hak talebinde bulunulmuş bir ilana uygulanır - sunucu listesindeki Hak talebinde bulunuldu filtresine bakın. İçe aktarılmış, hak talebinde bulunulmamış bir taslağın henüz ödül yapılandıracağı bir sahibi yoktur; önce hak talebinde bulunun.

Hızlı cevaplar

Votifier'a hiç ihtiyacım var mı?

Hayır. poll modu (VoxelRank eklentisi için varsayılan) başka bir şey kurmadan çalışır - Votifier yalnızca oy ile ödül arasındaki gecikmeyi kısaltır ve bunun yerine VotingPlugin, SuperVotes veya SuperbVote çalıştırmayı tercih ediyorsanız tek giriş yoludur.

Eklentimizi ve VotingPlugin'i aynı anda kullanabilir miyim?

Aynı ödül için hayır - ödül komutlarını gerçekten çalıştıracak birini seçin, aksi takdirde bir oy iki kez ödenebilir. Votifier'ın kendisi birden fazla dinleyiciyi bilgilendirebilir, bu yüzden bu bir "aynı ödülü iki kez yapılandırma" kuralıdır, teknik bir sınırlama değil.

Hostingim Votifier için ek port açmama izin vermiyor.

VoxelRank eklentisiyle poll modunu kullanın. Yalnızca giden istekler yapar, bu yüzden açılacak bir şey yoktur. VotingPlugin ve benzer ödül eklentilerinin sorgulama moduna eşdeğeri yoktur - gelen bir Votifier portuna ihtiyaç duyarlar.

Yardıma mı ihtiyacınız var?

Yukarıdaki adımlardan birinde takılı mı kaldınız, ya da bir şey sunucunuzun gerçekte gönderdiğiyle eşleşmiyor mu? Bizimle iletişime geçin - oylar/ödüller hakkında bir soru için en hızlı yollar tam orada listelenmiştir.