Votes & cooldown
Contrôle les votes par pseudo, Steam ID, Discord ID ou identifiant personnalisé avec cooldown serveur.
Lancement Top Serveur !
500 pts au 100 premiers serveurs qui nous rejoingnent ! /Portefeuille !
Documentation développeur
Tout ce qu’il faut pour connecter un serveur à UpServeur : vérifier les votes, distribuer les récompenses, suivre le statut serveur et automatiser les notifications Discord.
Base API
Version stable v1
https://upserveur.fr/api/public/v1
Contrôle les votes par pseudo, Steam ID, Discord ID ou identifiant personnalisé avec cooldown serveur.
Plugin vote FiveM + boutique FiveM (ox_lib) avec menu, commande, keymap et hooks serveur.
Notifications de vote, test webhook et aperçu Discord pour valider le rendu avant production.
Statut online/offline, joueurs, slots, latence et historiques exploitables côté dashboard.
Quick start
Le flux recommandé est simple : token privé, plugin côté serveur, check de vote, puis claim de récompense.
Ajoute ton serveur depuis le dashboard, renseigne le jeu, les bannières, le Discord et les tags.
Dans l’onglet API de ton serveur, copie le server_token. Il doit rester côté serveur/plugin.
Installe le resource FiveM, ajoute le token dans ton server.cfg et démarre le script.
Vote depuis la page publique, vérifie l’API, puis consomme la récompense avec une route claim.
Documentation complète
Navigue par onglet selon ton besoin : endpoints, plugins de vote, boutique, Minecraft, TrinityCore ou webhooks Discord.
Guide d’intégration
Tous les endpoints nécessitent un token serveur. Garde ce token côté plugin ou backend uniquement.
Retourne les derniers votes disponibles pour ton serveur.
https://upserveur.fr/api/public/v1/votes/last?server_token=TOKEN
Réponse exemple
{
"code": 200,
"success": true,
"data": [
{
"playerIdentifier": "username:Anthony",
"playerName": "Anthony",
"datetime": "2026-04-29T12:00:00.000Z"
}
]
}Indique si un joueur a déjà voté et quand il pourra voter à nouveau.
https://upserveur.fr/api/public/v1/votes/check?server_token=TOKEN&playername=PSEUDO
Réponse exemple
{
"code": 200,
"success": true,
"data": {
"voted": true,
"lastVoteAt": "2026-04-29T12:00:00.000Z",
"nextVoteAt": "2026-04-30T12:00:00.000Z"
}
}Consomme un vote validé pour éviter de donner deux fois la même récompense.
https://upserveur.fr/api/public/v1/votes/claim-username?server_token=TOKEN&playername=PSEUDO
Réponse exemple
{
"code": 200,
"success": true,
"message": "Vote reward claimed.",
"data": {
"claimed": true,
"playerName": "Anthony"
}
}Retourne l’état du serveur, les joueurs connectés et la latence.
https://upserveur.fr/api/public/v1/servers/TOKEN/status
Réponse exemple
{
"code": 200,
"success": true,
"data": {
"online": true,
"playersOnline": 54,
"maxPlayers": 300,
"latency": 42
}
}Liste les joueurs qui votent le plus pour ton serveur.
https://upserveur.fr/api/public/v1/servers/TOKEN/players-ranking
Réponse exemple
{
"code": 200,
"success": true,
"data": {
"players": [
{
"playerName": "Anthony",
"votes": 42,
"position": 1
}
]
}
}Guide d’intégration
Le resource interroge UpServeur, détecte les nouveaux votes et déclenche un event Lua pour récompenser les joueurs.
server.cfg
ensure topserveur_vote
set topserveur_token "TOKEN"
set topserveur_api_url "https://upserveur.fr/api/public/v1"
set topserveur_check_interval 60Event reward Lua
AddEventHandler('onPlayerVote', function(playername, date)
print(('[UpServeur] %s a voté le %s'):format(playername, date))
-- Exemple :
-- giveMoney(playername, 5000)
-- giveItem(playername, 'premium_case', 1)
end)Guide d’intégration
Configure le catalogue, les prix, les récompenses et branche ton framework dans Config.OnPurchase.
server.cfg boutique
ensure topserveur_boutique
# Configuration principale dans resources/topserveur_boutique/config.luaconfig.lua boutique
Config.Locale = 'fr'
Config.Command = 'boutique'
Config.KeyMapping = {
enabled = true,
key = 'F7',
description = 'Ouvrir la boutique UpServeur'
}
Config.Api = {
enabled = false,
baseUrl = 'https://upserveur.fr/api/public/v1',
serverToken = 'TOKEN',
checkVoteBeforePurchase = false
}
Config.ShopCatalog = {
{
id = 'packs',
label = { fr = 'Packs', en = 'Packs' },
description = { fr = 'Packs de boosts et récompenses', en = 'Boost packs and rewards' },
icon = 'package',
items = {
{
id = 'pack_start',
label = { fr = 'Pack de démarrage', en = 'Starter Pack' },
description = { fr = 'Cash + véhicule', en = 'Cash + vehicle' },
price = 9,
icon = 'coins',
rewards = {
{ type = 'command', command = 'give_money {player} 50000' },
},
},
},
},
}Hook achat boutique
function Config.OnPurchase(source, item, category, quantity)
-- Branche ici ESX, QBCore, ox_inventory, garage custom, etc.
-- Exemple: print(('UpServeur Boutique: %s achète %sx%s'):format(source, quantity, item.id))
for _, reward in ipairs(item.rewards or {}) do
if reward.type == 'command' and reward.command then
ExecuteCommand(reward.command:gsub('{player}', tostring(source)))
end
end
endGuide d’intégration
Plugin Java compatible Paper, Spigot et Purpur avec commande /vote, vérification API et récompenses configurables.
config.yml
# topserveur-minecraft-plugin/config.yml
token: "TOKEN"
api-base-url: "https://upserveur.fr/api/public/v1"
claim-mode: username
claim-command: "topserveur:vote"
sync-interval-seconds: 60
cooldown-hours: 24
reward-command: "eco give {player} 500"Commandes en jeu
/vote
/vote status [pseudo]
/vote reward claim
/topserveur reloadCallback Java
import com.topserveur.vote.VotePayload;
public void onVoteReceived(VotePayload payload) {
String playerName = payload.getPlayerName();
// Exemple : points, monnaie, grade, items...
// economy.depositPlayer(playerName, 500);
}Guide d’intégration
Plugin dédié aux serveurs TrinityCore/WoW. Configure le token, la base API et branche tes callbacks de récompense.
Configuration
-- Exemple de configuration TrinityCore
votePluginConfig = {
serverToken = 'TOKEN',
apiBaseUrl = 'https://upserveur.fr/api/public/v1',
checkInterval = 60
}Gestion du callback
-- Callback générique de vote (TrinityCore)
local vote = ...
if vote and vote.playerName then
-- Ajoute ici ta logique de récompense (SQL, commandes, etc.)
endGuide d’intégration
Envoie les votes et événements importants dans un salon Discord pour informer ta communauté en temps réel.
Payload événement vote
{
"event": "vote.created",
"serverId": "SERVER_ID",
"serverName": "Nom du serveur",
"playerName": "Anthony",
"playerIdentifier": "username:Anthony",
"createdAt": "2026-05-03T18:30:00.000Z"
}