[C++ , PY, Php] İp Ban Atma

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Uyarıya rağmen konu içerisindeki link yenilenmediği için konu kapatıldı.
Metin2 Sunucularında Oyuncu Engelleme Sistemleri ve IP Banlama Yöntemleri

C++, Python ve PHP ile IP Banlama Sistemi Geliştirme

Metin2 özel sunucularında güvenlik ve oyun içi disiplin sağlanması açısından bazı oyuncuların engellenmesi kaçınılmazdır. Özellikle kural dışı davranışlar sergileyen kullanıcıların IP adresleri üzerinden kalıcı olarak engellenmesi, sunucu sahipleri için büyük bir ihtiyaçtır. Bu makalede, C++, Python ve PHP dillerinde geliştirilmiş IP banlama sistemlerini detaylıca ele alacağız. Bu sistemler sayesinde, Metin2 özel sunucularında otomatik veya manuel olarak oyuncu IP adreslerini yasaklayabilirsiniz.

IP Ban Nedir?

IP ban, bir kullanıcının belirtilen IP adresinden sunucuya erişimini engellemek anlamına gelir. Bu yöntem, bir oyuncunun birden fazla hesap açarak kural dışı davranışlarda bulunmasını önlemek için kullanılır. Metin2 özel sunucularında IP ban, hem auth hem de game sunucusunda uygulanabilir. Kötü niyetli oyuncuların tekrar giriş yapamaması için IP banlama işlemi, hem güvenlik hem de adil oyun ortamı sağlama açısından kritik öneme sahiptir.

C++ ile IP Banlama[/CENTER]

Metin2 sunucu kaynak kodları genellikle C++ ile yazılmıştır. Bu nedenle, IP banlama işlemi doğrudan authserver veya gameserver seviyesinde yapılabilir. Öncelikle IP adresi kontrol edilir, daha sonra veritabanına banlanan IP adresi eklenir. C++ tarafında bir fonksiyon yardımıyla IP adresi kontrol edilir ve banlanmışsa bağlantı reddedilir. Örnek olarak:

Kod:
void CheckIPBan(const char* ip_address) {[BR][/BR]    // Veritabanından IP adresini kontrol et[BR][/BR]    if (IsIPBanned(ip_address)) {[BR][/BR]        DisconnectUser();[BR][/BR]    }[BR][/BR]}


Bu yapı, Martysama gibi popüler Metin2Dev sistemlerinde yaygın olarak kullanılmaktadır.

Python GUI ile IP Ban Yönetimi

Oyun yöneticileri için IP banlama işlemlerini kolaylaştırmak adına Python ile bir arayüz geliştirilebilir. PyQt veya Tkinter gibi kütüphaneler kullanarak bir GUI arayüzü hazırlanabilir. Bu arayüzde IP listesi görüntülenebilir, yeni IP eklenebilir ya da mevcut IP silinebilir. Python tarafında MySQL bağlantısı kurularak IP ban tablosu yönetilebilir. Örneğin:

Kod:
import mysql.connector[BR][/BR][BR][/BR]def add_ip_ban(ip):[BR][/BR]    mydb = mysql.connector.connect([BR][/BR]      host='localhost',[BR][/BR]      user='root',[BR][/BR]      password='',[BR][/BR]      database='metin2_auth'[BR][/BR]    )[BR][/BR]    cursor = mydb.cursor()[BR][/BR]    sql = 'INSERT INTO ip_bans (ip) VALUES (%s)'[BR][/BR]    cursor.execute(sql, (ip,))[BR][/BR]    mydb.commit()


Bu sistem, uiscript ve py root dosyalarıyla entegre çalışarak, Metin2 sunucularında IP ban yönetimini kolaylaştırır.

PHP ile Web Tabanlı IP Ban Paneli

Web üzerinden IP ban yönetimi isteyen sunucu sahipleri için PHP ile basit bir panel geliştirilebilir. Bu panelde IP adresleri listelenir, yeni IP ekleme veya kaldırma işlemleri yapılabilir. PHP ile MySQL bağlantısı kurularak IP ban tablosuna erişim sağlanabilir. Örnek bir PHP kodu:

Kod:
$conn = new mysqli($servername, $username, $password, $dbname);[BR][/BR][BR][/BR]if ($conn->connect_error) {[BR][/BR]    die('Connection failed: ' . $conn->connect_error);[BR][/BR]}[BR][/BR][BR][/BR]$sql = 'SELECT ip FROM ip_bans';[BR][/BR]$result = $conn->query($sql);


Bu panel, Metin2Lobby gibi platformlarda sunucu sahipleri için ideal bir yönetim aracı olabilir.

Sunucu Çekirdekleri ve IP Ban Entegrasyonu

Game core, DB core ve Core sistemlerinde IP banlamayı etkinleştirmek için doğru tablo ve fonksiyon tanımlamaları yapılmalıdır. Bu sistemlerde IP ban kontrolü, kullanıcı giriş anında yapılır. Eğer IP listede varsa, kullanıcıya giriş izni verilmez. Bu yapı, hem channel sunucularında hem de ana sunucularda aynı şekilde uygulanabilir.

Sonuç

IP banlama işlemleri, Metin2 özel sunucularında güvenliği artırmak ve adil oyun ortamı sağlamak için kritik öneme sahiptir. C++, Python ve PHP dilleriyle geliştirilen bu sistemler sayesinde IP ban yönetimi kolayca yapılabilir. Metin2lobby.com olarak, bu konuda size yardımcı olabilecek kaynakları ve örnek kodları sürekli paylaşmaya devam edeceğiz.


Player Blocking Systems and IP Banning Methods on Metin2 Servers

IP Banning System Development with C++, Python and PHP

In Metin2 private servers, blocking certain players is inevitable for maintaining security and discipline within the game. In particular, permanently banning players by their IP addresses is crucial for server owners to prevent rule-breaking behavior. In this article, we will examine IP banning systems developed in C++, Python, and PHP languages in detail. With these systems, you can automatically or manually ban player IP addresses on Metin2 private servers.

What Is IP Ban?

IP ban refers to blocking a user from accessing a server via a specific IP address. This method prevents players from creating multiple accounts to engage in rule-breaking activities. On Metin2 private servers, IP banning can be applied on both auth and game servers. To ensure that malicious players cannot log in again, IP banning is critical for both security and fair gameplay.

IP Banning with C++

Metin2 server source codes are mostly written in C++. Therefore, the IP banning process can be implemented directly at the authserver or gameserver level. First, the IP address is checked, then the banned IP is added to the database. Using a function in C++, the IP address is verified, and if it is banned, the connection is rejected. For example:

Kod:
void CheckIPBan(const char* ip_address) {[BR][/BR]    // Check the IP address in the database[BR][/BR]    if (IsIPBanned(ip_address)) {[BR][/BR]        DisconnectUser();[BR][/BR]    }[BR][/BR]}


This structure is widely used in popular Metin2Dev systems such as Martysama.

Managing IP Bans with Python GUI

To make IP banning easier for game administrators, a UI can be developed using Python. Libraries like PyQt or Tkinter can be used to create a GUI interface where IP lists can be viewed, new IPs added, or existing IPs removed. By establishing a MySQL connection in Python, the IP ban table can be managed. For example:

Kod:
import mysql.connector[BR][/BR][BR][/BR]def add_ip_ban(ip):[BR][/BR]    mydb = mysql.connector.connect([BR][/BR]      host='localhost',[BR][/BR]      user='root',[BR][/BR]      password='',[BR][/BR]      database='metin2_auth'[BR][/BR]    )[BR][/BR]    cursor = mydb.cursor()[BR][/BR]    sql = 'INSERT INTO ip_bans (ip) VALUES (%s)'[BR][/BR]    cursor.execute(sql, (ip,))[BR][/BR]    mydb.commit()


This system works seamlessly with uiscript and py root files, simplifying IP ban management on Metin2 servers.

Web-Based IP Ban Panel with PHP

For server owners who prefer managing IP bans through the web, a simple panel can be developed using PHP. In this panel, IP addresses can be listed, and new IPs can be added or removed. By connecting to MySQL via PHP, access to the IP ban table is achieved. An example PHP code:

Kod:
$conn = new mysqli($servername, $username, $password, $dbname);[BR][/BR][BR][/BR]if ($conn->connect_error) {[BR][/BR]    die('Connection failed: ' . $conn->connect_error);[BR][/BR]}[BR][/BR][BR][/BR]$sql = 'SELECT ip FROM ip_bans';[BR][/BR]$result = $conn->query($sql);


This panel can serve as an ideal management tool for server owners on platforms like Metin2Lobby.

Server Cores and IP Ban Integration

To enable IP banning in Game core, DB core, and Core systems, correct table and function definitions must be made. In these systems, IP ban checks occur when users attempt to log in. If the IP is on the list, the user is denied access. This setup can be applied on both channel servers and main servers alike.

Conclusion

IP banning processes are critical for enhancing security and ensuring a fair gaming environment on Metin2 private servers. With systems developed using C++, Python, and PHP, IP ban management can be easily performed. As Metin2lobby.com, we will continue to share resources and sample codes to assist you in this area.
 

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

Benzer konular

Geri
Üst Alt