Pulse Phone Doku
Voraussetzungen
2. Voraussetzungen
| Was | Erforderlich? | Was ohne passiert |
|---|---|---|
| OneSync an | Erforderlich | Der Start-Check schlägt mit OneSync ... off fehl. Füg set onesync on hinzu. |
| Game Build 2699 oder neuer | Erforderlich | Das Handy-Modell streamt nicht. Setz sv_enforceGameBuild. |
| oxmysql (oder ghmattimysql, mysql-async) auf MariaDB 10.6+ oder MySQL 8 | Empfohlen | Wenn keine SQL-Resource läuft, werden die Daten im Key/Value-Store des Servers gespeichert. Sie bleiben erhalten, aber du kannst sie nicht abfragen, und ab etwa 30 Spielern solltest du eine Datenbank nutzen. |
| Ein Voice-Script: pma-voice, mumble-voip, SaltyChat, TokoVOIP oder YACA | Empfohlen | Anrufe verbinden, aber ohne Ton. |
| screenshot-basic | Empfohlen (die Standard-Resource oder die schlankere Kopie in deinem Download: siehe Quick Start, Schritt 6) | Die Kamera kann Bilder einrahmen, aber keine Fotos speichern. |
| Ein Framework | Optional | Das Handy läuft standalone: Handys sind an die Lizenz des Spielers gebunden, und das Handy hat seine eigene Bank. |
Ein kompletter server.cfg-Block:
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 ...Die Datenbank. Welchen Speicher das Handy nutzt, wird bei jedem Start entschieden:
| Dein Server | Wo das Handy seine Daten speichert |
|---|---|
| oxmysql, mysql-async oder ghmattimysql läuft, und die Datenbank antwortet | In der Datenbank. Tabellen werden beim ersten Start angelegt und nach jedem Update automatisch ergänzt. |
| Überhaupt keine SQL-Resource läuft | Automatisch im Key/Value-Store des Servers. Er bleibt über Neustarts erhalten, lässt sich aber nicht abfragen. Ab etwa 30 Spielern oder wenn die Konsole warnt, dass das Speichern langsam ist, nutze eine Datenbank. |
| Eine SQL-Resource läuft, aber die Datenbank antwortet nicht innerhalb von 30 Sekunden | Nichts wird gespeichert, bis sie antwortet. Die Konsole sagt, warum, und das Handy versucht es alle 15 bis 60 Sekunden erneut und startet von selbst fertig, sobald die Datenbank antwortet. |
Im letzten Fall kannst du das Handy mit set phone_db_fallback "kvp" in der server.cfg anweisen, stattdessen den Key/Value-Store zu nutzen; diese Daten bleiben im Key/Value-Store und werden später nie in die Datenbank kopiert, nutze das also auf einem Testserver und nicht als Umweg um eine kaputte Verbindung. Jede Abfrage hat außerdem eine Frist von 10 Sekunden: Eine Abfrage, die die Datenbank nie beantwortet, wird der App, die gefragt hat, als fehlgeschlagen gemeldet, und die Konsole nennt diese Abfrage einmal.
Unterstützte Datenbanken: MariaDB 10.6 oder neuer oder MySQL 8.0 oder neuer. Die phone.sql jedes Releases wird vor dem Bau des Pakets auf einer frischen MariaDB-Datenbank im SQL-Modus von MySQL 8 geprüft. Ältere Versionen (MariaDB 10.4 oder 10.5, MySQL 5.7) sind nicht getestet und nicht unterstützt, auch wenn sie vielleicht funktionieren.
phone.sql ist nur für Hosts gedacht, die einer Resource nicht erlauben, Tabellen anzulegen. Darin ist keine Collation angegeben: Es gilt der utf8mb4-Standard deines Servers, genau wie wenn das Handy die Tabellen selbst anlegt. Sie kann gefahrlos auf einer bestehenden Datenbank ausgeführt werden, und die neue nach einem Update erneut auszuführen fügt nur hinzu, was fehlt.
sv_stateBagStrictMode kann an bleiben. Alles, was andere Spieler von einem Handy sehen (die Halte-Animation, das Handy in der Hand, sein Bildschirm, die Taschenlampe), wird vom Server gesetzt, nachdem er den Wert geprüft hat, nie vom Spiel des Spielers.
Handy wechseln
Tabellen eines anderen Handys. Wenn ein Handy, das du vorher genutzt hast, Tabellen mit denselben Namen hinterlassen hat (zum Beispiel phone_messages), werden sie beim ersten Start in old_<name> umbenannt, damit Pulse Phone seine eigenen anlegen kann. Nichts wird gelöscht. Wenn dein Datenbank-User keine Tabellen umbenennen darf, zeigt der Start-Check [FAIL] Database mit den Tabellennamen: Gib dem User ALTER-Rechte oder benenne jede in deinem Datenbank-Tool (HeidiSQL, phpMyAdmin) in old_<name> um und starte neu.