Bu sistem, MTA San Andreas sunucunuz ile Discord bot arasında komut ilişkilendirmesi sağlar. Oyuncular Discord üzerinden oyun komutlarını kullanabilir.
!ooc [mesaj]- OOC mesaj gönder!status- Kendi durumunu gör!paraver [oyuncu] [miktar]- Oyuncuya para ver
!bakiyever [oyuncu] [miktar]- Oyuncuya para ekle!bakiyeal [oyuncu] [miktar]- Oyuncudan para al!hapis [oyuncu] [süre]- Oyuncuyu hapse at!hapiscikar [oyuncu]- Oyuncuyu hapisten çıkar!zamanayarla [saat] [dakika]- Oyun saatini ayarla
- MTA SA Server 1.6+
- SQLite desteği
- HTTP modülü
- Node.js 16+
- Discord Bot Token
- Discord Server'da bot yetkileri
- Discord Developer Portal'a gidin
- "New Application" butonuna tıklayın
- Bot sekmesine gidin ve "Add Bot" butonuna tıklayın
- Bot token'ını kopyalayın
- Bot'a gerekli yetkileri verin:
- Send Messages
- Use Slash Commands
- Read Message History
- Embed Links
cd discord-bot
npm install.env dosyasını oluşturun:
DISCORD_BOT_TOKEN=your_bot_token_here
DISCORD_CLIENT_ID=your_client_id_here
DISCORD_GUILD_ID=your_server_id_here
DISCORD_ADMIN_ROLE_ID=your_admin_role_id_here
MTA_SERVER_URL=http://localhost:22005
PORT=3000Bot'u başlatın:
npm startserver.luavehttp-handler.luadosyalarını MTA sunucunuzunresourcesklasörüne kopyalayınmeta.xmldosyasını oluşturun:
<meta>
<info author="Geoofy" type="script" name="Discord Commands" version="1.0" />
<script src="server.lua" type="server" />
<script src="http-handler.lua" type="server" />
<file src="database/discord_commands.db" />
</meta>- Sunucuyu yeniden başlatın
Veritabanı otomatik olarak oluşturulacaktır. Manuel kurulum için:
sqlite3 discord_commands.db < database/schema.sqlconfig/mta-config.lua dosyasında ayarları yapılandırın:
- Discord bot ayarları
- Komut izinleri
- Para limitleri
- Hapis koordinatları
- Mesaj şablonları
!ooc Merhaba herkese
!status
!paraver PlayerName 1000
!bakiyever PlayerName 5000
!hapis PlayerName 60
!zamanayarla 14 30
- Kullanıcı: Temel komutlar (ooc, status, paraver)
- Admin: Tüm komutlar (para verme/alma, hapis, zaman ayarlama)
- Super Admin: Gelişmiş komutlar (ban, kick, teleport)
- ✅ Discord ile MTA arasında gerçek zamanlı komut iletişimi
- ✅ Yetki sistemi (kullanıcı/admin)
- ✅ Komut geçmişi ve loglama
- ✅ SQLite veritabanı desteği
- ✅ HTTP API endpoint'leri
- ✅ Hata yönetimi ve güvenlik
- ✅ Rate limiting ve güvenlik önlemleri
- ✅ Komut cooldown sistemi
- Rate limiting (dakikada maksimum 10 istek)
- Komut parametresi validasyonu
- Yetki kontrolü
- SQL injection koruması
- Input sanitization
Sistem şu bilgileri loglar:
- Tüm komut kullanımları
- Başarılı/başarısız işlemler
- Hata mesajları
- Kullanıcı aktiviteleri
server.lua'da komut handler fonksiyonu ekleyinhttp-handler.lua'da komut işleme mantığını ekleyinbot.js'de komut yetkilerini tanımlayınconfig/mta-config.lua'da komut ayarlarını yapın
-- MTA sunucusunda test komutu
/testdiscord status- Discord bot token'ını kontrol edin
- Bot'un sunucuda olduğundan emin olun
- İnternet bağlantısını kontrol edin
- MTA sunucusu HTTP modülünü destekliyor mu?
- Port 22005 açık mı?
- Veritabanı dosyası yazılabilir mi?
- Discord rol ID'lerini kontrol edin
- Bot'un gerekli yetkileri olduğundan emin olun
- Admin rolü doğru ayarlanmış mı?
Sorunlarınız için:
- GitHub Issues açın
- Discord: moodyalostor
Not: Bu sistem geliştirme amaçlıdır. Üretim ortamında kullanmadan önce güvenlik testlerini yapın.