• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

API - Votifier Alternative

Iglo

Minecrafter
Registriert
25 November 2020
Beiträge
5
Diamanten
250
Ahoi allerseits,

ich habe mich heute ein wenig mit der API von minecraft-Server und votifier beschäftigt. Für unseren Server würden wir gerne eine Voteplugin entwickeln, welches ohne Useraccounts hier auskommen. Wir zwingen ungern Leute sich noch auf weiteren Diensten anzumelden.

Ziel sollte es sein, dass die User unseres Servers für den Server abstimmen können und dafür "belohnt" werden (einfache Statistik). Soweit ich jetzt aber die interne API und Votifier verstanden habe, müssen die Benutzer hier angemeldet sein, damit sie mit Usernamen dem Server gemeldet werden?


Meine erste Vorstellung war eigentlich ^^ Das wir auf unseren Server eine ID generieren für jeden User und diese mittels eines Links, an minecraft-servers senden. Also zum Beispiel gibt der User /vote ein und bekommt von uns diesen Link und wenn er diesen aufruft, wird (natürlich nach dem Check von minecraft-server) für unseren Server gevotet.
Code:
https://minecraft-server.eu/api/v1/?action=post&object=votes&element=vote&id={serverid}&userserverid={unsereGenerieteId}
Und als Server können wir mittels Votifierapi oder irgendeinen anderen Callback oder einfach per GET Möglichkeit abfragen ob der User (mit unser generieten ID) gevotet hat.
Code:
https://minecraft-server.eu/api/v1/?object=votes&element=claim&key={ServerKey}&username={unsereGenerieteId}
  1. Spieler auf unserem Server möchte Voten, aber hat hier keinen Account.
  2. Also gibt er Ingame auf unserem Server /Vote in den Chat.
  3. Wir als Server generieren einen Link, zB: https://minecraft-server.eu/api/v1/...tes&element=vote&id=4211&userserverid=ABCD007
  4. Der User klickt diesen Link.
  5. Dann wird im Browser normal die Voteseite für unseren Server gelade und der Spieler klickt nochmals vote
  6. Votecheck durch minecraft-server.eu läuft
  7. Nach erfolgreichem Vote wird unserem Server per Callback mitgeteilt, dass Spieler mit der ID ABCD007 gevotet hat und wir können das intern verarbeiten.
Alternativ zum 7. könnten wir auch einfach abfragen ob ein Spieler mit der ID ABCD007 gevotet hat. Intern wissen wer werlcher Spieler gemeint ist mit der ID ABCD007.

Das wäre so eine Idee von uns gewesen.
 
Zuletzt bearbeitet:

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Ich hab gerade nicht genug Zeit um deinen ganzen Beitrag zu lesen, kann das aber nachholen, sofern es nach meiner Antwort noch wichtig ist: Die Nutzer brauchen hier keinen Account, du schickst sie einfach auf den Votelink deines Servers.

Beispiel: https://minecraft-server.eu/vote/index/SERVERID/USERNAME (letzteres ist Optional, trägt aber den Username direkt ein)
 

Baba43

Ehem. Teammitglied
Ehem. Teammitglied
Registriert
5 November 2012
Beiträge
869
Diamanten
60
Minecraft
baba43
Du bekommst den Minecraft-Namen des Nutzers übergeben, da dieser zwangsweise für den Vote angegeben werden muss (dafür ist kein Account und keine Anmeldung notwendig).

Das, was Du vor hast, haben hunderte Server vor Dir ja schon implementiert :p

Schau Dir dazu einfach mal die Votifier API an.
 

Iglo

Minecrafter
Registriert
25 November 2020
Beiträge
5
Diamanten
250
Also wenn ich für meinen Server Vote, musste ich noch nie einen Namen angeben.

Aber als Beispiel habe ich folgenden Link für meinen Server aufgerufen.

Code:
https://minecraft-server.eu/vote/index/SERVERID/Iglo
Der Vote wurde validiert und erfolgreich abgestimmt.

Und danach prüfe ich mittels
Code:
 https://minecraft-server.eu/api/v1/?object=votes&element=claim&key={meinServerkey}&username=Iglo
ob der User Iglo in den letzen 24h gevotet hat und die antwort ist immer 0 ?

Wenn ich eure Kommentare richtig verstehe, sollte hier die antwort aber 1 oder 2 sein ?

P.S.: Und natürlich habe ich an der Stelle ServerID und Serverkey die jeweiligen richtigen Daten angegeben ^^
 

Iglo

Minecrafter
Registriert
25 November 2020
Beiträge
5
Diamanten
250
Hmm, aber warum gibt mir das nicht die API wieder?

Für das was wir vorhaben, würde die Abfrage jeden Tag einmalig ausreichen und uns sofort alle notwendigen Daten geben. Daher bevorzugen wir im Moment eher die API.
 

Baba43

Ehem. Teammitglied
Ehem. Teammitglied
Registriert
5 November 2012
Beiträge
869
Diamanten
60
Minecraft
baba43
Für das was wir vorhaben, würde die Abfrage jeden Tag einmalig ausreichen und uns sofort alle notwendigen Daten geben. Daher bevorzugen wir im Moment eher die API.
Wenn Du Votifier nutzt, wirst Du so oder so über alle Votes benachrichtigt.
Wieso willst Du daher zusätzlich die API von MCEU anfragen?
 

Chojo-chan

Teammaid
Social Media
Moderator
Administrator
Registriert
24 März 2013
Beiträge
293
Alter
5
Diamanten
645
Minecraft
Hadde
Das Votifier Protokol ist zwar alt, aber auch simpel und bewährt ^^ Zudem ist es auch verschlüsselt.

Alle Server und zwar wirklich alle Server nutzen die VotifierAPI. Und das hat einen guten Grund ^^ Das ist ein Standard auf den man sich halt geeinigt hat.

Und einen Port auf dem Server zu öffnen ist jetzt wirklich kein Drama :D Der Payout dafür um so größer und ihr könnt jede vorhandene Vote Lösung die existiert benutzen. Man muss das Rad nicht immer neu erfinden ^^

Ergänzend:
Ist die Votifier anbindung nicht aktiv gibt es kein Namensfeld.
Ist sie aktiv gibt es ein Namensfeld und votes werden verwendet.
Ist sie aktiv und du lässt namen überprüfen werden nur Votes gesendet, die einen Validen namen enthalten. Gezählt werden diese aber unabhängig davon.

Ein Nutzeraccount auf unserer Seite wird wie bereits gesagt nicht benötigt wenn man nur Voten will.

Edit: Ich würde mir das durchaus angucken jedoch besitzt du anscheinend keinen eigenen Servereintrag und ich kann daher nicht nachsehen, ob es an uns liegt oder nicht ^^

Ich hab das gerade mal gestestet und von meiner Seite aus funktioniert das einwandfrei.
Rotten_BreamKagu_is_Dreary.png
 
Zuletzt bearbeitet:
Oben