« Transaction » : différence entre les versions
Aucun résumé des modifications |
|||
| (8 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 2 : | Ligne 2 : | ||
== Description == | == Description == | ||
Cette page permet de | Cette page permet de '''transférer des crédits à d’autres joueurs''' et de '''suivre vos transactions'''. | ||
Elle permet : | 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 == | == Accès == | ||
Depuis le menu principal : | |||
* '''Joueur''' → '''Transactions''' | |||
[[Fichier:Accès transactions joueur.png|cadre|centre|Accès]] | |||
== Vue de l’écran == | |||
== | === Écran principal === | ||
<br clear="all"/> | <br clear="all"/> | ||
[[Fichier:Ecran transactions joueur.png|cadre| | [[Fichier:Ecran transactions joueur.png|cadre|centre|Écran des transactions]] | ||
<br clear="all"/> | <br clear="all"/> | ||
L’écran est divisé en deux | L’écran est divisé en deux zones : | ||
* en haut : '''Envoi de crédits''' | |||
* en bas : '''Historique des transactions''' | |||
== Envoyer des crédits == | == Envoyer des crédits == | ||
=== | === Zone d’envoi === | ||
<br clear="all"/> | |||
[[Fichier:Ecran transactions joueur.png|cadre|centre|Zone d’envoi de crédits]] | |||
<br clear="all"/> | |||
=== 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''' | Cliquez sur '''Envoyer'''. | ||
✔️ Si tout est valide : | ✔️ Si tout est valide : | ||
* un message s’affiche : | |||
* | → '''OK (ID xxx - Frais xxx - Total débité xxx)''' | ||
* le | * 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 == | == Historique des transactions == | ||
=== Zone historique === | |||
<br clear="all"/> | |||
[[Fichier:Ecran transactions joueur historique.png|cadre|centre|Historique des transactions]] | |||
<br clear="all"/> | |||
=== 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 | 👉 Une transaction n’est donc jamais exécutée immédiatement. | ||
Elle est prise en charge par un worker. | |||
=== | === Priorités de traitement === | ||
1. | * 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 | === 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 == | == Notes == | ||
* une connexion online est obligatoire | * 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) | |||
Dernière version du 28 mars 2026 à 14:18
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)