Second Life, senza il viewer

Guida i tuoi avatar, non una fattoria di finestre.

Un client Second Life per chi guida più di un avatar.

Applicazione desktop per Linux, Windows e macOS. Un processo, tutti gli avatar.

L’idea

Tre decisioni da cui discende tutto il resto

01

Prima di tutto senza schermo

Non c’è una vista 3D e non viene disegnato nulla. Quello che un viewer spende in scheda grafica, NeuraCore lo spende nel poter tenere aperte una dozzina di sessioni insieme su una macchina qualsiasi.

02

Molti avatar, un processo

Ogni avatar è una sessione dentro la stessa applicazione, con la propria finestra, il proprio inventario, la propria chat. Passare dall’uno all’altro è un clic, non un accesso.

03

Programmabile fino in fondo

Ogni capacità dell’interfaccia è registrata come azione di Automation ed esposta al Python integrato e al controller IA. Nulla di ciò che fanno i pulsanti è fuori dalla portata di uno script.

Capacità

Che cosa c’è davvero dentro

Sessioni

Collega, ricollega e avvia in sequenza interi gruppi di avatar, su Second Life o su una griglia OpenSimulator. Ognuno torna da solo dopo una caduta, risponde al codice a due fattori quando la griglia lo chiede, e dice nella sua barra di stato con quale licenza sta girando.

Profilo e notifiche

Il profilo pubblico, i picks, gli annunci, le note e la forma indossata, più tutto ciò che manda la griglia: inviti, avvisi di pagamento, richieste di permesso e messaggi di sistema, contati finché aspettano ancora una risposta.

Denaro

Il saldo in dollari Linden e tutto lo storico dei pagamenti, ricevuti e inviati. Pagare è disattivato finché non lo attivi, ed è l’unica impostazione predefinita che vale la pena dire.

Inventario

Sfogliare, cercare, creare, spostare, copiare, visualizzare, condividere ed eliminare. Un filtro per data trova ciò che è appena arrivato, e Fetch All carica tutto quando una ricerca deve coprire l’intero inventario.

Aspetto e allegati

Indossare e togliere outfit, sostituire un intero aspetto o aggiungerne uno sopra, vedere che cosa è allegato e dove, e modificare la forma indossata cursore per cursore quando è modificabile.

Chat, IM e gruppi

Chat locale, messaggi istantanei e sessioni di gruppo, tenuti separati per avatar con il conteggio del non letto, e inoltrati al tuo avatar quando lo chiedi.

Mappa, radar e mondo

Teletrasportarsi a casa, in una regione con nome o su coordinate, rispondere alle offerte di teletrasporto, vedere chi è vicino e chi è già stato visto, ed elencare gli oggetti che la regione ha inviato.

Movimento e seguito

Camminare, volare, sedersi, teletrasportarsi e seguire un altro avatar da una regione all’altra, alla distanza e nella direzione che scegli, con chi segue che dice chiaramente quando davvero non riesce a raggiungerlo.

Percorsi di pattuglia

Percorri un tragitto una volta tu stesso e l’avatar lo rifà da solo: in avanti, in ciclo, al contrario o in ordine casuale, sedendosi dove ti sei seduto e riprendendolo dopo una disconnessione.

Automation e Python

Un registro di ogni azione che il client sa fare, un interruttore di permesso per ciascuna, una cronologia di ogni tentativo con il suo esito, e Python integrato per concatenarle. È una regola di progetto a tenerlo al passo con l’interfaccia, non la memoria di qualcuno.

Controller IA

Scegli il servizio, il modello e la personalità, decidi chi può parlargli, e guarda arrivare ogni richiesta, ogni risposta e ogni azione scelta. Quello che ricorda di sé e di ogni residente è tuo: da leggere, modificare o cancellare.

Conoscenza del negozio

Racconta all’avatar della tua attività in Second Life e risponderà ai clienti con quello che hai scritto invece che a intuito, prendendo solo la parte che serve alla domanda. Arriva con una licenza Business.

Architettura

Quattro parti, una risposta

Il client desktop è il prodotto. Tutto il resto esiste per rispondere a una sola domanda su di lui, con quale licenza sta girando, e per dirlo onestamente quando non ci riesce.

Client desktop HUD in world API delle licenze MariaDB

Client desktop

Esegue gli avatar e chiede all’avvio, e poi regolarmente, che cosa gli è consentito. Non decide nulla sulle licenze da solo.

API delle licenze

L’unico posto in cui si decide una questione di licenza. Ogni chiamante dimostra chi è con un segreto condiviso, e a una richiesta che non ci riesce si risponde 403 senza spiegazioni.

HUD in world

L’altra metà dell’acquisto. Un HUD indossato iscrive l’avatar che lo porta, e quell’unico uso lo consuma.

MariaDB

Ogni lettura e ogni scrittura passa da una procedura memorizzata. L’account applicativo ha EXECUTE e nient’altro: nessun privilegio sulle tabelle.

Licenze

Comprate in world, risolte all’avvio

Le licenze sono vendute come HUD di Second Life sul marketplace. Indossarne uno e attivarlo accredita il tuo avatar; il client se ne accorge al controllo successivo.

Gratuita

Un avatar principale e un posto, in modo permanente. Nessun acquisto, e niente scade.

Iniziale

L’acquisto d’ingresso, e il prerequisito di ogni licenza a tempo. Dà sei mesi Individual o tre mesi Business, e quale dei due lo scegli nell’HUD.

Individual

Una settimana, un mese o un anno di tempo su un posto. Sospesa anziché persa mentre scorre il tempo Business.

Business

Le stesse tre durate al livello Business. Ha la precedenza su un posto e mette in attesa il tempo Individual finché non si esaurisce.

Il tempo vive su un posto, non su un calendario: una licenza in attesa non viene consumata.

Che cosa porta ogni licenza in corso. La Licenza iniziale non è una colonna: è l’acquisto che trasforma Gratuita in una delle altre due.

GratuitaIndividualBusiness
Avatar controllabiliUnoUno per posto, altri posti acquistabiliUno per posto, altri posti acquistabili
Connessione, riconnessione automatica, Master, residenti autorizzatiInclusoInclusoIncluso
Profilo, inventario, aspetto, amici, gruppi, chat, mappa, radarInclusoInclusoIncluso
Follow MeMezzo metro fissoDistanza e direzione a sceltaDistanza e direzione a scelta
DenaroNon inclusoInclusoIncluso
Oggetti del mondoNon inclusoInclusoIncluso
Automation e Python integratoNon inclusoInclusoIncluso
Controller IA e memoriaNon inclusoInclusoIncluso
Servizi di IANessunoQuattro servizi cloudQuattro servizi cloud, più Ollama e LM Studio sulla tua macchina
Conoscenza del negozio per i clientiNon inclusoNon inclusoIncluso
Personalità Formal BusinessNon inclusoNon inclusoIncluso
Lasciare che l’IA risponda a tutti i residentiNon inclusoNon inclusoIncluso
Registrazione dei percorsi di pattugliaNessunoUn percorso per avatarCento percorsi per avatar

Com’è costruito

Le parti che non sono funzioni

Niente SQL grezzo, da nessuna parte

Ogni operazione sul database della soluzione è una procedura memorizzata chiamata con parametri associati. Le applicazioni web si autenticano con un account che ha permessi EXECUTE e nessun diritto sulle tabelle, così la compromissione totale di un processo PHP può solo chiamare le procedure che già esistono.

Nulla è fidato per la sua provenienza

Nessun componente è fidato per il luogo da cui sono arrivati i suoi pacchetti. Ogni richiesta fra parti di questa soluzione si dimostra con un segreto condiviso, è legata al proprio contenuto e al proprio momento, ed è accettata esattamente una volta.

L’archivio è piccolo apposta

I nomi visualizzati non vengono conservati. La telemetria del client scade da sola quando un client smette di segnalare. Si conserva ciò che serve a una decisione di licenza e il registro da cui verrebbe indagato un incidente.