Dit is een oude revisie van het document!
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: lobby-1 master: false sync: interval-seconds: 5 storage: type: mysql mysql: host: 127.0.0.1 port: 3306 database: tulpen_craft_vote username: root password: "" ssl: false vote: goal: 10 rewards: - "eco give {player} 100" party-global-rewards: - "broadcast &6De VoteParty is voltooid!"
Opslagstructuur
De SQL-backends gebruiken de volgende tabellen:
tulpen_vote_profilestulpen_vote_statetulpen_vote_pendingtulpen_vote_onlinetulpen_vote_milestonestulpen_vote_stats
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
- Paper of Folia
- PlaceholderAPI (optioneel)
- p-core (optioneel, voor managed opslag)
- MySQL/MariaDB-server wanneer
storage.type: mysqlwordt gebruikt - VotifierPlus op Velocity is gewenst voor de toekomstige vote-receiver, maar nog niet in deze codebase geรฏntegreerd
๐ 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
- De VotifierPlus-eventlistener ontbreekt nog.
- De build-artifactversie (
1.0.0) en pluginversie (1.5.0) lopen uiteen. - De huidige Paper-metadata gebruikt nog
api-version: 1.21.8; Paper 26.2 moet nog als build- en runtime-doel worden gevalideerd. - VoteParty- en pending-rewardverwerking moeten vรณรณr productie met meerdere gelijktijdige servers worden getest.
- Controleer de databaseback-up voordat storage- of schemawijzigingen worden uitgerold.
๐งช 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