Documentazione di Pulse Phone

Requisiti

Per Pulse Phone 1.4.23 min di letturaAggiornato il

2. Requisiti

Cosa Obbligatorio? Cosa succede senza
OneSync attivo Obbligatorio Il controllo all'avvio fallisce con OneSync ... off. Aggiungi set onesync on.
Game build 2699 o successiva Obbligatorio Il modello del telefono non viene caricato in streaming. Imposta sv_enforceGameBuild.
oxmysql (o ghmattimysql, mysql-async) su MariaDB 10.6+ o MySQL 8 Consigliato Senza una risorsa SQL attiva, i dati restano nel key/value store del server. Sono persistenti, ma non puoi interrogarli, e oltre i 30 giocatori circa dovresti usare un database.
Uno script voce: pma-voice, mumble-voip, SaltyChat, TokoVOIP o YACA Consigliato Le chiamate si collegano ma senza audio.
screenshot-basic Consigliato (la risorsa standard, o la copia più leggera nel tuo download: vedi la guida rapida, passaggio 6) La fotocamera inquadra ma non può salvare le foto.
Un framework Facoltativo Il telefono funziona in standalone: telefoni legati alla licenza del giocatore, e il telefono ha una sua banca.

Un blocco server.cfg completo:

server.cfg
set onesync on
set sv_enforceGameBuild 2699        # or newer

ensure oxmysql
# ... your framework, then your inventory, banking, garage and housing scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
# ... scripts that use the phone ...

Il database. Quale storage usa il telefono viene deciso a ogni avvio:

Il tuo server Dove il telefono salva i dati
oxmysql, mysql-async o ghmattimysql attivo, e il database risponde Il database. Le tabelle vengono create al primo avvio e quelle nuove si aggiungono da sole dopo ogni aggiornamento.
Nessuna risorsa SQL attiva Il key/value store del server, automaticamente. È persistente tra un riavvio e l'altro ma non è interrogabile. Oltre i 30 giocatori circa, o se la console avvisa che il salvataggio dello store è lento, usa un database.
Una risorsa SQL attiva, ma il database non risponde entro 30 secondi Non viene salvato nulla finché non risponde. La console dice perché, e il telefono riprova ogni 15-60 secondi e completa l'avvio da solo appena il database risponde.

Nell'ultimo caso puoi dire al telefono di usare invece il key/value store con set phone_db_fallback "kvp" in server.cfg; quei dati restano nel key/value store e non vengono mai copiati nel database in seguito, quindi usalo su un server di test, non per aggirare una connessione rotta. Ogni query ha anche un limite di 10 secondi: una query a cui il database non risponde mai viene segnalata come fallita all'app che l'ha richiesta, e la console indica quella query una volta.

Database supportati: MariaDB 10.6 o successivo, oppure MySQL 8.0 o successivo. Il phone.sql di ogni release viene verificato su un database MariaDB nuovo con la SQL mode di MySQL 8 prima che il pacchetto venga creato. Le versioni più vecchie (MariaDB 10.4 o 10.5, MySQL 5.7) non sono testate né supportate, anche dove potrebbero funzionare.

phone.sql serve solo per gli host che non permettono a una risorsa di creare tabelle. Non indica nessuna collation: si applica il default utf8mb4 del tuo server, come quando è il telefono a creare le tabelle. Si può eseguire tranquillamente su un database esistente, e rieseguire quello nuovo dopo un aggiornamento aggiunge solo ciò che manca.

sv_stateBagStrictMode può restare attivo. Tutto ciò che gli altri giocatori vedono di un telefono (l'animazione con il telefono in mano, il telefono in mano, il suo schermo, la torcia) viene impostato dal server dopo aver verificato il valore, mai dal gioco del giocatore.

Cambiare telefono

Le tabelle di un altro telefono. Se un telefono che usavi prima ha lasciato tabelle con gli stessi nomi (per esempio phone_messages), vengono rinominate in old_<name> al primo avvio, così Pulse Phone può creare le sue. Non viene eliminato nulla. Se il tuo utente del database non può rinominare tabelle, il controllo all'avvio mostra [FAIL] Database con i nomi delle tabelle: dai all'utente i permessi ALTER, oppure rinomina ciascuna in old_<name> con il tuo strumento per database (HeidiSQL, phpMyAdmin) e riavvia.

Tradotto dall'inglese. Se qualcosa qui non corrisponde alla pagina in inglese, vale la pagina in inglese. English