Documentación de Pulse Phone

Requisitos

Para Pulse Phone 1.4.23 min de lecturaActualizado el

2. Requisitos

Qué ¿Obligatorio? Qué pasa sin él
OneSync activado Obligatorio La comprobación de inicio falla con OneSync ... off. Añade set onesync on.
Game build 2699 o superior Obligatorio El modelo del teléfono no hace streaming. Configura sv_enforceGameBuild.
oxmysql (o ghmattimysql, mysql-async) sobre MariaDB 10.6+ o MySQL 8 Recomendado Sin ningún resource SQL en marcha, los datos se guardan en el almacén clave/valor del servidor. Persisten, pero no puedes consultarlos, y a partir de unos 30 jugadores deberías usar una base de datos.
Un script de voz: pma-voice, mumble-voip, SaltyChat, TokoVOIP o YACA Recomendado Las llamadas conectan pero no hay audio.
screenshot-basic Recomendado (el resource estándar, o la copia más ligera de tu descarga: consulta la guía rápida, paso 6) La cámara encuadra, pero no puede guardar fotos.
Un framework Opcional El teléfono funciona en modo standalone: teléfonos vinculados a la licencia del jugador, y el teléfono tiene su propio banco.

Un bloque completo de server.cfg:

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 ...

La base de datos. Qué almacenamiento usa el teléfono se decide en cada inicio:

Tu servidor Dónde guarda el teléfono sus datos
oxmysql, mysql-async o ghmattimysql en marcha, y la base de datos responde La base de datos. Las tablas se crean en el primer inicio y las nuevas se añaden solas tras cada actualización.
Ningún resource SQL en marcha El almacén clave/valor del servidor, automáticamente. Persiste tras los reinicios pero no se puede consultar. A partir de unos 30 jugadores, o si la consola avisa de que guardar el almacén va lento, usa una base de datos.
Un resource SQL en marcha, pero la base de datos no responde en 30 segundos No se guarda nada hasta que responda. La consola indica por qué, y el teléfono reintenta cada 15 a 60 segundos y termina de arrancar solo en cuanto la base de datos responde.

En el último caso puedes indicar al teléfono que use el almacén clave/valor con set phone_db_fallback "kvp" en server.cfg; esos datos se quedan en el almacén clave/valor y nunca se copian después a la base de datos, así que úsalo en un servidor de pruebas, no como forma de esquivar una conexión rota. Además, cada consulta tiene un límite de 10 segundos: una consulta que la base de datos nunca responde se notifica como fallida a la app que la pidió, y la consola nombra esa consulta una vez.

Bases de datos compatibles: MariaDB 10.6 o superior, o MySQL 8.0 o superior. El phone.sql de cada versión se comprueba en una base de datos MariaDB nueva con el modo SQL de MySQL 8 antes de crear el paquete. Las versiones anteriores (MariaDB 10.4 o 10.5, MySQL 5.7) no se prueban ni son compatibles, aunque puedan funcionar.

phone.sql es solo para hostings que no permiten que un resource cree tablas. No nombra ninguna collation: se aplica el utf8mb4 por defecto de tu servidor, igual que cuando el teléfono crea las tablas por sí mismo. Es seguro ejecutarlo en una base de datos existente, y volver a ejecutar el nuevo tras una actualización solo añade lo que falta.

sv_stateBagStrictMode puede seguir activado. Todo lo que los demás jugadores ven de un teléfono (la animación de sujetarlo, el teléfono en la mano, su pantalla, la linterna) lo establece el servidor tras comprobar el valor, nunca el juego del jugador.

Cambiar de teléfono

Las tablas de otro teléfono. Si un teléfono que usabas antes dejó tablas con los mismos nombres (por ejemplo phone_messages), se renombran a old_<name> en el primer inicio, para que Pulse Phone pueda crear las suyas. No se borra nada. Si tu usuario de base de datos no puede renombrar tablas, la comprobación de inicio muestra [FAIL] Database con los nombres de las tablas: da al usuario permisos ALTER, o renombra cada una a old_<name> en tu herramienta de base de datos (HeidiSQL, phpMyAdmin), y reinicia.

Traducido del inglés. Si algo de aquí no coincide con la página en inglés, la página en inglés es la correcta. English