/ballz_server

back side for ballz.ballshift.com?user_id=12345&auth_key=12345

Primary LanguageJavaScript

Server

Back-end для клиента игры

Описание полей файлов конфигурации

Файлы конфигураций должны быть скопированны в папку config Файлы конфигураций могут Изначально в этой папке находятся файлы с примерами default_example.json5 и production_example.json5

  • db:

    • database [string] - Имя базы данных
    • username [string] - Имя пользователя, которое используется для аутентификации в базе данных
    • password [string] - Пароль пользователя, которое используется для аутентификации в базе данных
    • params:
      • dialect [string] - Диалект, использующийся в базе данных
      • host [string] - Арес хоста по которому происходит обращение к базе данных
      • port [integer] [optional] - Порт по которому происходит обращение к базе данных
      • operatorsAliases [array/boolean] - определение операторов символов, которые можно использовать для создания сложных сравнений.
      • pool:
        • max [integer] - Максимальное количество соединений в connection pool
        • min [integer] - Минимальное количество соединений в connection pool
        • acquire [integer] - Максимальное время (в миллисекундах), в течение которого connection pool будет пытаться установить соединение, прежде чем выдать ошибку
        • idle [integer] - Максимальное время в миллисекундах, в течение которого соединение может простаивать до освобождения
        • define:
          • underscored [boolean] - Метод, опеределяющий генерацию имен полей таблицы
  • app:

    • protocol [string] - Протокол по которому осуществляется общение с сервером (http или https)

    • https [boolean] - Флаг определяющий какой тип сервера будет запущен, используется при разработке, оставить значение false

    • port [integer] - Номер порта, по которому будет доступен сервер

      данное занчение используется, если не определён process.env.PORT

    • logger [boolean] - Включить вывод расширенных сообщений об ошибках, используется в разработке

    • clientUrl [string] - Адрес клиента игры

    • loggers [object/array of objects] - Логгеры использемы сервером

    В настоящее время поддерживаются:

    1. Вывод в консоль
    2. Сервис Loggly - нужен зарегистрированный аккаунт на сервисе
    • staticFolder [string] - Относительный путь к папке со статическим файлами сервера
    • staticURL [string] - Относительный url по которому доступны статические файлы сервера
  • routes:

    • client:
      • api [string] - Относительный url по которому доступен API приложения
    • ok:
      • payment [string] - Относительный url к которому доступен payment.callback вКонтакте
    • vk:
      • payment [string] - Относительный url к которому доступен payment.callback Одноклассники
    • fk:
      • payment [string] - Относительный url к которому доступен payment.callback fakeSDK для СА клиента
  • socials:

    • vk:
      • secret [string] - Секретный ключ приложения в вКонтакте
      • service [string] - Сервисный ключ приложения в вКонтакте
      • id [integer] - Индификатор приложения в вКонтакте
    • ok:
      • secret [string] - Секретный ключ приложения в Одноклассники
      • service [string] - Сервисный ключ приложения в Одноклассники
      • id [integer] - Индификатор приложения в Одноклассники
  • new_user:

    • amo [array] - Массив с ключами типов шаров, которые будут переданы при создании пользователя

      На данный момент доступны следующие типы шаров: ice,ice_s,fire,fire_s,shark,shark_s,air,air_s,earth,earth_s Актуальные типы шаров можно посмотеть в файле data.json, который находится в папке клиента assets/jsons/, параметр balls.keys Тег _s означает обычный размер шара, без тега - увеличинный

    • cash [integer] - Колличество внутренней валюты приложения, которое будет переданно при создании нового пользователя

      Используется при покупках с помощью FakeSDK в SA версии клиента В дальнейшем возможна реализация покупки внутренней валюты с помощью Яндекс.Кассы

    • shop

      • images [string] - Путь к папке с изображениями товаров

Установка

Сервер требует для установки и работы Node.js v8+ с установленным npm

Создать и заполнить файлы конфигураций, находящиеся в папке config

  • Скопировать (или, усли установлен git склонировать) файлы из репозитория в рабочую папку сервера

  • Создать или скопировать файлы конфигураций, в папку config

  • Установить зависимости:

    $ cd <путь к файлам сервера>
    $ npm install --prod
  • запустить скрипт миграции таблиц базы данных:

    $ node servicedb -D -U
  • запустить сервер методом, определённым хостингом, в общем случае:

    $ node server

Ключи скрипта синхронизации БД servicedb

  • -С или --create-db - Создать новуб БД (требуется логин и пароль root пользователя сервера БД)
  • -D или --drop-tables - Удалить перед синхронизацией все существующие таблицы из БД
  • -F или --force - Удалять таблицу перед синхронизацией
  • -U или --update -Заполнить/обновить таблицу данными из файла миграций после синхронизации
  • --help - Вызов справки
  • -V, --version - Версия скрипта