[c++] INTERNAL IP SORUNU FIX

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

Admin

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

config.cpp
açılır

192.168 bölümü 999.999 yada 000.000 (192.168 den farklı sayılar) olarak değiştirilir.
q3dq6D.png



son hali
pjbv8n.png

C++ ile Metin2 Internal IP Sorunu ve Çözüm Yöntemleri

Giriş

Metin2 özel sunucu geliştirme sürecinde karşılaşılan sorunlardan birisi de internal IP bağlatısıdır. Özellikle çoklu sunucu yapılarında, farklı sunucuların (örneğin Auth, Game, DB) haberleşmesi sırasında internal IP adreslerinin doğru şekilde tanımlanması büyük önem taşır. Bu yazıda C++ tabanlı Metin2 server src üzerinde internal IP sorunlarının neden oluştuğunu ve nasıl çözüleceğini ele alacağız.

Internal IP Nedir?

Internal IP, sunucular arası iletişimde kullanılan yerel ağ adresidir. Örneğin, bir Metin2 game server ile auth server arasında veri alışverişi yapılırken, bu iki servisin birbirini tanıyabilmesi için internal IP adresleri doğru yapılandırılmalıdır. Aksi takdirde, connection refused veya timeout gibi hatalar alınabilir.

Yaygın Internal IP Hataları

1. Bağlantı Reddi Hatası: Sunucu IP ayarları yanlışsa, client veya diğer sunucularla bağlantı kurulamaz.
2. Sunucu Listeleme Hatası: Oyuncular sunucuyu göremeyebilir çünkü internal IP ile external IP uyumsuzluğu oluşmuştur.
3. DB Bağlantısı Sorunu: Game veya auth sunucusu, database ile bağlantı kuramadığında internal IP eksikliği sebebiyle bağlantı kopabilir.

Internal IP Sorunlarını Giderme Adımları

Adım 1: Server Config Dosyasını Kontrol Et

Metin2 server src üzerinde bulunan game/src/common/defines.h veya config files içinde yer alan INTERNAL_IP tanımlamasının doğruluğunu kontrol edin. Genellikle bu değer 127.0.0.1 veya sunucunuzun gerçek internal IP'si olmalıdır.

Adım 2: Auth ve Game Sunucusu Arasında Eşleştirme

Auth server dosyalarında, game server IP'si olarak girilen değerin, game server tarafındaki internal IP ile aynı olduğundan emin olun. Bu, genellikle common/defines.h veya configure dosyalarında tanımlanır.

Adım 3: Firewall ve Port Ayarları

Sunucu üzerindeki firewall ayarları internal IP trafiğini engelliyorsa, gerekli portlar (örneğin 11000, 13000) açık olmalıdır. Ayrıca, sunucu yapılandırmasında bind ip ayarının doğru yapılandırıldığından emin olun.

C++ Kod Örneği

Aşağıda, internal IP kontrolünü yapan temel bir C++ fonksiyon örneği yer almaktadır:

Kod:
bool ConnectToServer(const char* internalIP, int port)[BR][/BR]{[BR][/BR]    // Bağlantı işlemi başlatılıyor...[BR][/BR]    if (strcmp(internalIP, '127.0.0.1') == 0 || strstr(internalIP, '192.168.') != NULL)[BR][/BR]    {[BR][/BR]        return true; // Internal IP geçerli[BR][/BR]    }[BR][/BR]    else[BR][/BR]    {[BR][/BR]        return false; // Geçersiz internal IP[BR][/BR]    }[BR][/BR]}


Sonuç

Metin2 özel sunucu geliştirme sürecinde internal IP sorunları sıkça karşılaşılan ve genellikle küçük yapılandırma hatalarından kaynaklanan problemlerdir. C++ tabanlı server src üzerinde doğru IP yapılandırması yapılması, auth server, game server ve DB haberleşmesinin sağlıklı bir şekilde sağlanması için kritik öneme sahiptir. Bu rehber sayesinde karşılaştığınız internal IP sorunlarını kolayca çözebilirsiniz.

Kaynaklar

Metin2 Lobby, Metin2 Lobby


C++ Internal IP Issues and Solutions in Metin2

Introduction

One of the common issues encountered during Metin2 private server development is related to internal IP connections. Especially in multi-server environments, correctly configuring internal IP addresses between different servers (such as Auth, Game, and DB) is critical for proper communication. In this article, we will examine why internal IP problems occur in C++-based Metin2 server src and how to resolve them.

What is Internal IP?

Internal IP refers to the local network address used for inter-server communication. For example, when data exchange occurs between a Metin2 game server and an auth server, these services must recognize each other by properly configured internal IP addresses. Otherwise, errors such as connection refused or timeout may occur.

Common Internal IP Errors

1. Connection Rejection Error: If server IP settings are incorrect, connection to clients or other servers may fail.
2. Server Listing Error: Players may not see the server due to mismatch between internal and external IP configurations.
3. DB Connection Issue: When the game or auth server fails to connect to the database, the connection might drop due to missing internal IP configuration.

Steps to Resolve Internal IP Issues

Step 1: Check Server Config File

Verify the accuracy of the INTERNAL_IP definition in Metin2 server src, usually located in game/src/common/defines.h or config files. This value is typically set to 127.0.0.1 or the actual internal IP of your server.

Step 2: Match Auth and Game Server Settings

Ensure that the game server IP defined in auth server files matches the internal IP configured on the game server side. This is usually defined in common/defines.h or configure files.

Step 3: Firewall and Port Configuration

If firewall rules on the server block internal IP traffic, necessary ports (e.g., 11000, 13000) should be opened. Additionally, ensure that the bind ip setting is correctly configured in the server setup.

C++ Code Example

Below is a basic C++ function example that checks internal IP:

Kod:
bool ConnectToServer(const char* internalIP, int port)[BR][/BR]{[BR][/BR]    // Initializing connection...[BR][/BR]    if (strcmp(internalIP, '127.0.0.1') == 0 || strstr(internalIP, '192.168.') != NULL)[BR][/BR]    {[BR][/BR]        return true; // Valid internal IP[BR][/BR]    }[BR][/BR]    else[BR][/BR]    {[BR][/BR]        return false; // Invalid internal IP[BR][/BR]    }[BR][/BR]}


Conclusion

Internal IP issues in Metin2 private server development are frequently encountered and often result from minor configuration mistakes. Correctly configuring internal IPs in C++-based server src is critical for ensuring smooth communication between auth server, game server, and DB. With this guide, you can easily resolve any internal IP issues you encounter.

Resources

Metin2 Lobby, Metin2 Lobby
 

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

Benzer konular

Geri
Üst Alt