Paylaşım Gelişmiş Minecraft Sunucu Otomasyon Botu

Seçkin madenci.
Forum Yöneticisi
Moderatör Şefi
Katılım
26 Şubat 2020
Mesajlar
64
En iyi cevaplar
1
Tepki puanı
14
Puanları
1,080
Discord
BloodyX#4069
Bu bot, belirli komutlarla Minecraft sunucusunu başlatma, durdurma, yeniden başlatma ve sunucu durumunu kontrol etme işlevlerini içerir.

Not Test Edilmemiştir)

Gereksinimler:​

  • Node.js ve Discord.js kurulumu
  • Minecraft sunucusunun çalıştırılacağı bir ekran (screen) oturumu

Kurulum:​

  1. Node.js ve Discord.js Kurulumu:
    npm install discord.js

  1. Bot Kodu:

Açıklama:​

  1. Sunucu Başlatma: !sunucubaslat komutu verildiğinde, bot sunucuyu başlatır.
  2. Sunucu Durdurma: !sunucudurdur komutu verildiğinde, bot sunucuyu durdurur.
  3. Sunucu Yeniden Başlatma: !sunucuyenidenbaslat komutu verildiğinde, bot sunucuyu yeniden başlatır.
  4. Sunucu Durumu Kontrolü: !sunucudurum komutu verildiğinde, bot sunucunun çalışıp çalışmadığını kontrol eder ve durumu bildirir.
  5. Sunucuya Mesaj Gönderme: !sunucumesaj mesaj komutu verildiğinde, bot belirtilen mesajı Minecraft sunucusuna gönderir.
Bu kod, Discord botunuzun Minecraft sunucusunu daha kapsamlı bir şekilde yönetmesini sağlar.

Kod:
const { Client, GatewayIntentBits } = require('discord.js');
const { exec } = require('child_process');
const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent] });

client.once('ready', () => {
    console.log('Bot is online!');
});

client.on('messageCreate', message => {
    if (message.content === '!sunucubaslat') {
        exec('screen -S minecraft -d -m java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui', (error, stdout, stderr) => {
            if (error) {
                message.channel.send(`Sunucu başlatılamadı: ${error.message}`);
                return;
            }
            message.channel.send('Minecraft sunucusu başlatıldı!');
        });
    } else if (message.content === '!sunucudurdur') {
        exec('screen -S minecraft -X stuff "stop\n"', (error, stdout, stderr) => {
            if (error) {
                message.channel.send(`Sunucu durdurulamadı: ${error.message}`);
                return;
            }
            message.channel.send('Minecraft sunucusu durduruldu!');
        });
    } else if (message.content === '!sunucuyenidenbaslat') {
        exec('screen -S minecraft -X stuff "stop\n"', (error, stdout, stderr) => {
            if (error) {
                message.channel.send(`Sunucu yeniden başlatılamadı: ${error.message}`);
                return;
            }
            exec('screen -S minecraft -d -m java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui', (error, stdout, stderr) => {
                if (error) {
                    message.channel.send(`Sunucu yeniden başlatılamadı: ${error.message}`);
                    return;
                }
                message.channel.send('Minecraft sunucusu yeniden başlatıldı!');
            });
        });
    } else if (message.content === '!sunucudurum') {
        exec('screen -ls', (error, stdout, stderr) => {
            if (error) {
                message.channel.send(`Sunucu durumu kontrol edilemedi: ${error.message}`);
                return;
            }
            if (stdout.includes('minecraft')) {
                message.channel.send('Minecraft sunucusu çalışıyor.');
            } else {
                message.channel.send('Minecraft sunucusu çalışmıyor.');
            }
        });
    } else if (message.content.startsWith('!sunucumesaj')) {
        const serverMessage = message.content.slice(13).trim();
        exec(`screen -S minecraft -X stuff "say ${serverMessage}\n"`, (error, stdout, stderr) => {
            if (error) {
                message.channel.send(`Mesaj gönderilemedi: ${error.message}`);
                return;
            }
            message.channel.send('Mesaj sunucuya gönderildi!');
        });
    }
});

client.login('YOUR_BOT_TOKEN');
 

Üst