Ressource de vote FiveM
Quand un joueur vote pour ton serveur sur Servote, il reçoit sa récompense en jeu automatiquement. La ressource servote-vote s'installe comme n'importe quelle ressource FiveM, gère ESX et QBCore (argent, banque, objets), et accepte aussi des commandes console ou ta propre fonction pour tout autre framework.
Sommaire
Ce qu'il te faut
- Un serveur FiveM (FXServer) à jour, sous ESX, QBCore ou sans framework.
- Un serveur en marche (pas encore ? crée-le ici) et sa fiche approuvée sur Servote (Ajouter mon serveur), avec le jeu « GTA ».
- L'option « Activer le plugin / l'API de vote » cochée dans la fiche (Dashboard → Modifier).
- Un accès aux fichiers du serveur et à la console (txAdmin ou terminal).
Première version
La ressource 1.0 a été vérifiée par des tests automatisés qui simulent FiveM (joueurs, identifiants, commandes) face à la vraie API Servote : réclamation unique, mode automatique, erreurs réseau, protection des commandes. Les adaptateurs ESX et QBCore appellent les fonctions standard de ces frameworks (addMoney, AddMoney…) mais n'ont pas encore été essayés sur un vrai serveur : teste avec servote_test (étape 5). Si un framework modifié pose problème, utilise les commandes console ou CustomReward. Écris-nous via Contact si tu bloques.
Installation en 5 étapes
Récupère le token de vote de ton serveur
Sur ton dashboard, la carte de ton serveur affiche son token de vote : clique sur le bouton pour le copier.
Garde-le secret
Ce token permet de réclamer les votes de ton serveur. Ne le publie jamais (Discord, capture d'écran, dépôt GitHub public). S'il fuite, contacte-nous pour le renouveler.
Télécharge la ressource
Ressource servote-vote (FiveM)
Version 1.0.0 · 6 Ko · servote-vote-fivem-1.0.0.zip
SHA-256 : 30a37f0160361fc3f5678ad28dfa33c8bf027572de85c852463d3d34cfa36dd1
Empreinte à vérifier si tu le souhaites : Get-FileHash servote-vote-fivem-1.0.0.zip (Windows) ou sha256sum servote-vote-fivem-1.0.0.zip (Linux). Le code est en Lua, lisible dans server.lua.
Installe-la
Décompresse l'archive dans le dossier resources de ton serveur (par exemple resources/[servote]/servote-vote). Le dossier servote-vote doit contenir directement fxmanifest.lua, config.lua et server.lua.
Puis ajoute-la à server.cfg, après ton framework :
# ta base (framework) d'abord, puis le vote
ensure es_extended # ou : ensure qb-core
ensure servote-voteConfigure le token et les récompenses
Ouvre config.lua, colle ton token, indique le lien de ta page Servote et choisis tes récompenses :
Config.ServerToken = 'COLLE_TON_TOKEN_ICI'
Config.VoteUrl = 'https://servote.fr/servers/mon-serveur'
Config.AutoClaim = true
Config.AutoClaimInterval = 60
Config.Framework = 'auto' -- 'auto', 'esx', 'qbcore' ou 'standalone'
Config.Rewards = {
cash = 500,
bank = 0,
items = {
{ name = 'bread', count = 2 },
},
commands = {
-- 'addmoney {id} 500',
},
}Redémarre la ressource depuis la console : restart servote-vote. Elle affiche [servote-vote] Prêt quand tout est bon.
Teste
- Console serveur :
servote_checkdoit répondre « Connexion à Servote OK ». - Avec un joueur connecté,
servote_test <ID du joueur>exécute tes récompenses sans consommer de vote : vérifie que l'argent, les objets ou les commandes arrivent bien. - Vote sur Servote avec ton nom FiveM (ou ton SteamID64) : la récompense arrive en moins d'une minute, ou tape
/voteen jeu.
Comment les joueurs sont reconnus
Le formulaire de vote de Servote demande un pseudonyme et, pour les serveurs GTA/FiveM, un SteamID64 facultatif. La ressource essaie d'abord le SteamID (plus fiable), puis le pseudonyme.
- Le pseudonyme à saisir est le nom FiveM du joueur (celui de sa connexion), pas le nom de son personnage RP. Les majuscules sont ignorées.
- Le SteamID64 est un nombre de 17 chiffres qui commence par
7656119(visible sur le profil Steam du joueur). Il n'est utilisable que si ton serveur reçoit les identifiants Steam des joueurs (généralement viasteam_webApiKeydansserver.cfg, avec Steam ouvert chez le joueur). - Conseille à tes joueurs de remplir le SteamID64 : c'est la façon la plus sûre d'être reconnu, même si le nom change.
Comment ça marche
- Un même joueur peut voter toutes les 2 heures pour un même serveur.
- Mode automatique : toutes les 60 secondes, la ressource demande à Servote les votes de la dernière heure. Chaque joueur connecté qui a un vote non récupéré est récompensé.
- Commande /vote : même chose à la demande, jusqu'à 2 heures après le vote.
- Servote ne répond « réclamé » qu'une seule fois par vote : pas de double récompense, même si le joueur tape
/votependant que le mode automatique tourne. - Environ 1 requête par minute (limite : 120 par minute).
Récompenses : ESX, QBCore, commandes
- ESX / QBCore :
cash,banketitemsdeConfig.Rewardssont donnés directement. Les noms d'objets doivent exister chez toi. AvecConfig.Framework = 'auto', le framework est détecté tout seul. - Commandes console : ajoute-les dans
Config.Rewards.commands. Variables disponibles :{id}(ID serveur du joueur) et{steam}(son SteamID64). - Autre framework : écris ta logique dans
Config.CustomReward.
-- Pour un framework maison (vRP, script de caisses, etc.)
Config.CustomReward = function(source)
exports['mon_script']:donner(source, 'ticket_vip', 1)
endPourquoi pas de variable {name} ?
Le nom d'un joueur est libre : un nom contenant ; pourrait faire exécuter d'autres commandes à la console. Les commandes ne reçoivent donc que des valeurs numériques choisies par le serveur.
Commandes
| Commande | Où | Rôle |
|---|---|---|
| /vote | Joueur (en jeu) | Affiche le lien de vote et récupère la récompense |
| servote_check | Console serveur | Teste le token et la connexion |
| servote_test <ID> | Console serveur | Exécute les récompenses sans consommer de vote |
| servote_poll | Console serveur | Force la vérification automatique tout de suite |
Dépannage
+« Refusé par Servote (401) : Token invalide »
Le token de config.lua est incorrect (espace en trop, ancien token). Recopie-le depuis ton dashboard puis restart servote-vote.
+« Refusé par Servote (403) : L'API de vote est désactivée pour ce serveur »
Coche « Activer le plugin / l'API de vote » dans la fiche de ton serveur (Dashboard → Modifier), puis relance servote_check. « Ce serveur est banni » signifie que la fiche a été suspendue : écris-nous via Contact.
+« Servote est injoignable »
Ton serveur ne parvient pas à joindre https://servote.fr : vérifie le pare-feu sortant (HTTPS, port 443) de ta machine ou de ton hébergeur.
+Le joueur a voté mais ne reçoit rien
- Le pseudonyme saisi doit être son nom FiveM (pas celui de son personnage), ou son SteamID64 correct.
- Le mode automatique ne sert que les joueurs connectés et les votes de la dernière heure : sinon
/vote(jusqu'à 2 h). - La ressource écrit ses avertissements dans la console avec le préfixe
[servote-vote]: regarde-les.
+La récompense est « livrée » mais rien n'arrive (argent, objet)
- Ton framework n'a peut-être pas été détecté : vérifie que
ensure servote-voteest placé aprèses_extended/qb-core, ou forceConfig.Framework. - Les noms d'objets de
itemsdoivent exister dans ton framework. - Essaie
servote_test <ID>et lis la console : un échec y est affiché (« Récompense … impossible »).
+Je ne veux que la commande /vote
Mets Config.AutoClaim = false puis restart servote-vote.