Авторизация  
Noki

Магазин_2.0

В теме 1 сообщение

Всем привет, в данном гайде я объясню, что необходимо и как настроить свой магазин на сервере.
Описание структуры магазина: 
На отдельном сервере хостится БД (База данных, там храниться список игроков, их балансы и задолженности, а также список предметов и их стоимость), которая обеспечивает быстрый отклик системы, по сравнению с хранением внутри игрового сервера (чуть позже сделаю возможность и хранения внутри игрового сервера).

Для приема и выдачи предметов строятся два разных механизма, которые для простоты обзовём: кабинка скупки (принимает предметы игроков) и кабинка продажи (выдает предметы, которые покупают игроки). 

 

Начнем с настройкой самой важной части, которая будет управлять поступающими данными:
Если есть сервер 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                               - количество предметов, которое будет поддерживаться в МЭ кабинкой

 

Ну вот и всё, чуть позже добавлю программы, которые будут работать на основе данного магазина.

Изменено пользователем Noki
  • Like 2
  • Upvote 6

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация