Dokumentacja Pulse Phone
Wymagania
2. Wymagania
| Co | Wymagane? | Co się dzieje bez tego |
|---|---|---|
| Włączony OneSync | Wymagane | Sprawdzenie startowe kończy się błędem OneSync ... off. Dodaj set onesync on. |
| Game build 2699 lub nowszy | Wymagane | Model telefonu się nie streamuje. Ustaw sv_enforceGameBuild. |
| oxmysql (albo ghmattimysql, mysql-async) na MariaDB 10.6+ lub MySQL 8 | Zalecane | Gdy nie działa żaden resource SQL, dane są trzymane w magazynie key/value serwera. Są trwałe, ale nie da się ich odpytywać, a powyżej około 30 graczy powinieneś używać bazy danych. |
| Skrypt voice: pma-voice, mumble-voip, SaltyChat, TokoVOIP albo YACA | Zalecane | Połączenia się łączą, ale nie ma dźwięku. |
| screenshot-basic | Zalecane (standardowy resource albo lżejsza kopia z twojego pobrania: zobacz szybki start, krok 6) | Aparat kadruje ujęcia, ale nie może zapisywać zdjęć. |
| Framework | Opcjonalne | Telefon działa w trybie standalone: telefony są przypisane do licencji gracza, a telefon ma własny bank. |
Kompletny blok 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 ...Baza danych. To, którego magazynu używa telefon, jest ustalane przy każdym starcie:
| Twój serwer | Gdzie telefon trzyma dane |
|---|---|
| oxmysql, mysql-async albo ghmattimysql działa, a baza odpowiada | Baza danych. Tabele tworzą się przy pierwszym starcie, a nowe dodają się same po każdej aktualizacji. |
| Nie działa żaden resource SQL | Magazyn key/value serwera, automatycznie. Jest trwały po restartach, ale nie da się go odpytywać. Powyżej około 30 graczy, albo gdy konsola ostrzega, że zapis magazynu jest wolny, używaj bazy danych. |
| Resource SQL działa, ale baza nie odpowiada w ciągu 30 sekund | Nic nie jest zapisywane, dopóki nie odpowie. Konsola mówi dlaczego, a telefon ponawia próbę co 15 do 60 sekund i sam kończy start, gdy baza odpowie. |
W ostatnim przypadku możesz kazać telefonowi używać zamiast tego magazynu key/value przez set phone_db_fallback "kvp" w server.cfg; te dane zostają w magazynie key/value i nigdy nie są później kopiowane do bazy, więc używaj tego na serwerze testowym, a nie jako obejścia zepsutego połączenia. Każde zapytanie ma też 10-sekundowy limit: zapytanie, na które baza nigdy nie odpowie, jest zgłaszane jako nieudane aplikacji, która o nie prosiła, a konsola raz wymienia to zapytanie.
Obsługiwane bazy danych: MariaDB 10.6 lub nowsza albo MySQL 8.0 lub nowszy. phone.sql każdego wydania jest sprawdzany na świeżej bazie MariaDB w trybie SQL MySQL 8, zanim paczka zostanie zbudowana. Starsze wersje (MariaDB 10.4 lub 10.5, MySQL 5.7) nie są testowane ani obsługiwane, nawet jeśli mogą działać.
phone.sql jest tylko dla hostingów, które nie pozwalają resource'owi tworzyć tabel. Nie ma w nim podanego collation: obowiązuje domyślne utf8mb4 twojego serwera, tak samo jak wtedy, gdy telefon sam tworzy tabele. Można go bezpiecznie uruchomić na istniejącej bazie, a ponowne uruchomienie nowego pliku po aktualizacji dodaje tylko to, czego brakuje.
sv_stateBagStrictMode może zostać włączony. Wszystko, co inni gracze widzą z telefonu (animacja trzymania, telefon w dłoni, jego ekran, latarka), ustawia serwer po sprawdzeniu wartości, nigdy gra gracza.
Zmiana telefonu
Tabele innego telefonu. Jeśli telefon, którego używałeś wcześniej, zostawił tabele o tych samych nazwach (na przykład phone_messages), są one przy pierwszym starcie przemianowywane na old_<name>, żeby Pulse Phone mógł utworzyć własne. Nic nie jest usuwane. Jeśli twój użytkownik bazy nie może zmieniać nazw tabel, sprawdzenie startowe pokazuje [FAIL] Database z nazwami tabel: daj użytkownikowi uprawnienia ALTER albo zmień nazwę każdej na old_<name> w swoim narzędziu do bazy (HeidiSQL, phpMyAdmin) i zrestartuj.