Cara mengatur hadiah vote (Votifier, VotingPlugin, dan lainnya)

Instal plugin pendamping, siapkan Votifier untuk pengiriman instan, atau hubungkan VotingPlugin, SuperVotes, atau SuperbVote ke situs ini - dengan nilai persis yang benar-benar diharapkan situs ini.

Setiap plugin hadiah membutuhkan dua hal dari Anda: cara untuk mengetahui bahwa sebuah vote telah terjadi, dan sesuatu yang dijalankan saat itu terjadi. Artikel ini membahas keduanya - plugin pendamping yang diterbitkan situs ini, Votifier untuk pengiriman instan, dan apa yang harus dilakukan jika Anda sudah menjalankan VotingPlugin, SuperVotes, atau plugin hadiah lain.

Opsi A: plugin VoxelRank (disarankan)

Plugin pendamping berkomunikasi langsung dengan API situs ini. Votifier tidak diperlukan - plugin ini bekerja dengan melakukan polling terhadap vote yang belum diambil secara berkala, sehingga tetap berfungsi di balik NAT dan mengejar ketinggalan atas apa pun yang terlewat saat server sedang mati. Votifier tetap tersedia sebagai tambahan opsional untuk pengiriman instan (lihat Opsi B).

  1. Unduh file jar dari Dasbor Anda (kartu server Anda akan memiliki tombol Unduh begitu build sudah ada), atau langsung dari /download/plugin.
  2. Letakkan di plugins/ dan jalankan server sekali. Ini akan menghasilkan plugins/VotingSite/config.yml.
  3. Buka halaman Sunting server Anda → tab Hadiah & pemungutan suara dan salin Kunci API yang ditampilkan di sana.
  4. Tempelkan ke site.api-key di config.yml (periksa juga apakah site.url mengarah ke situs ini), lalu jalankan /votingsite reload.
  5. Tentukan bagaimana vote harus sampai ke Anda dengan mengatur mode di config.yml:
    • poll (bawaan) - plugin mengambil sendiri vote yang belum diambil. Tidak ada lagi yang perlu diinstal.
    • votifier - situs mengirim setiap vote pada saat vote itu diberikan. Membutuhkan NuVotifier atau listener Votifier lain (Opsi B di bawah).
    • both - pengiriman Votifier dengan polling sebagai jaring pengaman, tanpa duplikat berkat id vote.
  6. Isi rewards.commands (dan, jika diinginkan, milestones serta vote-party) dengan perintah konsol yang harus dijalankan saat ada vote.
  7. Uji coba: /votingsite testvote <player> mensimulasikan sebuah vote tanpa menunggu vote asli. /votingsite status menampilkan mode yang aktif, apakah kunci API diterima, dan berapa banyak vote yang telah dikirimkan sejauh ini.

Pemain mendapatkan tautan vote dan jumlah vote mereka lewat /voxelrank vote - bukan /vote, yang secara sengaja tidak pernah diklaim oleh plugin ini (dua plugin yang memperebutkan perintah yang sama adalah cara persis sebuah hadiah berhenti berfungsi tanpa disadari - lihat catatan khusus soal ini di config.yml).

Opsi B: pengiriman instan dengan NuVotifier

Lewati bagian ini jika mode poll sudah bekerja cukup baik untuk Anda - ini tidak wajib. Tambahkan saat penundaan beberapa menit dari polling benar-benar berpengaruh, atau saat Anda lebih memilih menjalankan plugin hadiah khusus daripada plugin bawaan situs ini.

NuVotifier adalah fork dari Votifier asli yang masih dikelola secara aktif - proyek aslinya kini pada dasarnya tidak lagi dikelola, sehingga "menginstal Votifier" dalam praktiknya berarti menginstal NuVotifier (atau fork yang kompatibel seperti VotifierPlus).

  1. Letakkan file jar NuVotifier di plugins/ dan restart server. Pada server Bukkit/Spigot/Paper, plugin ini tetap mempertahankan nama folder klasik plugins/Votifier/ demi kompatibilitas ke belakang - ini adalah folder milik NuVotifier sendiri, bukan sisa dari plugin lama - dan pada saat pertama kali dijalankan akan membuat config.yml beserta sepasang kunci di dalam rsa/.
  2. Ambil kredensial Anda dari plugins/Votifier/config.yml: token v2 (disarankan) dibuat otomatis di bawah kunci default pada bagian tokens: - salin apa adanya. Jika Anda lebih suka metode lama, kunci publik v1 ada di plugins/Votifier/rsa/public.key; simpan private.key yang sesuai di folder yang sama pada server dan jangan pernah membagikannya.
  3. Periksa port yang didengarkan oleh NuVotifier (bawaannya 8192) dan pastikan port itu terbuka di firewall atau panel hosting Anda - ini adalah port terpisah dari port Minecraft biasa, dan sebagian besar hosting tidak membukanya secara otomatis.
  4. Di halaman Sunting server Anda → tab Hadiah & pemungutan suara, isi host Votifier (alamat server Anda) dan port tersebut, lalu tempelkan token v2 atau kunci v1 dari langkah 2. Jika keduanya diisi, hanya satu yang digunakan - v2 diprioritaskan.
  5. Klik Kirim suara percobaan langsung di tab itu. Ini mengirimkan paket Votifier asli ke host/port/kunci/token yang sedang ada di formulir - tidak perlu menyimpan terlebih dahulu - dan langsung melaporkan apakah NuVotifier menerimanya. Jika gagal, log konsol NuVotifier sendiri (debug: true secara bawaan) menunjukkan apakah koneksi bahkan sampai ke plugin, sehingga cepat membedakan antara "kunci salah" dan "port diblokir".
  6. Simpan, lalu berikan vote asli dan pastikan hadiah langsung masuk alih-alih menunggu polling berikutnya.

Di balik layar, situs ini mengirim jabat tangan VOTIFIER 2 standar dengan payload JSON yang ditandatangani HMAC saat token v2 diatur, dan jika tidak akan kembali ke blok v1 klasik yang dienkripsi RSA - protokol yang sama yang sudah dipahami oleh listener yang kompatibel dengan Votifier mana pun, tidak ada yang spesifik untuk situs ini.

Sudah menggunakan VotingPlugin?

Jika server Anda sudah menjalankan VotingPlugin, Anda tidak perlu menginstal plugin kami - dan Anda juga tidak perlu menambahkan situs ini secara manual, karena VotingPlugin memiliki preset yang dikelola untuk situs ini.

Jalankan ini di dalam game sebagai operator (atau dengan izin VotingPlugin.Commands.AdminVote.VotePresets):

/av VotePresets

VotingPlugin akan mengunduh daftar preset terkini dari repositori VotingPlugin-Presets miliknya sendiri, membiarkan Anda memilih salah satu - VoxelRank termasuk di dalamnya - lalu menanyakan nilai-nilai yang dibutuhkan preset tersebut: nama tampilan, URL vote listing Anda, jeda antar-vote, dan sejenisnya. Atau langsung lompat ke sana dengan tautan vote Anda sendiri:

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

Sertakan https://; VotingPlugin akan mencocokkan nama host dengan preset yang tepat secara otomatis, alih-alih membuat Anda mencarinya di daftar.

Bagaimanapun caranya, plugin ini akan menulis atau memperbarui entri yang sesuai di bawah VoteSites: dalam VoteSites.yml - ServiceSite, VoteURL, jeda bawaan yang masuk akal, dan item tampilan placeholder atau pesan terima kasih jika situs belum memilikinya - lalu memuat ulang vote sites untuk Anda. Apa pun yang sudah ada di dalam file tersebut tidak akan diubah. Cadangkan VoteSites.yml terlebih dahulu jika Anda mengubah konfigurasi yang sudah mapan, bukan menambahkan yang baru, dan tinjau apa yang ditulis - terutama hadiahnya, karena preset adalah titik awal, bukan konfigurasi jadi - sebelum mengumumkannya ke pemain.

VotingPlugin tetap membutuhkan koneksi Votifier miliknya sendiri untuk benar-benar menerima vote - arahkan ke pengaturan NuVotifier yang sama seperti pada Opsi B di atas. Plugin ini juga membutuhkan server yang bisa menjangkau GitHub (raw.githubusercontent.com) untuk mengambil preset sama sekali; jika /av VotePresets melaporkan tidak ada preset yang tersedia, itu adalah masalah jaringan atau firewall di server, bukan preset yang hilang. /av gui, atau mengedit VoteSites.yml secara langsung, tetap berfungsi sebagai cadangan - ServiceSite harus persis VoxelRank.com, yang bisa Anda konfirmasi dengan /av servicesites setelah vote asli atau vote percobaan admin.

Plugin hadiah lainnya

Menggunakan sesuatu yang lebih ringan dari VotingPlugin? SuperVotes dan SuperbVote sama-sama merupakan listener Votifier yang ringan dengan sistem vote-party dan perintah hadiah masing-masing. Keduanya tidak melacak preset per situs seperti yang dilakukan VotingPlugin - arahkan salah satunya ke host, port, dan token v2 (atau kunci v1) Votifier yang sama dari tab Hadiah & pemungutan suara di atas, lalu atur hadiahnya sama seperti untuk vote lainnya.

Pemecahan masalah

  • Tidak ada yang terjadi pada /votingsite testvote. Periksa dulu /votingsite status - jika kunci API tidak diterima, vote (asli maupun percobaan) tidak punya tempat untuk dituju. Salin ulang dari halaman Sunting dan pastikan tidak ada spasi tersisa di akhir.
  • Pengiriman Votifier tidak pernah sampai tetapi polling berfungsi. Biasanya port Votifier yang terblokir, bukan API-nya - sebagian besar hosting membuka lalu lintas HTTP keluar secara bawaan, tetapi tidak membuka port masuk tambahan yang sembarang. mode: both (atau menjalankan listener plugin hadiah lain secara terpisah) adalah cadangan permanen yang masuk akal daripada harus berjuang melawan firewall.
  • Hadiah terpicu tetapi tidak ada yang muncul di dalam game. Perintah hadiah dijalankan lewat konsol, sehingga perintah yang hanya berfungsi jika diketik oleh pemain (tanpa izin, tanpa op) akan gagal secara diam-diam. Uji dulu perintah yang persis sama dari konsol.
  • VotingPlugin mencatat "invalid service site" atau tidak pernah mencocokkan vote. Nilai ServiceSite harus cocok karakter demi karakter, kecuali huruf besar/kecil. Periksa dengan /av servicesites alih-alih menebak dari nama domain situs ini.
  • /av VotePresets mengatakan tidak ada preset yang tersedia, atau sebuah URL tidak cocok dengan apa pun. Plugin ini mengunduh daftar preset dari GitHub saat dijalankan, jadi hampir selalu ini adalah jaringan server itu sendiri - firewall, proxy, DNS, atau gangguan GitHub - yang memblokir raw.githubusercontent.com, bukan tanda bahwa VoxelRank dihapus dari daftar. Pencocokan URL juga membutuhkan alamat lengkap termasuk https://; nama host saja tidak akan dikenali.
  • Pengaturan di tab Hadiah & pemungutan suara sepertinya tidak tersimpan. Pengaturan ini hanya berlaku untuk listing yang sudah diklaim - lihat filter Diklaim di daftar server. Entri yang diimpor dan belum diklaim belum memiliki pemilik untuk mengatur hadiah; klaim dulu entri tersebut.

Jawaban cepat

Apakah saya benar-benar butuh Votifier?

Tidak. Mode poll (bawaan untuk plugin VoxelRank) berfungsi tanpa menginstal apa pun lagi - Votifier hanya memperpendek jeda antara vote dan hadiah, dan merupakan satu-satunya jalur masuk jika Anda lebih memilih menjalankan VotingPlugin, SuperVotes, atau SuperbVote.

Bisakah saya menggunakan plugin kami dan VotingPlugin secara bersamaan?

Tidak untuk hadiah yang sama - pilih salah satu yang benar-benar akan menjalankan perintah hadiah, jika tidak sebuah vote bisa dibayar dua kali. Votifier sendiri bisa memberi tahu lebih dari satu listener, jadi ini adalah aturan "jangan mengatur hadiah yang sama dua kali", bukan keterbatasan teknis.

Hosting saya tidak mengizinkan saya membuka port tambahan untuk Votifier.

Gunakan mode poll dengan plugin VoxelRank. Plugin ini hanya membuat permintaan keluar, jadi tidak ada yang perlu dibuka. VotingPlugin dan plugin hadiah serupa tidak memiliki mode setara dengan polling - mereka membutuhkan port Votifier masuk.

Butuh bantuan?

Tersendat di salah satu langkah di atas, atau ada yang tidak cocok dengan apa yang benar-benar dikirim server Anda? Hubungi kami - cara tercepat untuk pertanyaan seputar vote/hadiah tercantum di sana.