Документация Pulse Phone
Требования
2. Требования
| Что | Обязательно? | Что будет без этого |
|---|---|---|
| Включённый OneSync | Обязательно | Проверка при запуске падает с OneSync ... off. Добавьте set onesync on. |
| Игровой билд 2699 или новее | Обязательно | Модель телефона не стримится. Задайте sv_enforceGameBuild. |
| oxmysql (или ghmattimysql, mysql-async) на MariaDB 10.6+ или MySQL 8 | Рекомендуется | Если SQL-ресурс не запущен, данные хранятся в key/value-хранилище сервера. Они сохраняются, но делать к ним запросы нельзя, и если игроков больше примерно 30, стоит использовать базу данных. |
| Голосовой скрипт: pma-voice, mumble-voip, SaltyChat, TokoVOIP или YACA | Рекомендуется | Звонки соединяются, но без звука. |
| screenshot-basic | Рекомендуется (стандартный ресурс или облегчённая копия из вашей загрузки: см. быстрый старт, шаг 6) | Камера наводится на кадр, но не может сохранять фото. |
| Framework | Необязательно | Телефон работает в режиме standalone: телефоны привязаны к лицензии игрока, а у телефона собственный банк. |
Полный блок для 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 ...База данных. Какое хранилище использует телефон, решается при каждом запуске:
| Ваш сервер | Где телефон хранит данные |
|---|---|
| Запущен oxmysql, mysql-async или ghmattimysql, и база данных отвечает | База данных. Таблицы создаются при первом запуске, а новые добавляются сами после каждого обновления. |
| Ни один SQL-ресурс не запущен | Key/value-хранилище сервера, автоматически. Оно сохраняется после рестартов, но запросы к нему делать нельзя. Если игроков больше примерно 30 или консоль предупреждает, что сохранение хранилища идёт медленно, используйте базу данных. |
| SQL-ресурс запущен, но база данных не отвечает в течение 30 секунд | Ничего не сохраняется, пока она не ответит. Консоль сообщает причину, а телефон повторяет попытку каждые 15–60 секунд и сам завершает запуск, как только база данных ответит. |
В последнем случае можно заставить телефон использовать key/value-хранилище вместо базы, задав set phone_db_fallback "kvp" в server.cfg; эти данные остаются в key/value-хранилище и потом никогда не копируются в базу данных, поэтому используйте это на тестовом сервере, а не как обход сломанного соединения. У каждого запроса также есть лимит в 10 секунд: запрос, на который база данных так и не ответила, возвращается как неудачный приложению, которое его отправило, а консоль один раз называет этот запрос.
Поддерживаемые базы данных: MariaDB 10.6 или новее либо MySQL 8.0 или новее. phone.sql каждого релиза проверяется на чистой базе MariaDB в SQL mode MySQL 8 до сборки пакета. Более старые версии (MariaDB 10.4 или 10.5, MySQL 5.7) не тестируются и не поддерживаются, даже если могут работать.
phone.sql нужен только для хостингов, которые не позволяют ресурсу создавать таблицы. Collation в нём не указан: применяется utf8mb4 по умолчанию вашего сервера, как и когда телефон создаёт таблицы сам. Его безопасно выполнять на существующей базе данных, а повторный запуск новой версии после обновления добавляет только то, чего не хватает.
sv_stateBagStrictMode можно оставить включённым. Всё, что другие игроки видят у телефона (анимацию удержания, телефон в руке, его экран, фонарик), задаёт сервер после проверки значения, а не игра игрока.
Смена телефона
Таблицы другого телефона. Если телефон, которым вы пользовались раньше, оставил таблицы с такими же именами (например, phone_messages), при первом запуске они переименовываются в old_<name>, чтобы Pulse Phone мог создать свои. Ничего не удаляется. Если пользователю вашей базы данных нельзя переименовывать таблицы, проверка при запуске показывает [FAIL] Database с именами таблиц: выдайте пользователю права ALTER или переименуйте каждую в old_<name> в своём инструменте для базы данных (HeidiSQL, phpMyAdmin) и перезапустите сервер.