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)