Tous les projets

C# / Systèmes métier

NOVA LIFE / AMNESIA

Terminé

Des règles métier au cœur d’un serveur de jeu de rôle.

Plugins C#/.NET et systèmes métier pour serveur RP : banque, permissions et administration.

01 / Le contexte

Pourquoi ce projet ?

Proposer des interactions en jeu et traduire des règles de fonctionnement en plugins C# : examens, commandes, livraison et interfaces d’administration.

02 / Les usages

Fonctionnalités examinées

Analyse statique d’une sélection des sources fournies. Aucun serveur de jeu n’a été lancé. Le statut global « Terminé » est conservé selon le CV ; le module de permis analysé comporte une attribution encore à compléter, limite confirmée par Romain Beka.

Questionnaires de permis

AmnesiaPermis sépare les questions, la session et les panneaux de réponse. Le permis B calcule le score et affiche le résultat ; l’attribution du permis reste signalée par un TODO dans la version fournie.

Commandes et livraisons

Innov_MCDO définit des commandes, des ingrédients et un suivi de livraison. Le traitement final vérifie le rôle de l’employé, l’état de paiement et les fonds du client avant le transfert des objets.

Menu personnalisé

Le plugin F4 utilise un patch Harmony sur l’entrée clavier pour ouvrir ou fermer un panneau personnalisé et mémoriser le panneau associé au joueur.

Données de terrain

MapConfig utilise une entité ModKit annotée pour SQLite et sérialise les objets du terrain en JSON. Ce modèle a été examiné ; la base du serveur n’a pas été consultée.

03 / L’interface

Galerie à venir

À ajouter : questionnaire du permis, panneau de commande et livraison en jeu. Aucune capture du serveur n’a été fournie ; aucun écran n’a été reconstitué.

04 / La technique

Comment le projet s’organise

Des plugins intégrés au jeu Lecture des sources
Des plugins intégrés au jeuVue d’ensemble des modules examinés, pas une chaîne unique ni une base commune à tous les plugins. Les dépendances au jeu sont nécessaires à une validation en exécution.Panneaux et entréesPlugins C# / API du jeuÉtat du jeuSQLite selon module
  1. Interactions en jeu

    Panneaux UIPanel, réponses aux questions et entrées clavier.

  2. Plugins C#

    Sessions de permis, gestion des commandes et menu F4 ; modules distincts.

  3. API Nova Life / Unity

    Joueurs, inventaires, entreprises et panneaux du jeu. Interception ciblée avec Harmony pour F4.

  4. Persistance selon le module

    Sauvegardes via l’API du jeu ; entité ModKit / SQLite et JSON observée pour MapConfig.

Vue d’ensemble des modules examinés, pas une chaîne unique ni une base commune à tous les plugins. Les dépendances au jeu sont nécessaires à une validation en exécution.

Dans les coulisses du développement

Séparer une session de ses écrans

La session du permis conserve la liste des questions, l’index courant et le nombre de bonnes réponses. Le panneau affiche la question puis transmet le choix au traitement de la réponse. L’état de progression reste distinct de sa présentation.

Contrôler une livraison au dernier moment

CompleteDelivery relit les fonds du client au moment de livrer. Le débit précède le transfert d’objets, puis le code marque la commande comme payée et répartit le montant entre entreprise et livreur. Cette lecture ne garantit pas une transaction atomique.

05 / Mon rôle

Développement personnel

Programmation des plugins, implémentation des règles métier et intégration des systèmes.

J’ai développé la majorité du code, avec une assistance IA occasionnelle.

Périmètre de ma contribution

  • Développement majoritaire du code des plugins.
  • Programmation des fonctionnalités et implémentation des règles métier.
  • Intégration des systèmes et de la persistance des données.

06 / Recul technique

Défis, limites et perspectives

Aucun récit de difficulté résolue n’a été fourni. Les contrôles métier sont visibles dans le code, mais leur robustesse en jeu reste à tester. Deux points relevés : l’attribution du permis est incomplète ; CompleteDelivery consulte customer.isInGame après une recherche susceptible de renvoyer null. Les sources externes n’ont pas été corrigées.

Prochaine étape de validation

Valider la version du plugin déployée, compléter l’attribution du permis, traiter le cas du client absent et enregistrer une démonstration sur un serveur de test autorisé.

07 / Aller plus loin

Documentation & références

Télécharger le dossier PDF
  • CV et précisions de Romain Beka : contribution, périmètre général et maintien du statut avec la limite du permis.
  • AmnesiaPermis : projet .NET, session et panneau Permis B.
  • Innov_MCDO_corrige : McDoOrder et McDoManager ; InnovationRP : patch F4 et MapConfig.
  • Banque, crédits, TPE et SafeZones figurent au CV ; leur ensemble n’a pas été vérifié dans cette sélection de sources.