[Python-MySQL] Admin Paneli

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 64

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Merhaba arkadaşlar;

Meto Aydın (SkyMetin2) sahibi olan arkadaş tarafından ve izni olan bir metin2 admin panelini sizlerle paylaşma kararı aldık. İyi kullanımlar.
(Bu paneli paylaşmamızın nedeni Meto kardeşime yapılan ihanet ve dolandırıcılıktır.)


Panelden Görüntüler;

7AQLzY.png



PQGV95.png



lE4Dlr.png



rEyDr3.png



7AQLzN.png






Kurulum;

dXMJpD.png



server_ip kısımlarına serverinizin ipsini yazınız. Örnek : 192.168.1.111
mysql_sifre yazan kısımlara ise mysql yani navicat şifrenizi giriniz. Örnek : 123456
user adı veya portu farklı olanlar kendilerine göre düzenlesinler.



(Python'un orjinal sitesi olduğundan dolayı virustotal koymuyorum.)
(Basit bir kurulumu vardır. Rahatlıkla yapabilirsiniz.)
(Kurulumda çıkan Python2.7 yolunu "Python" olarak değiştiriniz. Son hali C:python/ şeklinde olacak.)

Daha sonra Metin2AdminPanel klasöründe bulunan "AdminPanel" dosyasına sağ tıklayak yönetici olarak çalıştırın.


(Eğer istek olursa kurulum videosu çekilebilir.)

Admin Panel Linkleri;





(Virustotalde virüs olarak görecektir, çünkü sistem SQL inject olarak çalışır. )
Metin2 Private Server Geliştirme İçin Python-MySQL Kullanımı: Admin Paneli Oluşturma

Giriş

Metin2 özel sunucu geliştirme sürecinde admin paneli, sunucu yönetimini kolaylaştıran kritik bir araçtır. Bu panel sayesinde oyun içi kullanıcılar yönetilebilir, karakterler üzerinde değişiklik yapılabilir, istatistikler takip edilebilir ve hatta sunucuya özel olaylar başlatılabilir. Bu yazıda, Python ve MySQL tabanlı bir admin paneli geliştirmeye odaklanacağız. Özellikle game server programming ve source edit süreçlerinde Python-GUI kullanımları da ele alınacaktır.

Python ve MySQL Entegrasyonu

Metin2 sunucularında genellikle iki temel veritabanı kullanılır: auth ve game. Auth veritabanı kullanıcı hesapları için, game veritabanı ise karakterler ve eşyalar gibi oyun içi veriler için kullanılır. Python’da PyMySQL veya mysql-connector-python gibi kütüphaneler kullanarak bu veritabanlarına erişim sağlanabilir. Örneğin:

Kod:
[COLOR=green]import pymysql[/COLOR][BR][/BR][BR][/BR][COLOR=green]connection = pymysql.connect(host='localhost', user='root', password='password', database='metin2_game')[/COLOR][BR][/BR][BR][/BR][COLOR=green]cursor = connection.cursor()[/COLOR]


Admin Paneli için GUI Geliştirme

Python GUI uygulamaları oluşturmak için Tkinter, PyQt veya Kivy gibi kütüphaneler kullanılabilir. Tkinter, standart kütüphanede yer aldığı için tercih edilebilir. Basit bir arayüzde kullanıcı listesi göstermek, karakter silmek ya da para eklemek gibi işlemler yapılabilir. Örneğin bir buton yardımıyla karakter adı girildiğinde veritabanında arama yapmak:

Kod:
[COLOR=green]def search_character(name):[/COLOR][BR][/BR][COLOR=green]    query = f'SELECT * FROM player WHERE name = '{name}''[/COLOR][BR][/BR][COLOR=green]    cursor.execute(query)[/COLOR][BR][/BR][COLOR=green]    result = cursor.fetchall()[/COLOR][BR][/BR][COLOR=green]    return result[/COLOR]


Admin Paneli Özellikleri

Bir Metin2 admin paneli şu temel özellikleri içerebilir:
- Kullanıcı hesaplarını görüntüleme ve silme
- Karakter adları, seviye, gold gibi bilgileri listeleme
- Belirli karakterlere özel item verme
- IP ban ve unban işlemleri
- Sunucu durumu ve aktif oyuncu sayısı

Güvenlik Açıkları ve Önlemler

Admin paneli, sunucu üzerinde yüksek yetkili işlemleri gerçekleştirdiği için güvenlik açısından dikkatli tasarlanmalıdır. SQL injection gibi saldırılar için girdiler mutlaka filtrelenmelidir. Parametreli sorgular kullanılmalıdır:

Kod:
[COLOR=red]query = 'SELECT * FROM player WHERE name = %s'[/COLOR][BR][/BR][COLOR=red]cursor.execute(query, (name,))[/COLOR]


Sonuç

Python-MYSQL tabanlı bir admin paneli, Metin2 özel sunucu geliştirme sürecinde büyük kolaylıklar sağlar. Hem db core hem de game core üzerinde hızlı müdahale imkanı sunar. Uygun GUI ve veritabanı entegrasyonu ile güçlü bir yönetim aracı oluşturulabilir. Ancak güvenlik önlemleri ihmal edilmemelidir. Bu tip sistemler, C++ system ve py root ile birlikte çalıştığında sunucu yönetimini daha da optimize eder.


Using Python-MySQL for Metin2 Private Server Development: Creating an Admin Panel

Introduction

In the process of developing Metin2 private servers, an admin panel is a critical tool that facilitates server management. This panel allows managing in-game users, modifying characters, tracking statistics, and even launching custom events on the server. In this article, we will focus on building an admin panel based on Python and MySQL. We will also touch upon Python-GUI usage during game server programming and source edit processes.

Integration of Python and MySQL

In Metin2 servers, two main databases are typically used: auth and game. The auth database is for user accounts, while the game database is used for in-game data such as characters and items. Access to these databases can be achieved using libraries like PyMySQL or mysql-connector-python in Python. For example:

Kod:
[COLOR=green]import pymysql[/COLOR][BR][/BR][BR][/BR][COLOR=green]connection = pymysql.connect(host='localhost', user='root', password='password', database='metin2_game')[/COLOR][BR][/BR][BR][/BR][COLOR=green]cursor = connection.cursor()[/COLOR]


GUI Development for the Admin Panel

To create GUI applications in Python, libraries such as Tkinter, PyQt, or Kivy can be used. Tkinter is preferred due to its inclusion in the standard library. A simple interface could allow operations such as displaying user lists, deleting characters, or adding gold. For instance, searching for a character by name through a button:

Kod:
[COLOR=green]def search_character(name):[/COLOR][BR][/BR][COLOR=green]    query = f'SELECT * FROM player WHERE name = '{name}''[/COLOR][BR][/BR][COLOR=green]    cursor.execute(query)[/COLOR][BR][/BR][COLOR=green]    result = cursor.fetchall()[/COLOR][BR][/BR][COLOR=green]    return result[/COLOR]


Features of the Admin Panel

A Metin2 admin panel may include the following basic features:
- View and delete user accounts
- List character names, levels, gold, etc.
- Give special items to specific characters
- IP ban and unban operations
- Server status and active player count

Security Vulnerabilities and Precautions

Since the admin panel performs high-level operations on the server, it must be carefully designed with security in mind. Inputs should be filtered to prevent attacks like SQL injection. Parameterized queries should be used:

Kod:
[COLOR=red]query = 'SELECT * FROM player WHERE name = %s'[/COLOR][BR][/BR][COLOR=red]cursor.execute(query, (name,))[/COLOR]


Conclusion

A Python-MySQL-based admin panel provides significant conveniences in the Metin2 private server development process. It offers quick intervention capabilities over both db core and game core. With proper GUI and database integration, a powerful management tool can be created. However, security measures must not be neglected. When such systems work alongside C++ system and py root, they further optimize server management.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt