Création d'instances

Répondre
Partager Rechercher
Bonjour à toutes zet tous !

D'abord un gros MERCI en forme de bravo (et inversement) à tous les contributeurs de ce forum.

Sauriez-vous si il est possible de créer des instances d'une même zone ?

Exemple d'application :
Un PJ "A" rentre dans la zone "rêve de l'ivrogne" (par exemple en s'emparant d'une fiole douteuse) >> jusque là tout est normal
Un second PJ "B" rentre dans la zone "rêve de l'ivrogne" >> une nouvelle instance de la zone est créée, B ne rencontrera donc pas A. Les deux rêves sont indépendants. A et B vivent leur aventure en parallèle.

Merci d'avance pour l'attention que vous portez à ce message.
L'instanciation de zones est en effet disponible dans NWN2.

Je ne l'ai pas exploitée personnellement mais je connais des gens qui l'ont fait ( et que j'ai aidé à débugger )
Cela concerne uniquement des PJ solo ou les groupes aussi ? Et si oui dans le cas des groupes qui Host l'instance ? si tu a des infos/sources sur le sujet tu peut me donner des liens ?
C'est en fait assez simple, mais la fonction reste expérimentale, implantée dans le patch de la dernière heure 1.23

object CreateInstancedAreaFromSource(object oArea)

Utiliser cette fonction va générer une copie de la zone oArea et de son contenu, que pourront visiter un ou des joueurs.

Parmi les soucis potentiels de ce système, il faut savoir qu'on ne peut copier qu'une zone "originale" et pas une copie. Et que quand on traverse les objets avec GetObjectByTag, la zone originale est la dernière.

De plus, il est conseillé de détruire les copies de zones pour conserver de bonnes performances.
hum... je vois une commande a réservé aux donjons , je pense a un autre système. La "copie" est host uniquement sur le serveur du module elle ne peut être exporté et géré localement ? Genre chaque PJ d'un même groupe a sa version de la copie pour palier a une déconnexion Et réimporté les résultats de l'instance sur le serveur. Du coup le leader d'un groupe serrait l'host de référence pour le "raccord" serveur.
Guildward système

Édit:
Citation :
hum... je vois une commande a réservé aux donjons
Les donjons sont les aires de jeux les plus susceptibles d'être instanciés sans prendre de risque sur la stabilité du serveur. Imaginons que tu ne veuille pas risqué de saturé le serveur avec des "copies" , tu peut réservé les instances aux donjons optimisés pour le script de nettoyage. A l'entrée du donjon l'instance peut être même le mode de jeu par défaut.

Citation :
La "copie" est host uniquement sur le serveur du module elle ne peut être exporté et géré localement ?
L'idée est que chaque PJ ouvre la même instance en parallèle chez lui et puissent la gérer hors serveur si besoins est. Dans le cas de mon exemple le serveur ferait une "sav" du Groupe avant d'entré dans l'instance et une autre a la fin, au retour des PJ dans une zone dédier du donjon pour validé la mise a jour des données serveur. (c'est uniquement conceptuel je ne sais pas si c'est possible a faire)

Citation :
Du coup le leader d'un groupe serrait l'host de référence pour le "raccord" serveur.
Hors serveur il deviendrait le réfèrent de l'instance pour le RP, le Log de l'instance et autres soucis techniques
Il y a un truc qui me chiffonne : tu veux dire quoi par "que chaque PJ puisse la gérer hors serveur si besoin est" ? Il est absolument exclu que les joueurs "téléchargent une zone" dans nwn. Ils ont nécessairement téléchargé les informations de terrain dans nwn2, mais tout ce qui est script est géré côté serveur. Et synchroniser quoi que ce soit que le joueur ait fait sur son ordinateur une fois qu'il retourne sur un serveur est aussi exclu.

Maintenant, on peut générer une instance de donjon par joueur ou par groupe de joueur, ça c'est possible. Mais si le serveur coupe, tout le monde est nécessairement déconnecté.

Je crois que la source de ta -supposée- méprise est dans le terme "copie". En fait, le serveur ne va pas faire une copie réelle de la zone, il va en créer une version fantôme dans la mémoire vive.

Je ne sais même pas ce qui se passerait si on faisait une sauvegarde "classique" (en mode fichier, pas dans une base de données SQL externe) alors qu'un joueur est dans une zone instancée. Je pense que ça planterait complètement.
Citation :
Je crois que la source de ta -supposée- méprise est dans le terme "copie". En fait, le serveur ne va pas faire une copie réelle de la zone, il va en créer une version fantôme dans la mémoire vive.
Perso je trouve plus logique que la commande marche ainsi mais dans le doute j'ai brasser large.



Citation :
Je ne sais même pas ce qui se passerait si on faisait une sauvegarde "classique" (en mode fichier, pas dans une base de données SQL externe) alors qu'un joueur est dans une zone instancée. Je pense que ça planterait complètement.
Ça mérite un test-crash il y a peut être des opportunités a saisir dans la réponse a cette question .

Citation :
Et synchroniser quoi que ce soit que le joueur ait fait sur son ordinateur une fois qu'il retourne sur un serveur est aussi exclu.
Pour des raisons techniques ?
On n'a pas -à ma connaissance- les commandes pour permettre de transférer des fichiers du serveur jusqu'au joueur en plein jeu. Sans compter qu'il faudrait en plus de ça gérer le fait qu'il quitte un serveur dédié pour jouer chez lui (héberger chez lui puisque son groupe est avec lui ?).

Mettre à jour les données du serveur en fonction de ce qu'a fait le client sur sa map en local est exclu aussi pour des raisons de sécurité : l'UI, la map et les scripts doivent être hébergés chez le client. Et si ces données sont chez le client il n'a plus qu'à ouvrir son toolset et changer ce qu'il veut...

Dans les mmo auxquels j'ai joué il me semble que si tu plantes dans une instance tu te reconnectes en-dehors de l'instance, pas dedans.
J'ai demandé à la personne qui a intégré cette fonction. Il n'a pas prévu le cas apparemment ce qui est logique : c'est une fonction pour les PWs qui stockent la position du joueur dynamiquement et peuvent vérifier sa validité.

Quand à faire des trucs chez soi et revenir avec sur le serveur, ce serait potentiellement pas top au niveau sécurité et vraiment mauvais pour les potentiels de gruge.
Merci pour les compléments d'infos
J'attendrai d'être plus compètent sur le sujet pour le soumettre a nouveau au débat.

J'ai un concept qui me trotte depuis un bon moment dans la tête et j'ai besoin de savoir si c'est une chimère ou un rêve prémonitoire.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés