Documentation Pulse Phone
Prérequis
2. Prérequis
| Quoi | Obligatoire ? | Ce qui se passe sans |
|---|---|---|
| OneSync activé | Obligatoire | La vérification au démarrage échoue avec OneSync ... off. Ajoutez set onesync on. |
| Game build 2699 ou plus récent | Obligatoire | Le modèle du téléphone ne se streame pas. Définissez sv_enforceGameBuild. |
| oxmysql (ou ghmattimysql, mysql-async) sur MariaDB 10.6+ ou MySQL 8 | Recommandé | Sans ressource SQL démarrée, les données sont gardées dans le stockage clé/valeur du serveur. Elles sont persistantes, mais vous ne pouvez pas les interroger, et au-delà d'environ 30 joueurs vous devriez utiliser une base de données. |
| Un script vocal : pma-voice, mumble-voip, SaltyChat, TokoVOIP ou YACA | Recommandé | Les appels se connectent mais sans audio. |
| screenshot-basic | Recommandé (la ressource standard, ou la copie allégée de votre téléchargement : voir le démarrage rapide, étape 6) | L'appareil photo cadre les prises de vue mais ne peut pas enregistrer de photos. |
| Un framework | Facultatif | Le téléphone tourne en standalone : téléphones liés à la licence du joueur, et le téléphone gère sa propre banque. |
Un bloc server.cfg complet :
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 données. Le stockage utilisé par le téléphone est déterminé à chaque démarrage :
| Votre serveur | Où le téléphone garde ses données |
|---|---|
| oxmysql, mysql-async ou ghmattimysql démarré, et la base de données répond | La base de données. Les tables sont créées au premier démarrage et les nouvelles sont ajoutées automatiquement après chaque mise à jour. |
| Aucune ressource SQL démarrée | Le stockage clé/valeur du serveur, automatiquement. Il est persistant entre les redémarrages mais ne peut pas être interrogé. Au-delà d'environ 30 joueurs, ou si la console avertit que l'enregistrement du stockage est lent, utilisez une base de données. |
| Une ressource SQL démarrée, mais la base de données ne répond pas dans les 30 secondes | Rien n'est enregistré tant qu'elle ne répond pas. La console indique pourquoi, et le téléphone réessaie toutes les 15 à 60 secondes et termine son démarrage tout seul dès que la base de données répond. |
Dans ce dernier cas, vous pouvez indiquer au téléphone d'utiliser plutôt le stockage clé/valeur avec set phone_db_fallback "kvp" dans server.cfg ; ces données restent dans le stockage clé/valeur et ne sont jamais copiées dans la base de données par la suite, utilisez donc cette option sur un serveur de test, pas pour contourner une connexion cassée. Chaque requête a aussi un délai de 10 secondes : une requête à laquelle la base ne répond jamais est signalée comme échouée à l'app qui l'a demandée, et la console nomme cette requête une fois.
Bases de données prises en charge : MariaDB 10.6 ou plus récent, ou MySQL 8.0 ou plus récent. Le phone.sql de chaque version est vérifié sur une base MariaDB vierge en SQL mode MySQL 8 avant la construction du package. Les versions plus anciennes (MariaDB 10.4 ou 10.5, MySQL 5.7) ne sont ni testées ni prises en charge, même là où elles pourraient fonctionner.
phone.sql ne sert qu'aux hébergeurs qui ne permettent pas à une ressource de créer des tables. Aucune collation n'y est indiquée : la valeur utf8mb4 par défaut de votre serveur s'applique, comme quand le téléphone crée lui-même les tables. Il peut être exécuté sans risque sur une base existante, et relancer le nouveau fichier après une mise à jour n'ajoute que ce qui manque.
sv_stateBagStrictMode peut rester activé. Tout ce que les autres joueurs voient d'un téléphone (l'animation de tenue, le téléphone en main, son écran, la lampe torche) est défini par le serveur après vérification de la valeur, jamais par le jeu du joueur.
Changer de téléphone
Les tables d'un autre téléphone. Si un téléphone que vous utilisiez avant a laissé des tables portant les mêmes noms (par exemple phone_messages), elles sont renommées en old_<name> au premier démarrage, pour que Pulse Phone puisse créer les siennes. Rien n'est supprimé. Si votre utilisateur de base de données n'a pas le droit de renommer des tables, la vérification au démarrage affiche [FAIL] Database avec les noms des tables : donnez-lui les droits ALTER, ou renommez chacune en old_<name> dans votre outil de base de données (HeidiSQL, phpMyAdmin), puis redémarrez.