Équilibre de l'économie du serveur FiveM : paychecks, fuites d'argent et inflation

Comment équilibrer une économie de serveur FiveM : paychecks, argent de démarrage, prix, fuites d'argent comme réparations, carburant, taxes et logement, argent noir, et SQL pour surveiller l'inflation.

Le symptôme : les nouveaux joueurs achètent tout en un jour, les prix cessent d'avoir un sens, et les joueurs les plus riches ont plus d'argent que ce que coûte tout le catalogue de magasins.

Une économie est deux flux : l'argent qui entre dans le jeu (robinets) et l'argent qui en sort (fuites). Quand les robinets gagnent assez longtemps, vous obtenez de l'inflation. Cet article montre d'où vient l'argent, comment l'en retirer à nouveau, et comment le mesurer avec la base de données.

Robinets : où l'argent rentre

Listez chaque source avant de changer un nombre :

  • Paychecks : un paiement régulier par travail et grade, que le joueur travaille ou se tienne tranquille.
  • Argent de démarrage : ce qu'un nouveau personnage reçoit.
  • Récompenses de travail et d'activité : livraisons, missions, vols, vente d'articles aux PNJs ou à un prêteur.
  • Commandes admin et cadeaux : argent que vous donnez à la main.

Les paychecks sont le robinet le plus silencieux, parce qu'ils tournent sur une minuterie. Dans QBCore, l'intervalle de paycheck et les valeurs de trésorerie et banque de démarrage vivent dans la config principale ; dans ESX Legacy, l'intervalle et les comptes de démarrage sont aussi dans la config principale, et le montant vient du grade du travail. Trouvez-les dans votre version plutôt que de deviner, et lisez le paiement du grade dans la configuration du travail (ESX, QBCore).

Conseil : de nombreux serveurs paient un paycheck élevé pour attirer les joueurs, puis se demandent pourquoi l'argent n'a pas de valeur. Un paycheck bas avec de vraies récompenses d'activité garde les joueurs en train de faire quelque chose.

Définir les prix

Ancrez tout à un nombre : ce qu'un joueur gagne en une heure de travail normal. Puis tarifiez les choses en heures :

Article Prix raisonnable
Une voiture basique Plusieurs heures de travail
Une bonne voiture Un jour ou deux de jeu
Nourriture et boisson Minutes de travail
Une maison ou un appartement De nombreuses heures, avec des coûts continus

Vous n'avez pas besoin de valeurs exactes. Vous avez besoin d'un ordre : les choses bon marché sont bon marché, les articles de statut prennent du vrai temps. Revisitez après la première semaine avec des données réelles.

Fuites d'argent

Une fuite sort de l'argent et ne donne rien en retour. Les bonnes ajoutent aussi du gameplay :

  • Réparations : le mécanicien facture, ou le joueur paie à un atelier. Consultez le métier mécanicien.
  • Carburant : un petit coût récurrent que chaque conducteur paie.
  • Taxes : sur les véhicules, propriétés, achats en magasin ou profits de l'entreprise.
  • Logement : loyer, services publics ou prix d'achat. Consultez logement et appartements.
  • Licences et amendes : permis de conduire, permis d'armes, amendes de police.
  • Assurance et frais de remorquage pour les véhicules.

Ne faites pas trop l'une d'entre elles. Un petit coût qui se produit souvent est mieux qu'un coût énorme qui semble être un châtiment.

Argent comptant, banque et argent noir

L'argent existe dans plusieurs comptes, ce qui compte quand vous mesurez. Le comptant et la banque sont de l'argent normal. L'argent noir (argent sale) est un compte ou un article séparé, généralement gagné par une activité illégale et lavé en argent propre. Gardez-le sous contrôle avec un taux de conversion, de sorte qu'il vaut moins que l'argent propre, et consultez argent comptant, banque et argent noir pour comment chaque type est stocké et dépensé.

Surveiller l'inflation avec les requêtes

Vous n'avez pas besoin d'un tableau de bord. Une requête sur la table des personnages, exécutée quotidiennement, montre la tendance. L'argent est stocké comme JSON dans une colonne, donc extrayez les valeurs :

sql
-- ESX Legacy: users.accounts holds {"money":..,"bank":..,"black_money":..}
SELECT
  COUNT(*) AS characters,
  SUM(CAST(JSON_UNQUOTE(JSON_EXTRACT(accounts, '$.money')) AS DECIMAL(20,0))) AS cash,
  SUM(CAST(JSON_UNQUOTE(JSON_EXTRACT(accounts, '$.bank')) AS DECIMAL(20,0))) AS bank,
  SUM(CAST(JSON_UNQUOTE(JSON_EXTRACT(accounts, '$.black_money')) AS DECIMAL(20,0))) AS black
FROM users;
sql
-- QBCore and QBox: players.money holds {"cash":..,"bank":..,"crypto":..}
SELECT
  COUNT(*) AS characters,
  SUM(CAST(JSON_UNQUOTE(JSON_EXTRACT(money, '$.cash')) AS DECIMAL(20,0))) AS cash,
  SUM(CAST(JSON_UNQUOTE(JSON_EXTRACT(money, '$.bank')) AS DECIMAL(20,0))) AS bank
FROM players;

Vérifiez d'abord les noms des colonnes dans votre propre base de données, car certains serveurs les personnalisent. Stockez le résultat dans une petite table avec une date, pour que vous puissiez le grapher plus tard :

sql
CREATE TABLE IF NOT EXISTS economy_snapshots (
  id INT AUTO_INCREMENT PRIMARY KEY,
  taken_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  characters INT,
  cash BIGINT,
  bank BIGINT
);

Deux autres requêtes valent la peine d'être exécutées de temps en temps : les dix personnages les plus riches (une énorme anomalie pointe vers une faille), et l'argent moyen par personnage. Comparez-les avec le nombre de personnages actifs, puisqu'un total divisé par les joueurs actifs est un nombre plus honnête que le total seul. Pour l'aide sur les requêtes de Lua, consultez requêtes oxmysql.

Quoi faire quand ça s'enfle

  1. Trouvez le robinet : un nouveau travail, une récompense de vol, un bogue. Comparez les dates.
  2. Diminuez le robinet avant d'ajouter des fuites.
  3. Ajoutez ou augmentez une fuite qui touche tout le monde (carburant, taxes).
  4. Pour une fuite qui s'échappe, corrigez-la d'abord puis gérez l'argent, parce que retirer de l'argent tandis que la fuite est ouverte est inutile.

Effacer les soldes est un dernier recours, parce que les joueurs perdent confiance. Les options plus douces sont les taxes sur les gros soldes, une réduction des intérêts bancaires, ou les articles de luxe à durée limitée qui absorbent de l'argent.

Liste de contrôle

Symptôme Solution
Tout abordable en un jour Baissez le paycheck et l'argent de démarrage
Le total d'argent augmente chaque semaine Diminuez les robinets, ajoutez des fuites qui touchent tout le monde
Un personnage a un argent absurde Cherchez une faille, vérifiez les journaux
Les prix semblent sans sens Tarifiez en heures de travail
L'argent noir trop fort Ajoutez une perte quand vous le lavez
Pas de données pour décider Prenez des photos des totaux quotidiennement

Réponses rapides

Comment savoir si mon économie s'enfle ?

Sommez l'argent de tous les personnages dans la base de données selon un horaire, par exemple une fois par jour, et comparez les chiffres. Si le total augmente plus vite que le nombre de joueurs, plus d'argent rentre que ne sort.

Qu'est-ce qu'une fuite d'argent ?

Tout ce qui sort de l'argent du jeu pour de bon : réparations, carburant, taxes, loyer, licences, amendes. Sans fuites, l'argent ne fait que s'accumuler.

Où je change le paycheck et l'argent de démarrage ?

Dans la config principale de votre framework. ESX et QBCore ont chacun des paramètres pour l'intervalle de paycheck et pour l'argent qu'un nouveau personnage commence, et le paiement du travail est défini par grade.

Des scripts sans ce problème

Shop CreatorCréez un magasin en moins d’une minute — propriétaires, employés, coffres et braquages inclus.Voir le script →Pawn Shop AppUn marché de prêt sur gage entre joueurs, directement dans lb-phone.Voir le script →Crypto MiningAchetez un entrepôt, montez vos rigs pièce par pièce et minez sur un marché qui bouge.Voir le script →

À lire aussi