Noki 30 Жалоба Опубликовано 8 мая, 2018 (изменено) Всем привет, в данном гайде я объясню, что необходимо и как настроить свой магазин на сервере. Описание структуры магазина: На отдельном сервере хостится БД (База данных, там храниться список игроков, их балансы и задолженности, а также список предметов и их стоимость), которая обеспечивает быстрый отклик системы, по сравнению с хранением внутри игрового сервера (чуть позже сделаю возможность и хранения внутри игрового сервера). Для приема и выдачи предметов строятся два разных механизма, которые для простоты обзовём: кабинка скупки (принимает предметы игроков) и кабинка продажи (выдает предметы, которые покупают игроки). Начнем с настройкой самой важной части, которая будет управлять поступающими данными: Если есть сервер VPS Спойлер Для всей прелести будем использовать VPS на linux debian, можно и на другой ОС семейства linux. Первым делом, если VPS свеженький, необходимо обновить и проапгрейдить, ради безопасности (# - обозначает запуск команд от суперпользователя): #apt-get update #apt-get upgrade Далее ставим sqlite3: #apt-get install sqlite3 Качаем на сервер скрипт отсюда. (Для неопытного пользователя лучше положить его в дирректорию "/", туда же и *.db файлы направить) **Запоминаем путь до скрипта! Теперь открываем скрипт и правим строки на свой усмотрение: 9. #На какой порт подключаться 10. sock.bind( ("", 20000) ) ########################### 13. #ключ авторизации 14. authServerKey = '0000-0000-00000000' ########################### 16. fbd = '/home/base.db' Строка 10 отвечает за порт, чтобы изменить его впишите вместо "20000" своё число (ВНИМАНИЕ! не выбирайте порты ниже 10000) **Запоминаем числовой номер порта! Строка 14 отвечает за ключ авторизации, отсеивающий левые запросы, чтобы изменить можете вписать любые буквы и числа, вместо "0000-0000-00000000". **Запоминаем ключ авторизации! Строка 16 отвечает за путь к базе данных, чтобы изменить путь, впишите абсолютный путь вместо "/home/base.db" (лучше всего заменить на '/base.db' т.к. легче искать будет) Далее, чтобы не париться с запуском скрипта, после каждой перезагрузки добавляем в список сервисов: Для менеджера systemd: создаем файл по пути: "/etc/systemd/system/dream-t.service" (, где dream-t название сервиса). Содержание файла: Спойлер [Unit] Description=Dream-techno-base After=multi-user.target [Service] Type=idle ExecStart=/usr/bin/python3.5 /root/dream-techno.py Restart=always [Install] WantedBy=multi-user.target ВНИМАНИЕ! путь "/root/dream-techno.py" замените на к скрипту, запомненный ранее! Далее добавьте его в очередь запуска: #sudo systemctl daemon-reload #sudo systemctl enable script.service #sudo systemctl start script.service Можно перезагрузить сервер и убедиться в запуске скрипта командой: ps -ax | grep dream Должно высветиться наподобии: Спойлер # ps -ax | grep dream 691 ? Ss 0:00 /usr/bin/python3.5 /root/dream-techno.py 744 pts/0 S+ 0:00 grep dream Вариант без него Спойлер Будет добавлен позже Далее необходимо выстроить механизмы, показанные на видео: Спойлер видео Добавления по поводу построения и работы кабинок: Спойлер Для кабинки продажи нужна МЭ, если в ней будет присутствовать автокрафт, то она будет автоматически поддерживать количество предметов. Для кабинки скупки не обязательна МЭ с автокрафтами, однако необходимо запитать механизмы из АЕ, они поставлены для увеличения скорости. Также вместо синего подарка можно поставить приватный тессеракт, перенаправляющий предметы в МЭ, либо МЭ интерфейс, их принимающий. Не стоит изменять расположение нажимной плиты и радара, т.к. авторизация происходит на определенном расстоянии, Иначе придется задавать параметры заново. Это не показано на видео, однако в адаптеры кладется улучшение базы данных 3-го уровня, с предметами, которыми будет оперировать кабинка. Добавление предметов в бд происходит при запуске кабинки, вам будет предложено ввести название предмета, стоимость его продажи и скупки. *При запуске первым будет обрабатываться МЭ интерфейс, далее список из бд. *Предметы выставленные в верхние слоты будут добавлены перезаписью, в отличие от добавления из бд, так что можно исправить цену, каждые 6 мин список обновляется, так что не требуется перезапуск кабинки. Запустить ПО (программное обеспечение) на компьютер, можно следующим образом: Для кабинки продажи: pastebin run kRqtuAt6 0000-0000-00000000 151.231.21.12 20000 10 Для кабинки скупки: pastebin run nH2xsR35 0000-0000-00000000 151.231.21.12 20000 Объяснение параметров: 0000-0000-00000000 - ключ авторизации 151.231.21.12 - ip адрес сервера, где хостится скрипт 20000 - порт, на котором скрипт слушает10 - количество предметов, которое будет поддерживаться в МЭ кабинкой Ну вот и всё, чуть позже добавлю программы, которые будут работать на основе данного магазина. Изменено 8 мая, 2018 пользователем Noki 2 6 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты