Docs van Pulse Phone
Vereisten
2. Vereisten
| Wat | Vereist? | Wat er zonder gebeurt |
|---|---|---|
| OneSync aan | Vereist | De opstartcontrole faalt met OneSync ... off. Voeg set onesync on toe. |
| Game build 2699 of nieuwer | Vereist | Het toestelmodel streamt niet. Stel sv_enforceGameBuild in. |
| oxmysql (of ghmattimysql, mysql-async) op MariaDB 10.6+ of MySQL 8 | Aangeraden | Als er geen SQL-resource draait, wordt de data in de key/value-store van de server bewaard. Die blijft bewaard, maar je kunt hem niet doorzoeken, en vanaf ongeveer 30 spelers gebruik je beter een database. |
| Een voicescript: pma-voice, mumble-voip, SaltyChat, TokoVOIP of YACA | Aangeraden | Gesprekken worden verbonden maar er is geen geluid. |
| screenshot-basic | Aangeraden (de standaard resource, of de lichtere versie in je download: zie de snelstart, stap 6) | De camera kadreert foto's maar kan ze niet opslaan. |
| Een framework | Optioneel | De telefoon draait standalone: telefoons gekoppeld aan de licentie van de speler, en de telefoon houdt een eigen bank bij. |
Een compleet blok voor 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 ...De database. Welke opslag de telefoon gebruikt, wordt bij elke start bepaald:
| Je server | Waar de telefoon zijn data bewaart |
|---|---|
| oxmysql, mysql-async of ghmattimysql draait, en de database antwoordt | De database. Tabellen worden bij de eerste start aangemaakt en na elke update worden nieuwe vanzelf toegevoegd. |
| Er draait helemaal geen SQL-resource | De key/value-store van de server, automatisch. Die blijft bewaard na herstarts maar is niet te doorzoeken. Vanaf ongeveer 30 spelers, of als de console waarschuwt dat het opslaan van de store traag is, gebruik je een database. |
| Er draait een SQL-resource, maar de database antwoordt niet binnen 30 seconden | Er wordt niets opgeslagen tot hij antwoordt. De console zegt waarom, en de telefoon probeert het elke 15 tot 60 seconden opnieuw en maakt het opstarten vanzelf af zodra de database antwoordt. |
In het laatste geval kun je de telefoon de key/value-store laten gebruiken met set phone_db_fallback "kvp" in server.cfg; die data blijft in de key/value-store en wordt later nooit naar de database gekopieerd, dus gebruik het op een testserver, niet als manier om een kapotte verbinding te omzeilen. Elke query heeft ook een deadline van 10 seconden: een query waarop de database nooit antwoordt, wordt als mislukt gemeld aan de app die erom vroeg, en de console noemt die query één keer.
Ondersteunde databases: MariaDB 10.6 of nieuwer, of MySQL 8.0 of nieuwer. De phone.sql van elke release wordt gecontroleerd op een verse MariaDB-database in de SQL-modus van MySQL 8 voordat het pakket wordt gebouwd. Oudere versies (MariaDB 10.4 of 10.5, MySQL 5.7) worden niet getest en niet ondersteund, ook als ze misschien werken.
phone.sql is alleen voor hosts die een resource geen tabellen laten aanmaken. Er staat geen collation in: de utf8mb4-standaard van je server geldt, net als wanneer de telefoon de tabellen zelf aanmaakt. Je kunt het veilig draaien op een bestaande database, en de nieuwe na een update opnieuw draaien voegt alleen toe wat ontbreekt.
sv_stateBagStrictMode kan aan blijven. Alles wat andere spelers van een telefoon zien (de vasthoudanimatie, het toestel in de hand, het scherm, de zaklamp) wordt ingesteld door de server nadat die de waarde heeft gecontroleerd, nooit door de game van de speler.
Van telefoon wisselen
Tabellen van een andere telefoon. Als een telefoon die je eerder gebruikte tabellen met dezelfde namen heeft achtergelaten (bijvoorbeeld phone_messages), worden die bij de eerste start hernoemd naar old_<name>, zodat Pulse Phone zijn eigen tabellen kan aanmaken. Er wordt niets verwijderd. Mag je databasegebruiker geen tabellen hernoemen, dan toont de opstartcontrole [FAIL] Database met de tabelnamen: geef de gebruiker ALTER-rechten, of hernoem ze elk naar old_<name> in je databasetool (HeidiSQL, phpMyAdmin), en herstart.