Arkadaşlar Bu Konu Size Filesinizi Başka Sunucuya Gectıgınzde Her seferınde
root > serverinfo.py
acıp server adı veya server ip yi düzenlemenize gerek bıraktırmıycak kolaylık kazandırcaktır.
tek seferde hızlıca degıstırmenızı saglıycaktır.
Root > Serverinfo.py Açılır.
SERVER_NAME = "Metin2"
SERVER_IP = "192.168.99.7"
Kullandığınız Filese Göre Değişir Bunlar tabiki.
Kodlar Bu Şekilde Değiştirilir.
SERVER_NAME = open("lib/CONFIG/name.cfg").read()
SERVER_IP = open("lib/CONFIG/ip.cfg").read()
Sonra Clientınızın kurulu olduğu Klosörde Lib açılır
yeni klosör Oluştur.
CONFIG Yap Adını
Aç İçine yeni Metin belgesi oluştur 2 tane
name.cfg
ip.cfg
Name.cfg nin içine Server ismi ip.cfg içine ip nizi yazın
bundan sonra sunucuyu veya server ismini değiştirsenız bıle root acıp kapatmaya gerek kalmıycak
direk cfg içinden ip sini veya ısmını degıstırp kaydetıp oyuna yenı IP Ve Server isminizle Girebilirsiniz.
root > serverinfo.py
acıp server adı veya server ip yi düzenlemenize gerek bıraktırmıycak kolaylık kazandırcaktır.
tek seferde hızlıca degıstırmenızı saglıycaktır.
Root > Serverinfo.py Açılır.
SERVER_NAME = "Metin2"
SERVER_IP = "192.168.99.7"
Kullandığınız Filese Göre Değişir Bunlar tabiki.
Kodlar Bu Şekilde Değiştirilir.
SERVER_NAME = open("lib/CONFIG/name.cfg").read()
SERVER_IP = open("lib/CONFIG/ip.cfg").read()
Sonra Clientınızın kurulu olduğu Klosörde Lib açılır
yeni klosör Oluştur.
CONFIG Yap Adını
Aç İçine yeni Metin belgesi oluştur 2 tane
name.cfg
ip.cfg
Name.cfg nin içine Server ismi ip.cfg içine ip nizi yazın
bundan sonra sunucuyu veya server ismini değiştirsenız bıle root acıp kapatmaya gerek kalmıycak
direk cfg içinden ip sini veya ısmını degıstırp kaydetıp oyuna yenı IP Ve Server isminizle Girebilirsiniz.
Py IP - Server Name CFG den Çekme
Metin2 Lobby olarak sunucu geliştirme sürecinde, birçok geliştirici IP adresi veya sunucu adı gibi temel yapılandırmaları doğrudan .py dosyalarında sabit olarak tanımlamaktansa, daha esnek ve yönetilebilir bir çözüm olan CFG dosyalarından çekmek ister. Bu yaklaşım, birden fazla ortamda (local, test, production) farklı ayarların kolayca kullanılmasını sağlar. Bu yazıda, Python tabanlı Metin2 özel sunucularında CFG dosyasından IP ve Sunucu Adı gibi bilgilerin nasıl okunacağını detaylıca ele alacağız.
Neden CFG Dosyası Kullanılır?
CFG (Configuration) dosyaları, uygulama ayarlarını merkezi bir noktada tutmamızı sağlar. Özellikle Metin2 özel sunucu geliştirme süreçlerinde, auth server, game server gibi servislerin IP adresleri, port numaraları, veritabanı bağlantıları gibi bilgileri dinamik olarak yönetmek çok önemlidir. Python dilinde configparser kütüphanesi bu yapılandırmaları okumak için oldukça kullanışlıdır.
CFG Dosyası Nasıl Oluşturulur?
Öncelikle örnek bir config.ini dosyası oluşturalım:
[config]
server_ip = 127.0.0.1
server_name = Metin2LobbyTestServer
port = 13000
Python Kodu ile CFG Dosyasından Veri Çekme
Bu yapılandırmayı Python üzerinden okumak için aşağıdaki gibi bir kod parçası kullanabiliriz:
import configparser
config = configparser.ConfigParser()
config.read('config.ini')
server_ip = config.get('config', 'server_ip')
server_name = config.get('config', 'server_name')
port = config.getint('config', 'port')
Avantajlar
- Kod tekrarını azaltır.
- Farklı ortamlarda aynı kodu farklı ayarlarla çalıştırmayı sağlar.
- Sunucu IP veya adı değiştiğinde sadece CFG dosyası güncellenir, kod değişmez.
- Geliştirme ve test süreçlerini hızlandırır.
Dikkat Edilmesi Gerekenler
- CFG dosyasının konumu doğru belirtilmelidir.
- Dosya izinleri kontrol edilmelidir.
- Hatalı formatlama configparser tarafından yakalanabilir ama önceden dikkat edilmelidir.
Sonuç
Metin2 özel sunucu geliştirme sürecinde, yapılandırma yönetimini iyi yapmak, projeyi ölçeklenebilir ve sürdürülebilir kılar. CFG dosyalarından IP ve Sunucu Adı gibi değerleri çekmek, bu süreçte büyük kolaylık sağlar. Python’ın configparser modülü sayesinde bu işlem oldukça basitleşir. Metin2 Lobby olarak bu tür teknik bilgileri siz geliştiricilere aktarmaya devam edeceğiz.
Py IP - Fetching Server Name from CFG
Metin2 Lobby, during server development processes, many developers prefer to fetch basic configurations such as IP address or server name from CFG files rather than hardcoding them directly into .py files. This approach allows easy use of different settings across multiple environments (local, test, production). In this article, we will examine in detail how to read IP and Server Name information from CFG files in Python-based Metin2 private servers.
Why Use a CFG File?
CFG (Configuration) files allow us to store application settings in a centralized location. Particularly in Metin2 private server development, dynamically managing information such as IP addresses, port numbers, and database connections for services like auth server and game server is crucial. The configparser library in Python is very useful for reading these configurations.
How to Create a CFG File?
First, let's create an example config.ini file:
[config]
server_ip = 127.0.0.1
server_name = Metin2LobbyTestServer
port = 13000
Fetching Data from the CFG File with Python Code
To read this configuration in Python, you can use the following code snippet:
import configparser
config = configparser.ConfigParser()
config.read('config.ini')
server_ip = config.get('config', 'server_ip')
server_name = config.get('config', 'server_name')
port = config.getint('config', 'port')
Advantages
- Reduces code repetition.
- Allows running the same code with different settings in various environments.
- When server IP or name changes, only the CFG file needs updating, not the code.
- Accelerates development and testing processes.
Important Considerations
- The location of the CFG file must be correctly specified.
- File permissions should be checked.
- Incorrect formatting might be caught by configparser, but it should be avoided beforehand.
Conclusion
In Metin2 private server development, proper configuration management makes the project scalable and maintainable. Fetching values like IP and Server Name from CFG files greatly simplifies this process. With Python's configparser module, this task becomes very simple. At Metin2 Lobby, we will continue sharing such technical insights with you developers.
