Transaction
Transactions
Description
Cette page permet de transférer des crédits à d’autres joueurs et de suivre vos transactions.
Elle permet :
- d’envoyer des crédits
- de consulter les transactions envoyées et reçues
- de filtrer et rechercher dans l’historique
👉 Une transaction peut ne pas être immédiate selon l’état du serveur ou des joueurs.
Accès
Depuis le menu principal :
- Joueur → Transactions

Vue de l’écran
Écran principal

L’écran est divisé en deux zones :
- en haut : Envoi de crédits
- en bas : Historique des transactions
Envoyer des crédits
Zone d’envoi

Champs
- Univers
→ serveur sur lequel effectuer la transaction (ex : Univ2 - Sans CPU)
- Destinataire
→ joueur sélectionné dans la liste
- SteamID
→ permet de saisir un joueur manuellement (utile s’il n’apparaît pas dans la liste)
- Montant
→ crédits à envoyer
- Message
→ texte libre associé à la transaction
Envoi
Cliquez sur Envoyer.
✔️ Si tout est valide :
- un message s’affiche :
→ OK (ID xxx - Frais xxx - Total débité xxx)
- la transaction apparaît dans l’historique
- le statut passe à Créée
Exemple réel :
- Montant : 100
- Frais : 1000
- Total débité : 1100
Contraintes
- impossible de s’envoyer des crédits à soi-même
- le montant doit être > 0
- un seul transfert en cours à la fois (côté serveur)
Historique des transactions
Zone historique
Colonnes
- ID → identifiant interne
- Univers → serveur concerné
- Sens
* Envoyé * Reçu
- Autre joueur → joueur concerné
- Montant → montant principal
- Frais → frais appliqués
- Statut → état actuel
- Créée le → date de création
- Terminée le → date de fin (si applicable)
- Description → message
Exemple réel
Transaction affichée :
- ID : 138
- Univers : Univ2 - Sans CPU
- Sens : Envoyé
- Joueur : babyloune
- Montant : 100
- Frais : 1000
- Statut : Créée
👉 Cela signifie que la transaction est enregistrée mais pas encore exécutée.
Filtres
Situés au-dessus de l’historique :
- Statut (par défaut : En cours)
- Type
- Sens
- Recherche
Recherche possible sur :
- pseudo
- GUID
- description
- ID
👉 Les filtres s’appliquent instantanément.
Actions
Actualiser
Recharge les transactions depuis le serveur.
Détails
Affiche les informations complètes d’une transaction.
Copier GUID
Copie l’identifiant unique.
Statuts des transactions
Cycle normal
- 1. Créée
- 2. Débit en attente
- 3. Débitée
- 4. Crédit en attente
- 5. Terminée
Important
👉 Une transaction peut rester bloquée en :
- Créée
- Débit en attente
- Crédit en attente
si :
- le joueur source est hors ligne
- le joueur cible est hors ligne
- le serveur est indisponible
Cas d’erreur
- Échec → erreur technique
- Annulée → arrêt manuel
- Rollback → remboursement automatique après problème
Fonctionnement réel
- la transaction est créée dans la BAO
- elle est traitée en arrière-plan côté serveur
- le système attend que les joueurs soient connectés
- le débit et le crédit se font séparément
👉 Le transfert n’est donc pas instantané.
Architecture technique
Le système de transactions repose sur 3 composants principaux :
- Client (Boîte à Outils)
→ envoie les demandes de transfert et affiche l’historique
- API BAO
→ enregistre les transactions et pilote leur exécution
- Serveur Empyrion (mod Credits)
→ applique réellement les crédits en jeu
👉 Les crédits ne sont jamais modifiés directement par le client. Tout passe par l’API serveur.
Traitement en arrière-plan
Les transactions sont traitées automatiquement par un service serveur.
Ce service :
- vérifie les transactions toutes les 30 secondes
- traite les transactions par lot
- priorise les joueurs qui viennent de se connecter
👉 Une transaction n’est donc jamais exécutée immédiatement. Elle est prise en charge par un worker.
Priorités de traitement
1. Joueurs qui viennent de se connecter 2. Transactions en attente 3. Transactions expirées
👉 Cela permet d’accélérer les transferts dès qu’un joueur revient en ligne.
Gestion des joueurs hors ligne
Le système gère automatiquement les joueurs hors ligne.
Cas 1 : joueur source hors ligne
- la transaction reste en attente
- elle sera exécutée à sa prochaine connexion
Cas 2 : joueur cible hors ligne
- le débit est effectué
- le crédit est mis en attente
- il sera appliqué à la prochaine connexion
Retry automatique
- le système réessaie régulièrement
- les compteurs sont réinitialisés à chaque reconnexion
👉 Aucune action manuelle n’est nécessaire.
Notifications
Le système envoie automatiquement des notifications Discord :
- création de transaction
- débit effectué
- crédit effectué
- transaction terminée
- erreurs ou rollback
👉 Les joueurs peuvent suivre l’évolution en temps réel.
Exemple
- Étape 1/2 : débit effectué
- Étape 2/2 : crédit effectué
Notes
- une connexion online est obligatoire
- les statuts évoluent automatiquement
- les frais sont calculés côté serveur
- les transactions sont sécurisées (pas de double envoi possible)