Продаю свой магазин доната для сервера. Писал под себя, а получилась вполне законченная штука, которую не стыдно отдать другим.
Ставится за пару минут. Нужен только Node.js 22.13 или новее: никаких npm install, никаких MySQL, вся база лежит в одном файле SQLite.
После первого запуска магазин работает в тестовом режиме: оплата понарошку, игрокам ничего не уходит. Можно спокойно всё настроить и потыкать, а реальную оплату включить потом.
Живую витрину можно посмотреть прямо сейчас: http://autodonate.lytrix.pro (там тестовый режим, оплата ненастоящая, можно спокойно потыкать).
Что видит игрок
Админка
Привилегии
Сделаны нормально, на этом обычно и сыпятся самописные магазины:
Выдача
Команды задаются у каждого товара, с подстановками {player}, {amount}, {days} и т.д. Работает с LuckPerms, Essentials, PlayerPoints, да с чем угодно, что вызывается командой.
Если сервер в момент выдачи перезагружался, заказ не теряется: магазин сам повторяет попытку раз в минуту (до 10 раз) и продолжает с той команды, на которой оборвалось. Что уже выдано, второй раз не выдаёт.
Оплата
ЮKassa и FreeKassa. У ЮKassa статус платежа перепроверяется запросом к их API, так что фейковым вебхуком товар не получить. У FreeKassa проверяется подпись. Чек для ЮKassa включается галочкой. Нужна другая платёжка - дописывается двумя функциями.
Безопасность
Цены и скидки считаются только на сервере, ник проверяется строго (команду через ник не подсунуть), пароль админа хранится в scrypt, есть защита от CSRF, лимиты на вход и создание заказов, ключи RCON и оплаты обратно в админку не отдаются.
В архиве полные исходники без обфускации.
Установку на ваш сервер один раз делаю бесплатно! Поставлю, подключу RCON и оплату, проверим вместе, что всё выдаётся.
Покупка и вопросы - в телеграм @NyxaryX
Ставится за пару минут. Нужен только Node.js 22.13 или новее: никаких npm install, никаких MySQL, вся база лежит в одном файле SQLite.
После первого запуска магазин работает в тестовом режиме: оплата понарошку, игрокам ничего не уходит. Можно спокойно всё настроить и потыкать, а реальную оплату включить потом.
Живую витрину можно посмотреть прямо сейчас: http://autodonate.lytrix.pro (там тестовый режим, оплата ненастоящая, можно спокойно потыкать).
Что видит игрок
- категории вкладками (привилегии, наборы, услуги, что захотите)
- карточки с бейджами типа "ХИТ!" и зачёркнутой старой ценой, скидка в % считается сама
- покупка валюты ползунком, с бонусами за крупные суммы (у меня стоит +10% от 1500р и +20% от 5000р)
- промокоды и покупка в подарок на чужой ник
- лента последних покупок, ники замазаны (C***)
- онлайн сервера и копирование IP в один клик
- карусель баннеров на главной
- страница заказа, которая сама обновляется, пока товар выдаётся
- нормально смотрится с телефона (скрин есть)
Админка
- обзор: выручка за день, неделю, месяц, график и заказы, где выдача не прошла
- каталог: товары, категории, картинки, порядок стрелками, скрыть или дублировать товар
- отдельный редактор валюты: курс, лимиты, быстрые суммы, бонусы, команда выдачи и табличка "как это увидит игрок"
- промокоды, заказы с поиском (повторить выдачу, подтвердить вручную, отменить)
- баннеры, логотип, тексты соглашений
- 11 готовых цветовых тем (светлые и тёмные) или свои цвета, меняется в пару кликов, скрин с темами есть
- RCON с кнопкой "проверить подключение"
Привилегии
Сделаны нормально, на этом обычно и сыпятся самописные магазины:
- есть уровни, VIP < PREMIUM < ELITE. Если у игрока уже ELITE, купить VIP он не сможет, и сайт сразу напишет почему
- срок в днях или навсегда. Купил ту же ещё раз, и срок продлевается
- когда срок вышел, сайт сам выполняет команды снятия через RCON
- доплаты вида "VIP -> PREMIUM", их видят только те, у кого есть VIP
- в админке видно, у кого что и до какого числа
Выдача
Команды задаются у каждого товара, с подстановками {player}, {amount}, {days} и т.д. Работает с LuckPerms, Essentials, PlayerPoints, да с чем угодно, что вызывается командой.
Если сервер в момент выдачи перезагружался, заказ не теряется: магазин сам повторяет попытку раз в минуту (до 10 раз) и продолжает с той команды, на которой оборвалось. Что уже выдано, второй раз не выдаёт.
Оплата
ЮKassa и FreeKassa. У ЮKassa статус платежа перепроверяется запросом к их API, так что фейковым вебхуком товар не получить. У FreeKassa проверяется подпись. Чек для ЮKassa включается галочкой. Нужна другая платёжка - дописывается двумя функциями.
Безопасность
Цены и скидки считаются только на сервере, ник проверяется строго (команду через ник не подсунуть), пароль админа хранится в scrypt, есть защита от CSRF, лимиты на вход и создание заказов, ключи RCON и оплаты обратно в админку не отдаются.
В архиве полные исходники без обфускации.
Установку на ваш сервер один раз делаю бесплатно! Поставлю, подключу RCON и оплату, проверим вместе, что всё выдаётся.
Покупка и вопросы - в телеграм @NyxaryX