TulpenCraftVote

📌 Status

Eigenschap Waarde
Plugin TulpenCraftVote
Status In ontwikkeling / testfase
Versie 1.5.0 (pluginmetadata)
Platform Paper/Folia, doelversie Minecraft 26.2+
Server(s) Nog te bepalen
Onderdeel van netwerk Ja
Laatste controle 2026-09-12
Server Actief
Velocity ❓ Niet gecontroleerd
Lobby ❓ Niet gecontroleerd
Survival ❓ Niet gecontroleerd
Events ❓ Niet gecontroleerd

🎯 Doel

TulpenCraftVote verwerkt stemmen binnen het TulpenCraft-netwerk. De plugin beheert stemstatistieken, VoteParty-voortgang, stem-beloningen, VoteParty-beloningen en offline beloningen.

Voor een netwerk met meerdere Paper-servers kan gedeelde opslag via MySQL/MariaDB of p-core worden gebruikt. De huidige code bevat nog geen VotifierPlus-eventlistener; stemmen moeten momenteel via de beschikbare commandostructuur worden aangeleverd.


📦 Installatie

Jar-bestand:

TulpenCraftVote-1.0.0.jar

De artifactversie komt momenteel uit build.gradle en is 1.0.0; de pluginmetadata gebruikt versie 1.5.0. Deze versies moeten vóór productie gelijkgetrokken worden.

Locatie:

/srv/minecraft/{{SERVER}}/plugins/TulpenCraftVote-1.0.0.jar

⚙️ Configuratie

Configuratiebestand:

/srv/minecraft/{{SERVER}}/plugins/TulpenCraftVote/config.yml

Belangrijke instellingen

Instelling Waarde Betekenis
server-name survival Unieke naam van deze Paper-server binnen het netwerk.
master false Bepaalt of deze server de gedeelde VoteParty-configuratie publiceert.
sync.interval-seconds 5 Interval voor synchronisatie en pending beloningen.
storage.type mysql Opslagbackend: yml, mysql, pcore of auto.
vote.goal 50 Aantal stemmen dat nodig is voor een VoteParty.

TulpenCraft-configuratie

server-name: survival
master: false

sync:
  interval-seconds: 5

storage:
  type: mysql
  mysql:
    host: 172.16.0.30
    port: 3306
    database: tulpen_craft_vote
    username: user
    password: ""
    ssl: false

vote:
  goal: 50
  rewards:
    - "eco give {player} 100"
  party-global-rewards:
    - "broadcast &6De VoteParty is voltooid!"

Opslagstructuur

De SQL-backends gebruiken de volgende tabellen:

De YAML-backend gebruikt votes.yml met onder andere de paden profiles, pending, online, milestones, shared-config en party-progress.


🔐 Rechten

Permission Rank Beschrijving
tulpen-craft-vote.vote.admin Admin / OP Stemmen toevoegen, VoteParty starten, configuratie herladen en mijlpalen beheren.

Rankverdeling

Rank Rechten
Speler /tulpenvote gebruiken voor persoonlijke steminformatie.
VIP Geen extra TulpenCraftVote-rechten standaard.
VIP+ Geen extra TulpenCraftVote-rechten standaard.
Helper Geen extra TulpenCraftVote-rechten standaard.
Bouwer Geen extra TulpenCraftVote-rechten standaard.
Moderator Alleen wanneer de permission afzonderlijk wordt toegekend.
Developer Alleen wanneer de permission afzonderlijk wordt toegekend.
Admin tulpen-craft-vote.vote.admin
Owner tulpen-craft-vote.vote.admin

💬 Commando's

Commando Permission Beschrijving
/tulpenvote
Geen voor persoonlijke informatie Toont de eigen stemmen en VoteParty-voortgang.
/tulpenvote reload
tulpen-craft-vote.vote.admin Herlaadt de configuratie.
/tulpenvote add vote <aantal> <speler>
tulpen-craft-vote.vote.admin Voegt stemmen toe en verwerkt stem-beloningen.
/tulpenvote party
tulpen-craft-vote.vote.admin Start VoteParty-beloningen direct.
/tulpenvote setmijlpaal <speler> <mijlpaal> <true|false>
tulpen-craft-vote.vote.admin Stelt een mijlpaalstatus in.
/tulpenvote reset mijlpaal <speler|all> <mijlpaal|all>
tulpen-craft-vote.vote.admin Reset één of meerdere mijlpalen.
/tulpenvote reset vote <total|days|hebdo|mois> <speler|all>
tulpen-craft-vote.vote.admin Reset stemstatistieken.

Legacy aliases /vp, /voteparty, setpallier en reset pallier zijn voorlopig behouden voor compatibiliteit.


🔗 Afhankelijkheden


🌐 Netwerk / Proxy

Proxy-plugin: Ja, netwerkontwerp voor Velocity; VotifierPlus-koppeling nog niet geïmplementeerd.

Onderdeel Waarde
Proxy Velocity
Backend Nog te bepalen
Poort Nog te bepalen
Publieke host Nog te bepalen

Alle Paper-servers moeten bij gedeelde opslag dezelfde database gebruiken en een unieke server-name hebben.


🛡️ Beveiliging

Databasewachtwoorden horen alleen in de serverconfiguratie te staan en mogen niet in Git of deze wiki worden opgeslagen. Gebruik voor productie een beperkte databasegebruiker, TLS wanneer beschikbaar en een aparte database voor TulpenCraftVote.

De rewardconfiguratie voert servercommando's uit als console. Controleer daarom alle rewardcommando's voordat de configuratie wordt uitgerold.


⚠️ Aandachtspunten


🧪 Troubleshooting

Probleem

De plugin start niet of Gradle kan de Java-toolchain niet vinden.

Controle

./gradlew --version
./gradlew clean build

Oplossing

Gebruik een compatibele Gradle-versie en zorg dat Java 21 beschikbaar is of via de Foojay-toolchainresolver kan worden gedownload. Controleer bij Paper-problemen ook paper-plugin.yml, de bootstrapper en de loader.

Probleem

Stemdata of pending beloningen zijn niet zichtbaar op een andere server.

Controle

storage.type: mysql
server-name: unieke-servernaam

Oplossing

Controleer of alle servers dezelfde database gebruiken, de database bereikbaar is en iedere server een unieke server-name heeft.


📝 Onderhoud

Laatste wijziging: 2026-09-12

Wijziging: TulpenCraftVote-hernoeming, nieuwe package-structuur, Nederlandse documentatie en opgeschoonde storage-namen.

Status: ⚠️ Aandacht nodig vóór productie