Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как собственный донат-сайт для сервера Майнкрафт?

Tima Miloserdov Ученик (31), открыт 5 дней назад
И как добавить в него автовыдачу привелегии после покупке? Еще раз повторюсь как создать СОБСТВЕННЫЙ сайт, а не пользоваться tradeMC, easydonate и прочей фигней для школосерверов.
Ps: я уже написал код который после покупки вставляет ник игрока в комманду и эта комманда вводится в консоль. Писал я это на джава скрипт. Как сделать сам сайт? И привязать в него кассу? И куда писать/вставлять для него код?
2 ответа
лерхит Просветленный (23894) 5 дней назад
если у тебя на сервере донат есть, это по дефолту, должно быть, школосервак
User Мыслитель (8156) 5 дней назад
Создать собственный донат-сайт - отличное решение, чтобы не зависеть от посредников. Давай по порядку:
1. Структура сайта
Тебе понадобится:

Frontend: HTML, CSS, JavaScript (React/Vue/Angular - на выбор).
Backend: Node.js (Express.js) или PHP (если любишь страдать).
База данных: MySQL/PostgreSQL или MongoDB для хранения данных о покупках.

2. Оплата (Касса)
Используй платёжные шлюзы: ЮKassa, CloudPayments, Stripe, PayPal API.
На сайте создаёшь форму оплаты. После успешного платежа шлюз отправит вебхук на твой сервер.

Сервер обрабатывает вебхук, запускает твой JavaScript-код для отправки команды в консоль сервера Minecraft.

3. Куда вставлять код?
Frontend: Храни файлы в папке /public (если используешь Node.js).
Backend: Серверная логика в server.js или app.js.
API для обработки платежей: Отдельный эндпоинт, например /api/payment.

4. Как связать с консолью Minecraft?

Раз уж у тебя уже есть код, который выполняет команду, просто сделай правильную маршрутизацию вебхуков от платёжной системы к этому коду.

Пример обработки платежа (Node.js + Express.js):

app.post('/api/payment', (req, res) => {
const { username, privilege } = req.body; // Данные из вебхука
const command = `give ${username} ${privilege}`;

// Отправляем команду в консоль Minecraft
exec(`screen -S minecraft -p 0 -X stuff "${command}\n"`, (err) => {
if (err) {
console.error('Ошибка:', err);
return res.status(500).send('Ошибка выполнения команды');
}
res.status(200).send('Команда успешно выполнена');
});
});

5. Где хостить?

Frontend: Netlify, Vercel или любой хостинг для статики.
Backend: VPS (DigitalOcean, Hetzner, OVH).

6. Безопасность!
Проверяй подписи вебхуков.
Не храни секретные ключи в открытом виде.

Защити API от DDoS.
Похожие вопросы