VoteServeur API v1
Vote-Belohnungen für die 68 Spiele im Katalog. Gleiche API überall: server_token + ein einziges Identitätsfeld (Name, Steam oder Discord — automatisch erkannt).
Basis-URL
https://voteserveur.fr/api/v1
JSON UTF-8. IP-Rate-Limit: ~90 Anfragen / Min. auf öffentlichen Lese-Endpunkten; Claims sind strenger.
Authentifizierung
Der server_token (40–64 Zeichen) ist nur für den Eigentümer sichtbar (Serververwaltung). Geheim halten.
- Abfrage:
?server_token=TOKEN - Kopfzeile:
X-Server-Token: TOKEN - Kopfzeile:
Authorization: Bearer TOKEN
Ohne gültigen Token → 404 (verrät nicht, ob der Slug existiert).
Spielerablauf (Schritt für Schritt)
- Erstelle deinen Eintrag unter /de/serveurs/nouveau.
- Lade das Pack unter /de/plugins/{game} herunter (Token bereits eingefügt).
- Installiere das Plugin / starte den Poller (siehe
INSTALL.txtim ZIP). Empfohlenes Intervall: 10 Minuten. - Der Spieler votet mit aktivierter Belohnungsbox und gibt eine Identität ein (Name / Discord / Steam) — er erhält einen Claim-Code (z. B.
/vsclaim ABC123). - Dein Skript ruft
GET /votes/pendingund dannGET /votes/claim?identity=…auf → beiclaimed = 1die Belohnung einmal vergeben. Oder der Spieler claimt überclaim-code. - Optional:
votes/playerfür monatliche Stufen (5 / 10 / 30 Votes…).
GET /votes/claim (empfohlen)
Einheitlicher Claim: ein Parameter identity. Die API erkennt automatisch Name / SteamID64 / Discord. Endpunkte claim-username / claim-steam / claim-discord bleiben verfügbar (Kompatibilität).
GET https://voteserveur.fr/api/v1/votes/claim?server_token=TOKEN&identity=Pseudo
GET https://voteserveur.fr/api/v1/votes/claim?server_token=TOKEN&identity=76561198000000000
GET https://voteserveur.fr/api/v1/votes/claim?server_token=TOKEN&identity=123456789012345678
Gleiches Schema claimed 0 / 1 / 2 wie bei den Legacy-Claims.
GET /votes/claim-username
Beansprucht einen Vote der letzten 2 Stunden per Name oder Vor-Nachname. Votes können nicht injiziert werden.
GET https://voteserveur.fr/api/v1/votes/claim-username?server_token=TOKEN&playername=Pseudo
GET https://voteserveur.fr/api/v1/votes/claim-username?server_token=TOKEN&playername=Jean%20Dupont
{
"code": 200,
"success": true,
"claimed": 1,
"message": "Vote beansprucht"
}
claimed: 0— kein berechtigter Voteclaimed: 1— jetzt beansprucht → Belohnung vergebenclaimed: 2— bereits beansprucht
Namensvarianten (Bob, Bob!, B o b, Jean Dupont / JeanDupont) werden zusammengeführt (gleicher Spieler).
GET /votes/claim-steam
GET https://voteserveur.fr/api/v1/votes/claim-steam?server_token=TOKEN&steam_id=76561198000000000
Gleiches Antwortschema wie claim-username.
GET /votes/claim-discord
Claim über Discord-ID (Snowflake 17–20 Ziffern). Nützlich für Discord, Discord-verknüpftes Habbo, Bots usw.
GET https://voteserveur.fr/api/v1/votes/claim-discord?server_token=TOKEN&discord_id=123456789012345678
Akzeptiert auch das Mention-Format <@123…>. Gleiches Antwortschema wie claim-username.
GET /votes/claim-code
Claim über den Einmal-Code nach dem Vote (6 Zeichen, 2 Std. gültig). Empfohlener Ingame-Befehl: /vsclaim ABC123.
GET https://voteserveur.fr/api/v1/votes/claim-code?server_token=TOKEN&code=ABC123
Gleiches Schema claimed 0/1/2. Hatte der Vote einen Namen, kann die Antwort playername enthalten.
GET /votes/check
Prüft ohne Verbrauch: 0 nicht gevoted · 1 bereits beansprucht · 2 gevoted, nicht beansprucht.
GET https://voteserveur.fr/api/v1/votes/check?server_token=TOKEN&playername=Pseudo
GET /votes/check-steam
GET https://voteserveur.fr/api/v1/votes/check-steam?server_token=TOKEN&steam_id=7656119…
GET /votes/check-discord
GET https://voteserveur.fr/api/v1/votes/check-discord?server_token=TOKEN&discord_id=123456789012345678
GET /votes/check-ip
Ob die HTTP-Client-IP einen aktuellen Vote hat (Anti-Missbrauch für Plugins). Token erforderlich.
GET https://voteserveur.fr/api/v1/votes/check-ip?server_token=TOKEN
GET /votes/last
Neueste Votes (~1 Std. Fenster) — Debug / Discord-Overlay.
GET https://voteserveur.fr/api/v1/votes/last?server_token=TOKEN
GET /votes/pending
Nicht beanspruchte Votes im Claim-Fenster (2 Std.), Belohnungsbox aktiv. Eine Anfrage für den ganzen Server — etwa alle ~10 Minuten pollen — die API liefert alle nicht beanspruchten Voter auf einmal.
GET https://voteserveur.fr/api/v1/votes/pending?server_token=TOKEN&limit=50
{
"success": true,
"votes": [
{ "id": "…", "playername": "Pseudo", "steam_id": null, "discord_id": "123…", "created_at": "…", "created_ts": 1710000000 }
]
}
Danach claim?identity=… für jeden passenden Online-Spieler aufrufen.
GET /votes/top
Aggregiertes Spieler-Ranking. Params: period=month|day|all, limit (max. 50).
GET https://voteserveur.fr/api/v1/votes/top?server_token=TOKEN&period=month&limit=10
GET /votes/player (Alias /votes/stats)
Spieler-Stats (Monat / Gesamt) — nützlich für die Stufen des Universal-Pollers.
GET https://voteserveur.fr/api/v1/votes/player?server_token=TOKEN&playername=Pseudo
GET https://voteserveur.fr/api/v1/votes/stats?server_token=TOKEN&steam_id=7656119…
{
"success": true,
"player_name": "Pseudo",
"votes_month": 12,
"votes_total": 48
}
GET /server
Öffentliche Infos zum Eintrag, der mit dem Token verknüpft ist.
GET https://voteserveur.fr/api/v1/server?server_token=TOKEN
GET /servers/{token}
Pfad-Variante: /servers/{token}, /full, /stats, /advices, /players-ranking.
GET https://voteserveur.fr/api/v1/servers/TOKEN
GET https://voteserveur.fr/api/v1/servers/TOKEN/full
GET https://voteserveur.fr/api/v1/servers/TOKEN/stats
GET https://voteserveur.fr/api/v1/servers/TOKEN/advices
GET https://voteserveur.fr/api/v1/servers/TOKEN/players-ranking
Codes & Fehler
200— OK (auch bei claimed: 0)400— fehlende / ungültige Parameter404— unbekannter Token429— Rate-Limit
Skripte & Plugins
ZIP-Pack für jedes Spiel (nativ und/oder Universal-Poller), Token eingefügt, nur Eigentümer:
- Plugin-Index — eine Install-Anleitung pro Spiel
- GTA: FiveM + RageMP + SA-MP im selben ZIP
- Schritt-für-Schritt-Server-Guides: /de/guides
curl-Beispiel
# Claim
curl -s -H 'X-Server-Token: TOKEN' \
'https://voteserveur.fr/api/v1/votes/claim-username?playername=Nayvroxi'
# Monats-Stats (Stufen)
curl -s -H 'X-Server-Token: TOKEN' \
'https://voteserveur.fr/api/v1/votes/player?playername=Nayvroxi'