Metin2 Sunucusunda Admin Paneli Entegre Etmek İçin En İyi Çözümler

ZekiX

Yeni Üye
Katılım
Eyl 2026
Konular
1
Mesajlar
1
Tepki puanı
0
Görüntülenme
0
1. Ortam Hazırlığı
  • PHP 7.4+, MySQL 5.7+ ve Apache/Nginx kurulu.
  • sudo apt update && sudo apt install php php-mysql
  • /var/www/html dizinine admin paneli koyun: wget https://example.com/adminpanel.zip && unzip adminpanel.zip -d /var/www/html/adminpanel

2. Veritabanı Oluşturma
SQL:
CREATE DATABASE metin2_admin CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON metin2_admin.* TO 'admin_user'@'localhost' IDENTIFIED BY 'secure_pass';
FLUSH PRIVILEGES;

3. Panel Yapılandırması
  • /var/www/html/adminpanel/config.php dosyasına veritabanı bilgilerini yazın.
  • require_once 'config.php'; ile bağlantıyı test edin: php -r "require 'config.php'; echo 'ok';"

4. Dosya İzinleri
Bash:
sudo chown -R www-data:www-data /var/www/html/adminpanel
sudo find /var/www/html/adminpanel -type d -exec chmod 750 {} \;
sudo find /var/www/html/adminpanel -type f -exec chmod 640 {} \;

5. Web Sunucusunu Ayarlama
  • Apache için:
Kod:
<VirtualHost *:80>
    ServerName admin.metin2.game
    DocumentRoot /var/www/html/adminpanel
    <Directory /var/www/html/adminpanel>
        AllowOverride All
    </Directory>
</VirtualHost>
  • Nginx için:
NGINX:
server {
    listen 80;
    server_name admin.metin2.game;
    root /var/www/html/adminpanel;
    index index.php;
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }
}

6. Güvenlik
  • .htaccess ile temel parola koruması ekleyin (Apache).
  • FTP’e erişimi kısıtlayın.
  • HTTPS’yi otomatik olarak sağlayan Let's Encrypt ile sertifika kurun (certbot --apache veya certbot --nginx).

7. Entegrasyon
  • Admin paneli içinde “Metin2 Sunucu” sekmesi açarak, sunucu dosyalarının (log, oyuncu listesi) okunması için gerekli API’leri yazın.
  • query_server.php dosyasında socket üzerinden info komutunu gönderip alın.

Soru: Bu adımları uygularken, veritabanı bağlantısı sırasında SQLSTATE[HY000] hatasıyla karşılaşırsanız, sunucu ne zaman yeniden başlatıldığını veya MySQL servisinin çalışmadığını kontrol etmelisiniz. Siz bu durumda hangi adımı tercih edersiniz?

İlgili konular​

 
Geri
En Üst