HyVote - Votifier pro Hytale

Výkonný plugin pro Hytale, který odměňuje hráče za hlasování na serverlistech pomocí protokolů Votifier V1 i V2.


Funkce

  • Příkazy pro odměny - Spuštění libovolných příkazů při hlasování hráče
  • Broadcast zprávy - Oznámení hlasování všem online hráčům s více zprávami
  • Podpora barev - Plná podpora barev pomocí TaleMessage tagů
  • Notifikace - Zobrazení UI notifikací hlasujícím
  • Vlastní zvuky - Přehrání zvuku při obdržení odměny
  • Vote menu - Příkaz /vote otevře GUI s klikatelnými odkazy
  • Připomínky hlasování - Připomenutí hráčům, kteří dlouho nehlasovali
  • Databáze hlasů - JSON databáze sleduje hlasy pro připomínky a statistiky
  • Podpora obou protokolů - Votifier V1 (RSA) i V2 (HMAC-SHA256) na stejném portu
  • Přeposílání hlasů - Přeposílání hlasů na další servery ve vaší síti
  • Event systém - VoteReceivedEvent pro integraci s dalšími pluginy
  • Plně přeložitelné - Všechny zprávy konfigurovatelné přes JSON soubory

Podporované protokoly

Protokol Podpora Popis
Votifier V1 Vestavěná Původní protokol používající RSA šifrování. Používá rsa/public.key pro autentizaci.
NuVotifier V2 Vestavěná Moderní protokol používající HMAC-SHA256. Používá token z config.json pro autentizaci.
Webserver Přes Votifier Pro hlasovací stránky, které posílají hlasy přes HTTP požadavky místo Votifier protokolu.

Oba protokoly V1 i V2 fungují na stejném portu současně - není potřeba žádná konfigurace.


Instalace

  1. Stáhněte HyVote z CurseForge
  2. Umístěte JAR soubor do složky mods vašeho Hytale serveru
  3. Restartujte server nebo zadejte /plugin load Hytalist:HyVote
  4. Nakonfigurujte plugin ve složce mods/Hytalist_HyVote/
  5. Přidejte svůj server na Hytalist.com
  6. Pokud potřebujete pomoc, připojte se na náš Discord!

Konfigurace

Po instalaci najdete konfigurační soubory ve složce mods/Hytalist_HyVote/:

config.json

Hlavní konfigurační soubor pro Votifier server a odměny:

{
  "Port": 8192,
  "Host": "0.0.0.0",
  "Token": "automaticky-vygenerovaný-token",
  "DisableV1Protocol": false,
  "RewardCommands": [
    {
      "Command": "give {player} Rock_Gem_Diamond --quantity 1"
    },
    {
      "Command": "give {player} Rock_Gem_Emerald --quantity 5",
      "Chance": 50
    },
    {
      "Command": "give {player} Rock_Gem_Ruby --quantity 10",
      "Chance": 10,
      "Permission": "hyvote.vip"
    }
  ],
  "BroadcastMessage": true,
  "BroadcastMessages": [
    "<green>{player}</green> <gray>hlasoval na</gray> <aqua>{service}</aqua><gray>!</gray>",
    "<gold>Hlasujte pro server a získejte úžasné odměny!</gold>"
  ],
  "DebugMode": false,
  "CheckForUpdates": true
}

Možnosti konfigurace

  • Port - Port pro Votifier server (výchozí: 8192)
  • Host - Adresa pro naslouchání (výchozí: "0.0.0.0")
  • Token - Automaticky vygenerovaný autentizační token pro V2 stránky
  • DisableV1Protocol - Vypnutí podpory Votifier V1 protokolu (výchozí: false)
  • RewardCommands - Příkazy spuštěné při hlasování hráče (pole objektů)
  • BroadcastMessage - Zapnutí/vypnutí oznámení hlasování
  • BroadcastMessages - Zprávy odeslané všem hráčům při hlasování
  • DebugMode - Zapnutí podrobného logování pro řešení problémů
  • CheckForUpdates - Kontrola aktualizací pluginu při startu (výchozí: true)

Možnosti RewardCommands

Každý příkaz pro odměnu je objekt s následujícími vlastnostmi:

  • Command - Příkaz k provedení (povinné)
  • Chance - Šance na provedení příkazu, 0-100 (volitelné, výchozí: 100)
  • Permission - Vyžadovaná permise pro získání odměny (volitelné)

Dostupné placeholdery

  • {player} - Jméno hráče, který hlasoval
  • {service} - Název hlasovací služby
  • {address} - IP adresa hlasujícího
  • {timestamp} - Unix timestamp hlasování

Poznámka: RSA klíče pro V1 protokol jsou automaticky generovány v rsa/public.key a rsa/private.key.


notification.json

Konfigurace notifikací zasílaných hráčům při hlasování:

{
  "Title": {
    "Enabled": false,
    "Title": "<green>Odměna přijata!</green>",
    "Subtitle": "<gray>Díky za hlasování na</gray> <aqua>{service}</aqua><gray>!</gray>",
    "DurationSeconds": 3
  },
  "Notification": {
    "Enabled": true,
    "Title": "<green>Odměna přijata!</green>",
    "Description": "<gray>Díky za váš hlas na</gray> <aqua>{service}</aqua><gray>!</gray>",
    "IconItem": "Rock_Gem_Diamond"
  },
  "Sound": {
    "Enabled": true,
    "Name": "SFX_Player_Pickup_Item"
  }
}

voteCommand.json

Konfigurace příkazu /vote a odkazů na hlasovací stránky:

{
  "Enabled": true,
  "VoteLinks": {
    "Hytalist.com": "https://hytalist.com/test-server?nick={player}",
    "DalsiServerlist": "https://example.com"
  },
  "UI": {
    "Enabled": true,
    "Title": "Hlasujte pro server"
  },
  "Chat": {
    "Enabled": true,
    "Header": "<gray>========== <green>Hlasovací odkazy</green> ==========</gray>",
    "Format": "<aqua>{siteName}</aqua><gray>:</gray> <white>{siteUrl}</white>"
  }
}

reminder.json

Konfigurace připomínek hlasování pro hráče, kteří nedávno nehlasovali:

{
  "Enabled": true,
  "AfterHours": 24,
  "DelayInSeconds": 60,
  "Title": {
    "Enabled": true,
    "Title": "Připomínka hlasování",
    "Subtitle": "Použijte /vote pro podporu serveru!"
  },
  "Sound": {
    "Enabled": true,
    "Name": "SFX_UI_Quest_Objective_Complete"
  }
}

forwarding.json

Přeposílání hlasů na další servery ve vaší síti (užitečné pro BungeeCord/Velocity sestavení):

{
  "Enabled": false,
  "Targets": [
    {
      "Host": "127.0.0.1",
      "Port": 8192,
      "Token": "token-cílového-serveru"
    }
  ]
}

Formátování barev

HyVote používá TaleMessage pro formátování barev. Dostupné tagy:

<black>, <dark_blue>, <dark_green>, <dark_aqua>, <dark_red>, <dark_purple>, <gold>, <gray>, <dark_gray>, <blue>, <green>, <aqua>, <red>, <light_purple>, <yellow>, <white>

Můžete dokonce vytvořit duhové barvy:

<gradient:red:yellow:green:blue:purple>Duha!</gradient>

Nastavení na Hytalistu

Pro Votifier V2 (Doporučeno)

  1. Získejte váš token z config.json (automaticky vygenerován při prvním spuštění)
  2. Přejděte do administrace vašeho serveru na Hytalistu
  3. Přejděte do nastavení "Votifier"
  4. Zadejte IP vašeho serveru a Port (výchozí: 8192)
  5. Vložte Token z vašeho configu
  6. Vyberte protokol Votifier V2
  7. Uložte a otestujte hlasováním pro váš server

Pro Votifier V1 (Legacy)

  1. Získejte váš veřejný klíč z rsa/public.key (automaticky vygenerován při prvním spuštění)
  2. Přejděte do administrace vašeho serveru na Hytalistu
  3. Přejděte do nastavení "Votifier"
  4. Zadejte IP vašeho serveru a Port (stejný port jako V2)
  5. Zkopírujte celý obsah z public.key
  6. Vyberte protokol Votifier V1
  7. Uložte a zapněte DebugMode pro testování

Příkazy

  • /vote - Otevře menu s klikatelnými odkazy pro hlasování (permise: hytalist.hyvote.command.vote, výchozí povoleno)
  • /hyvote - Zobrazí admin příkazy HyVote
  • /hyvote test <hráč> - Odešle testovací hlas pro hráče (permise: hytalist.hyvote.admin)
  • /hyvote reload - Znovu načte všechny konfigurační soubory (permise: hytalist.hyvote.admin)
  • /testvote <hráč> - Alias pro testování, pokud není obsazen jiným pluginem (permise: hytalist.hyvote.admin)

Řešení problémů

Hlasy nejsou přijímány?

  1. Zapněte DebugMode v config.json
  2. Zkontrolujte firewall - ujistěte se, že port Votifieru je otevřený
  3. Ověřte, že token odpovídá mezi configem a nastavením na Hytalistu
  4. Zkontrolujte logy serveru pro zprávy HyVote

Časté problémy

  • "Invalid signature" (V2) - Neshodující se token, zkontrolujte token na hlasovacím webu
  • "Failed to decrypt" (V1) - Neshodující se veřejný klíč, zkopírujte celý obsah z rsa/public.key
  • "No response" - Zkontrolujte firewall/konfiguraci portu

Požadavky

  • Hytale Server
  • Java 21+

Potřebujete pomoc?

Připojte se na náš Discord pro podporu: https://discord.gg/fWgDuCThj2

Stáhnout HyVote na CurseForge