Second Life, sans le viewer

Pilotez vos avatars, pas une ferme de fenêtres.

Un client Second Life pensé pour le sans-affichage, conçu pour qui pilote plusieurs avatars.

Application de bureau pour Linux, Windows et macOS. Un seul processus, tous vos avatars.

Le principe

Trois décisions dont découle tout le reste

01

Sans affichage d’abord

Il n’y a pas de vue 3D et rien n’est rendu à l’écran. Ce qu’un viewer dépense en carte graphique, NeuraCore le dépense à tenir une douzaine de sessions ouvertes à la fois sur une machine ordinaire.

02

Plusieurs avatars, un processus

Chaque avatar est une session dans la même application, avec sa fenêtre, son inventaire et son chat. Passer de l’un à l’autre est un clic, pas une reconnexion.

03

Scriptable jusqu’en bas

Chaque capacité de l’interface est enregistrée comme action d’automatisation et exposée au Python embarqué et au contrôleur IA. Rien de ce que font les boutons n’échappe à un script.

Capacités

Ce qu’il contient réellement

Sessions

Connectez, reconnectez et enchaînez des groupes entiers d’avatars, sur Second Life ou sur une grille OpenSimulator. Chacun revient seul après une coupure, répond au code d’authentification à deux facteurs quand la grille le demande, et indique dans sa barre d’état sous quelle licence il tourne.

Profil et notifications

Le profil public, les picks, les petites annonces, les notes et la shape portée, ainsi que tout ce que la grille envoie : invitations, avis de paiement, demandes de permission et messages système, comptés tant qu’ils attendent une réponse.

Argent

Le solde en dollars Linden et tout l’historique des paiements, reçus comme envoyés. Payer est désactivé tant que vous ne l’activez pas, et c’est le réglage par défaut qui mérite d’être dit.

Inventaire

Parcourir, chercher, créer, déplacer, copier, prévisualiser, partager et supprimer. Un filtre par date retrouve ce qui vient d’arriver, et Fetch All charge tout quand une recherche doit couvrir l’ensemble.

Apparence et attachements

Portez et retirez des tenues, remplacez tout un look ou ajoutez-en un par-dessus, voyez ce qui est attaché et où, et modifiez la shape portée curseur par curseur lorsqu’elle est modifiable.

Chat, MI et groupes

Chat local, messages instantanés et sessions de groupe, séparés par avatar avec le compte des non lus, et relayés vers votre propre avatar si vous le demandez.

Carte, radar et monde

Téléportez-vous chez vous, vers une région nommée ou vers des coordonnées, répondez aux offres, voyez qui est proche et qui a déjà été vu, et listez les objets envoyés par la région.

Déplacement et suivi

Marcher, voler, s’asseoir, se téléporter, et suivre un autre avatar d’une région à l’autre, à la distance et dans la direction de votre choix, le suiveur disant en clair quand il ne peut vraiment pas le rejoindre.

Trajets de patrouille

Parcourez un trajet une fois vous-même et l’avatar le refait seul : à l’endroit, en boucle, à l’envers ou dans un ordre aléatoire, s’asseyant où vous vous êtes assis et reprenant après une coupure.

Automatisation et Python

Un registre de chaque action que le client sait faire, un interrupteur d’autorisation par action, l’historique de chaque tentative avec son résultat, et du Python embarqué pour les enchaîner. Il est tenu à jour avec l’interface par une règle de projet, pas par la mémoire de quelqu’un.

Contrôleur IA

Choisissez le service, le modèle et la personnalité, décidez qui a le droit de lui parler, et voyez arriver chaque demande, chaque réponse et chaque action choisie. Ce qu’il retient de lui-même et de chaque résident vous appartient : à lire, à modifier ou à effacer.

Connaissance de la boutique

Renseignez l’avatar sur votre commerce Second Life et il répond aux clients à partir de ce que vous avez écrit plutôt qu’au jugé, en n’allant chercher que la partie utile à la question. Fourni avec une licence Business.

Architecture

Comment ça s’articule

Le client de bureau est le produit. Tout le reste existe pour répondre à une seule question à son sujet, sous quelle licence il tourne, et pour le dire honnêtement quand il ne peut pas.

NeuraCore bureau HUD in-world API de licences Une base de données

NeuraCore bureau

Là où se passe tout ce que vous faites. Résout sa licence au lancement et signale sa présence pendant qu’il tourne.

API de licences

Le seul composant qui tranche une question de licence. Chaque appelant prouve son identité par signature ; une requête qui n’y parvient pas est refusée sans explication.

HUD in-world

La moitié de l’achat qui se passe dans Second Life. Elle indique à l’API ce qui a été acheté, signée avec le secret propre au produit.

Une base de données

Chaque lecture et chaque écriture passe par une procédure stockée. Le compte applicatif détient EXECUTE et rien d’autre : aucun privilège de table.

Licences

Achetées in-world, résolues au lancement

Les licences sont vendues sous forme de HUD Second Life sur la marketplace. En porter un et l’activer crédite votre avatar ; le client s’en aperçoit à sa vérification suivante.

Gratuite

Un avatar principal et un siège, à titre permanent. Aucun achat, et rien n’expire.

Initiale

L’achat d’entrée, et le préalable à toute licence à durée. Donne six mois individuel ou trois mois business, et vous choisissez lequel dans le HUD.

Individuelle

Une semaine, un mois ou un an de temps sur un siège. Suspendue plutôt que perdue tant que du temps business tourne.

Business

Les mêmes trois durées au palier business. Prioritaire sur un siège, elle met le temps individuel en attente jusqu’à épuisement.

Le temps vit sur un siège, pas sur un calendrier : une licence en attente n’est pas consommée.

Ce que porte chaque licence en cours. La Licence Initiale n’est pas une colonne : c’est l’achat qui fait passer de Gratuite à l’une des deux autres.

GratuiteIndividuelleBusiness
Avatars contrôlablesUnUn par siège, sièges supplémentaires à l’achatUn par siège, sièges supplémentaires à l’achat
Connexion, reconnexion automatique, Master, résidents autorisésInclusInclusInclus
Profil, inventaire, apparence, amis, groupes, chat, carte, radarInclusInclusInclus
Follow MeUn demi-mètre fixeDistance et direction au choixDistance et direction au choix
ArgentNon inclusInclusInclus
Objets du mondeNon inclusInclusInclus
Moteur d’automatisation et Python embarquéNon inclusInclusInclus
Contrôleur IA et mémoireNon inclusInclusInclus
Services d’IAAucunQuatre services en ligneQuatre services en ligne, plus Ollama et LM Studio sur votre machine
Connaissance de la boutique pour les clientsNon inclusNon inclusInclus
Personnalité Formal BusinessNon inclusNon inclusInclus
Laisser l’IA répondre à tous les résidentsNon inclusNon inclusInclus
Enregistrement de patrouillesAucunUn trajet par avatarCent trajets par avatar

Comment c’est construit

Les parties qui ne sont pas des fonctions

Aucun SQL brut, nulle part

Chaque opération sur la base, dans toute la solution, est une procédure stockée appelée avec des paramètres liés. Les applications web s’authentifient avec un compte qui détient EXECUTE et aucun droit de table : une compromission totale d’un processus PHP ne peut appeler que les procédures qui existent déjà.

Rien n’est cru sur sa provenance

Aucun composant n’est de confiance parce que ses paquets viennent de quelque part. Chaque requête entre les parties de cette solution prouve son identité par un secret partagé, est liée à son propre corps et à son instant, et n’est acceptée qu’une seule fois.

Le registre est petit, volontairement

Les noms d’affichage ne sont pas conservés. La télémétrie client expire d’elle-même dès qu’un client cesse de signaler sa présence. Ce qui est gardé est ce dont une décision de licence a besoin, et le journal qu’un incident amènerait à consulter.