« Transaction » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| 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 l’historique de vos transactions'''. | ||
Elle permet : | Elle permet notamment : | ||
* d’envoyer des crédits à | |||
* de consulter | * d’envoyer des crédits à un autre joueur | ||
* de filtrer | * de consulter les transactions envoyées et reçues | ||
* de filtrer les opérations par statut, type ou sens | |||
* d’obtenir le détail complet d’une transaction | |||
👉 Une transaction n’est pas toujours instantanée : | |||
elle peut rester en attente jusqu’à ce que les joueurs concernés soient connectés sur le serveur de jeu. | |||
== Accès == | == Accès == | ||
| Ligne 14 : | Ligne 19 : | ||
== Vue globale == | == Vue globale == | ||
<br clear="all"/> | <br clear="all"/> | ||
[[Fichier:Ecran transactions joueur.png|cadre|gauche|Écran des transactions]] | [[Fichier:Ecran transactions joueur.png|cadre|gauche|Écran des transactions joueur]] | ||
<br clear="all"/> | <br clear="all"/> | ||
L’écran est divisé en deux parties : | L’écran est divisé en deux parties : | ||
* en haut : envoi de crédits | |||
* en bas : historique des transactions | * en haut : '''envoi de crédits''' | ||
* en bas : '''historique des transactions''' | |||
== Envoyer des crédits == | == Envoyer des crédits == | ||
| Ligne 25 : | Ligne 31 : | ||
=== Champs disponibles === | === Champs disponibles === | ||
* '''Univers''' | * '''Univers''' | ||
→ | → serveur concerné par la transaction | ||
* '''Destinataire''' | * '''Destinataire''' | ||
→ | → joueur sélectionné dans la liste | ||
* '''SteamID''' | * '''SteamID''' | ||
→ permet de saisir manuellement | → permet de saisir manuellement le SteamID d’un joueur si celui-ci n’apparaît pas dans la liste | ||
* '''Montant''' | * '''Montant''' | ||
→ nombre de crédits à | → nombre de crédits à transférer | ||
* '''Message''' | * '''Message''' | ||
→ description facultative associée à la transaction | → description facultative associée à la transaction | ||
=== Envoi === | |||
=== | |||
Cliquez sur '''Envoyer''' pour créer la transaction. | Cliquez sur '''Envoyer''' pour créer la transaction. | ||
✔️ Si tout est valide : | ✔️ Si tout est valide : | ||
⚠️ | * la demande est envoyée au serveur | ||
* un résumé s’affiche avec l’ID de transaction, les frais et le total débité | |||
* l’historique est automatiquement rechargé | |||
⚠️ Règles importantes : | |||
* vous ne pouvez pas vous envoyer des crédits à vous-même | * vous ne pouvez pas vous envoyer des crédits à vous-même | ||
* le montant doit être supérieur à 0 | * le montant doit être strictement supérieur à 0 | ||
* une connexion online valide est obligatoire | |||
* le destinataire peut être choisi dans la liste ou saisi manuellement via son SteamID | |||
== Frais de transaction == | |||
Pour les transferts entre joueurs, des frais peuvent être appliqués. | |||
👉 Ces frais sont calculés côté serveur selon une configuration dynamique : | |||
* pourcentage | |||
* minimum | |||
* maximum | |||
👉 Les joueurs donateurs du mois sont exemptés de frais sur les transferts joueur à joueur. | |||
== Historique des transactions == | == Historique des transactions == | ||
La partie basse affiche | La partie basse affiche votre historique personnel. | ||
👉 Les 250 dernières transactions sont chargées pour | Elle contient : | ||
* les transactions que vous avez envoyées | |||
* les transactions que vous avez reçues | |||
👉 Les '''250 dernières transactions''' sont chargées pour éviter de surcharger l’interface. Les filtres sont ensuite appliqués côté client. :contentReference[oaicite:5]{index=5} | |||
=== Colonnes === | === Colonnes === | ||
* '''ID''' : identifiant de la transaction | * '''ID''' : identifiant interne de la transaction | ||
* '''Univers''' : serveur concerné | * '''Univers''' : serveur concerné | ||
* '''Sens''' : | * '''Sens''' : | ||
** '''Envoyé''' → transaction sortante | |||
** '''Reçu''' → transaction entrante | |||
* '''Autre joueur''' : | * '''Autre joueur''' : autre partie impliquée | ||
* '''Montant''' : montant de la transaction | * '''Montant''' : montant principal de la transaction | ||
* '''Frais''' : frais | * '''Frais''' : frais prélevés | ||
* '''Statut''' : état de la transaction | * '''Statut''' : état actuel de la transaction | ||
* '''Créée le''' : date de création | * '''Créée le''' : date de création | ||
* '''Terminée le''' : date de finalisation | * '''Terminée le''' : date de finalisation | ||
* '''Description''' : message associé | * '''Description''' : message associé | ||
== Codes couleur == | |||
Les lignes sont colorées automatiquement : | Les lignes sont colorées automatiquement selon leur statut : | ||
* | * '''Vert''' → transaction terminée | ||
* | * '''Jaune''' → transaction en attente ou en cours de traitement | ||
* | * '''Rouge''' → transaction échouée ou annulée | ||
== Filtres == | == Filtres == | ||
| Ligne 88 : | Ligne 113 : | ||
Plusieurs filtres sont disponibles : | Plusieurs filtres sont disponibles : | ||
* '''Statut''' | * '''Statut''' | ||
→ par défaut : '''En cours''' | → par défaut : '''En cours''' | ||
* '''Type''' | * '''Type''' | ||
→ | → par exemple : | ||
* transfert joueur | |||
* récompense vote | |||
* don admin | |||
* retrait admin | |||
* '''Sens''' | * '''Sens''' | ||
→ | → envoyé / reçu | ||
* '''Recherche''' | * '''Recherche''' | ||
→ recherche par : | → recherche par : | ||
* pseudo | * pseudo | ||
| Ligne 104 : | Ligne 133 : | ||
* ID | * ID | ||
👉 Les filtres sont appliqués | 👉 Les filtres sont appliqués directement dans l’application, sans nouvel appel serveur. | ||
== Actions disponibles == | == Actions disponibles == | ||
| Ligne 111 : | Ligne 140 : | ||
Recharge l’historique depuis le serveur. | Recharge l’historique depuis le serveur. | ||
=== | === Détails === | ||
Sélectionnez une transaction puis cliquez sur '''Détails''' ou double-cliquez sur la ligne. | |||
La fenêtre de détail affiche notamment : | |||
=== Copier | * l’ID et le GUID | ||
Permet de copier | * le type | ||
* le statut | |||
* la source et la destination | |||
* le montant | |||
* les frais | |||
* le total débité | |||
* le total crédité | |||
* les dates | |||
* la description complète | |||
=== Copier GUID === | |||
Permet de copier le GUID de la transaction sélectionnée. | |||
👉 Ce GUID peut être utile pour le support ou pour retrouver précisément une transaction. | |||
== Fonctionnement == | == Fonctionnement == | ||
Les transactions de crédits sont créées dans la BAO, puis traitées côté serveur. | |||
Pour les transferts entre joueurs : | |||
* la transaction est d’abord créée | |||
* le joueur source doit être joignable pour le débit | |||
* le joueur cible doit être joignable pour le crédit | |||
* si tout se passe bien, la transaction est finalisée | |||
=== Étapes === | 👉 Le traitement est réalisé en arrière-plan par un worker serveur qui vérifie régulièrement les transactions en attente. | ||
== Cycle de vie d’une transaction == | |||
Une transaction suit plusieurs statuts possibles. | |||
=== Étapes normales === | |||
1. '''Créée''' | 1. '''Créée''' | ||
* | * la transaction est enregistrée | ||
2. '''Débit en attente''' | 2. '''Débit en attente''' | ||
* | * le système attend de pouvoir débiter le joueur source | ||
3. '''Débitée''' | 3. '''Débitée''' | ||
* | * les crédits ont été retirés au joueur source | ||
4. '''Crédit en attente''' | 4. '''Crédit en attente''' | ||
* | * le système attend de pouvoir créditer le joueur cible | ||
5. '''Terminée''' | 5. '''Terminée''' | ||
* | * les crédits ont bien été transférés | ||
=== Cas particuliers === | === Cas particuliers === | ||
* '''Échec''' | * '''Échec''' | ||
* | * erreur définitive avant finalisation | ||
* '''Annulée''' | * '''Annulée''' | ||
* | * transaction annulée volontairement | ||
* '''Rollback en attente''' | * '''Rollback en attente''' | ||
* | * le débit a réussi, mais le crédit final n’a pas pu aboutir | ||
* '''Rollback terminé''' | * '''Rollback terminé''' | ||
* | * les crédits ont été restitués au joueur source | ||
=== Schéma simplifié === | === Schéma simplifié === | ||
| Ligne 178 : | Ligne 217 : | ||
→ Terminée | → Terminée | ||
=== | ou, en cas de problème après débit : | ||
Débitée | |||
→ Crédit en attente | |||
→ Rollback en attente | |||
→ Rollback terminé | |||
== Transactions en attente == | |||
Une transaction peut rester en attente dans plusieurs cas : | |||
* le joueur source n’est pas connecté | |||
* le joueur cible n’est pas connecté | |||
* le serveur de jeu ou le mod Empyrion n’est pas joignable | |||
* le traitement attend le prochain cycle du worker | |||
👉 Ce comportement est normal. | |||
Le système interroge le serveur de jeu via l’API du mod Empyrion pour lire et modifier les crédits du joueur concerné. | |||
== Sécurité et robustesse == | |||
Le système met en place plusieurs protections : | |||
* verrou côté serveur pour éviter plusieurs transferts concurrents depuis le même joueur | |||
* logs détaillés d’audit | |||
* retries techniques | |||
* attente spécifique quand un joueur est hors ligne | |||
* rollback si un débit a eu lieu mais que le crédit final échoue | |||
👉 L’objectif est de sécuriser les crédits et d’éviter les pertes silencieuses. | |||
== Notifications == | |||
Les transactions peuvent générer : | |||
* des notifications dans la BAO pour les joueurs concernés | |||
* des notifications Discord côté serveur | |||
Exemples : | |||
* transfert initié | |||
* transfert réussi | |||
* transaction échouée | |||
* rollback effectué | |||
== Ce que cette fonctionnalité fait == | |||
* crée des transferts de crédits entre joueurs | |||
* permet de suivre l’avancement réel d’une transaction | |||
* affiche l’historique personnel | |||
* fournit des détails utiles pour le support | |||
== Ce que cette fonctionnalité ne fait pas == | |||
* | * ne garantit pas un transfert instantané | ||
* | * ne permet pas d’annuler soi-même une transaction côté joueur | ||
* | * ne traite pas les crédits hors serveur concerné | ||
* ne contourne pas l’état de connexion des joueurs | |||
== Notes == | == Notes == | ||
* une connexion online est obligatoire | * une connexion online valide est obligatoire | ||
* certaines transactions peuvent | * l’interface traduit les statuts techniques en français pour l’affichage | ||
* les dates sont affichées en heure locale | |||
* certaines transactions peuvent rester temporairement en attente avant d’évoluer automatiquement | |||
Version du 28 mars 2026 à 14:08
Transactions
Description
Cette page permet de transférer des crédits à d’autres joueurs et de suivre l’historique de vos transactions.
Elle permet notamment :
- d’envoyer des crédits à un autre joueur
- de consulter les transactions envoyées et reçues
- de filtrer les opérations par statut, type ou sens
- d’obtenir le détail complet d’une transaction
👉 Une transaction n’est pas toujours instantanée : elle peut rester en attente jusqu’à ce que les joueurs concernés soient connectés sur le serveur de jeu.
Accès
Menu Joueur → Transactions
Vue globale

L’écran est divisé en deux parties :
- en haut : envoi de crédits
- en bas : historique des transactions
Envoyer des crédits
Champs disponibles
- Univers
→ serveur concerné par la transaction
- Destinataire
→ joueur sélectionné dans la liste
- SteamID
→ permet de saisir manuellement le SteamID d’un joueur si celui-ci n’apparaît pas dans la liste
- Montant
→ nombre de crédits à transférer
- Message
→ description facultative associée à la transaction
Envoi
Cliquez sur Envoyer pour créer la transaction.
✔️ Si tout est valide :
- la demande est envoyée au serveur
- un résumé s’affiche avec l’ID de transaction, les frais et le total débité
- l’historique est automatiquement rechargé
⚠️ Règles importantes :
- vous ne pouvez pas vous envoyer des crédits à vous-même
- le montant doit être strictement supérieur à 0
- une connexion online valide est obligatoire
- le destinataire peut être choisi dans la liste ou saisi manuellement via son SteamID
Frais de transaction
Pour les transferts entre joueurs, des frais peuvent être appliqués.
👉 Ces frais sont calculés côté serveur selon une configuration dynamique :
- pourcentage
- minimum
- maximum
👉 Les joueurs donateurs du mois sont exemptés de frais sur les transferts joueur à joueur.
Historique des transactions
La partie basse affiche votre historique personnel.
Elle contient :
- les transactions que vous avez envoyées
- les transactions que vous avez reçues
👉 Les 250 dernières transactions sont chargées pour éviter de surcharger l’interface. Les filtres sont ensuite appliqués côté client. :contentReference[oaicite:5]{index=5}
Colonnes
- ID : identifiant interne de la transaction
- Univers : serveur concerné
- Sens :
- Envoyé → transaction sortante
- Reçu → transaction entrante
- Autre joueur : autre partie impliquée
- Montant : montant principal de la transaction
- Frais : frais prélevés
- Statut : état actuel de la transaction
- Créée le : date de création
- Terminée le : date de finalisation
- Description : message associé
Codes couleur
Les lignes sont colorées automatiquement selon leur statut :
- Vert → transaction terminée
- Jaune → transaction en attente ou en cours de traitement
- Rouge → transaction échouée ou annulée
Filtres
Plusieurs filtres sont disponibles :
- Statut
→ par défaut : En cours
- Type
→ par exemple : * transfert joueur * récompense vote * don admin * retrait admin
- Sens
→ envoyé / reçu
- Recherche
→ recherche par : * pseudo * description * GUID * ID
👉 Les filtres sont appliqués directement dans l’application, sans nouvel appel serveur.
Actions disponibles
Actualiser
Recharge l’historique depuis le serveur.
Détails
Sélectionnez une transaction puis cliquez sur Détails ou double-cliquez sur la ligne.
La fenêtre de détail affiche notamment :
- l’ID et le GUID
- le type
- le statut
- la source et la destination
- le montant
- les frais
- le total débité
- le total crédité
- les dates
- la description complète
Copier GUID
Permet de copier le GUID de la transaction sélectionnée.
👉 Ce GUID peut être utile pour le support ou pour retrouver précisément une transaction.
Fonctionnement
Les transactions de crédits sont créées dans la BAO, puis traitées côté serveur.
Pour les transferts entre joueurs :
- la transaction est d’abord créée
- le joueur source doit être joignable pour le débit
- le joueur cible doit être joignable pour le crédit
- si tout se passe bien, la transaction est finalisée
👉 Le traitement est réalisé en arrière-plan par un worker serveur qui vérifie régulièrement les transactions en attente.
Cycle de vie d’une transaction
Une transaction suit plusieurs statuts possibles.
Étapes normales
1. Créée
* la transaction est enregistrée
2. Débit en attente
* le système attend de pouvoir débiter le joueur source
3. Débitée
* les crédits ont été retirés au joueur source
4. Crédit en attente
* le système attend de pouvoir créditer le joueur cible
5. Terminée
* les crédits ont bien été transférés
Cas particuliers
- Échec
* erreur définitive avant finalisation
- Annulée
* transaction annulée volontairement
- Rollback en attente
* le débit a réussi, mais le crédit final n’a pas pu aboutir
- Rollback terminé
* les crédits ont été restitués au joueur source
Schéma simplifié
Créée → Débit en attente → Débitée → Crédit en attente → Terminée
ou, en cas de problème après débit :
Débitée → Crédit en attente → Rollback en attente → Rollback terminé
Transactions en attente
Une transaction peut rester en attente dans plusieurs cas :
- le joueur source n’est pas connecté
- le joueur cible n’est pas connecté
- le serveur de jeu ou le mod Empyrion n’est pas joignable
- le traitement attend le prochain cycle du worker
👉 Ce comportement est normal.
Le système interroge le serveur de jeu via l’API du mod Empyrion pour lire et modifier les crédits du joueur concerné.
Sécurité et robustesse
Le système met en place plusieurs protections :
- verrou côté serveur pour éviter plusieurs transferts concurrents depuis le même joueur
- logs détaillés d’audit
- retries techniques
- attente spécifique quand un joueur est hors ligne
- rollback si un débit a eu lieu mais que le crédit final échoue
👉 L’objectif est de sécuriser les crédits et d’éviter les pertes silencieuses.
Notifications
Les transactions peuvent générer :
- des notifications dans la BAO pour les joueurs concernés
- des notifications Discord côté serveur
Exemples :
- transfert initié
- transfert réussi
- transaction échouée
- rollback effectué
Ce que cette fonctionnalité fait
- crée des transferts de crédits entre joueurs
- permet de suivre l’avancement réel d’une transaction
- affiche l’historique personnel
- fournit des détails utiles pour le support
Ce que cette fonctionnalité ne fait pas
- ne garantit pas un transfert instantané
- ne permet pas d’annuler soi-même une transaction côté joueur
- ne traite pas les crédits hors serveur concerné
- ne contourne pas l’état de connexion des joueurs
Notes
- une connexion online valide est obligatoire
- l’interface traduit les statuts techniques en français pour l’affichage
- les dates sont affichées en heure locale
- certaines transactions peuvent rester temporairement en attente avant d’évoluer automatiquement