MaviAyGames | Otomatik Versiyon Dosyası Yazdırma ve Loglama Sistemi

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Kod:
#include <stdio.h> #include <time.h> #ifndef __P4_VERSION__ #define __P4_VERSION__ "Unknown" #endif #ifndef sys_log #define sys_log printf #endif void WriteVersion() {     FILE* fp = fopen("VERSION.txt", "w");     if (!fp)     {         sys_log("[WriteVersion] VERSION.txt dosyasi acilamadi!\n");         return;     }     time_t now = time(NULL);     char buf[64];     strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", localtime(&now));     fprintf(fp, "=== METIN2 SURUM BILGISI ===\n");     fprintf(fp, "Surum: %s\n", __P4_VERSION__);     fprintf(fp, "Yayin Tarihi: %s\n", buf);     fprintf(fp, "Gelistirici: \n");     fprintf(fp, "Iletisim: bla bla\n");     fprintf(fp, "============================\n");     fclose(fp);     sys_log("[WriteVersion] VERSION.txt dosyasina surum bilgisi yazildi.\n"); }

MaviAyGames | Otomatik Versiyon Dosyası Yazdırma ve Loglama Sistemi

Metin2 Private Server dünyasında gelişmiş sistemler kurmak isteyen geliştiriciler için otomatik versiyon dosyası oluşturma ve loglama işlemleri kritik öneme sahiptir. Bu sistem, hem sunucu üzerinde çalışan C++ kaynak kod tarafında hem de Python GUI veya py root gibi script tabanlı yapılarla entegre çalışarak sürüm kontrolü, hata takibi ve sistem durumu izleme konularında büyük kolaylıklar sağlar. Bu yazıda MaviAyGames tarafından geliştirilen bu sistemi detaylı olarak inceleyeceğiz.

Otomatik Versiyon Sistemi Nedir?
Bu sistem, Metin2 server src üzerinde yapılan değişikliklerin otomatik olarak versiyon numarası ile kayıt altına alınmasını sağlar. Geliştiricilerin, sunucu üzerindeki game server programming süreçlerinde, hangi sürümde ne değişiklik yapıldığını takip etmesini kolaylaştırır. Örneğin, bir source edit işlemi sonrasında yeni bir versiyon numarası atanabilir ve bu bilgi otomatik olarak bir dosyaya yazdırılabilir. Bu sayede, bir compile işlemi sonrası hangi sürümün yüklendiği kolayca anlaşılır.

Loglama Sistemi ve Önemi
Loglama, herhangi bir game sunucusunda meydana gelen olayların, hataların ve kullanıcı etkileşimlerinin zamansal olarak kaydedilmesidir. Metin2 pvp sistemleri için loglama, PvP skorları, item düşüş oranları, db bağlantı hataları gibi pek çok verinin analiz edilmesini sağlar. MaviAyGames tarafından hazırlanan sistem, logları otomatik olarak belirtilen bir dizine yazarak, geliştiricilerin bu verileri daha sonra analiz etmesini kolaylaştırır.

Sistem Özellikleri
- Otomatik versiyon numarası artırımı
- Zaman damgası ile loglama
- Hata mesajlarının ayrı bir log dosyasına yazılması
- Kullanıcı eylemleri ve sunucu durumları için ayrı log kanalları
- Python ve C++ uyumlu yapıya sahip olması

Python Tarafında Entegrasyon
Py GUI veya uiscript gibi yapılarla entegre çalışan bu sistem, kullanıcı dostu bir arayüz üzerinden versiyon ve log bilgilerini görsel olarak da sunar. Geliştiriciler, pack işlemi öncesi otomatik olarak versiyon dosyasını oluşturarak, dağıtım öncesi hazırlıkları kolaylaştırabilir. Ayrıca, py root klasörlerindeki script dosyaları ile log verileri anlık olarak okunabilir ve analiz edilebilir.

C++ Tarafında Uygulama
Sunucu tarafında C++ source kodları ile entegre çalışan bu sistem, game ve auth sunucularında aynı anda aktif olabilir. Sunucu başlatıldığında, sistem otomatik olarak mevcut versiyonu kontrol eder, yeni bir log dosyası oluşturur ve tüm sistem olaylarını bu dosyaya yazmaya başlar. Geliştiriciler, Martysama veya benzeri Metin2 development araçları ile bu logları analiz ederek performans optimizasyonu yapabilirler.

Metin2 Lobby olarak bu tür gelişmiş core sistemlerin, server src geliştiricilerine nasıl yardımcı olduğunu paylaştık. MaviAyGames tarafından geliştirilen bu sistem, Metin2 development sürecini hızlandıran ve kaliteyi artıran önemli bir araçtır. Geliştiricilerin dikkatini çekecek niteliktedir.


MaviAyGames | Automatic Version File Printing and Logging System

For developers looking to build advanced systems in the Metin2 private server world, automatic version file creation and logging processes are critically important. This system works seamlessly with C++ source code on the server side and integrates with script-based structures like Python GUI or py root, enabling easy version control, error tracking, and system monitoring. In this article, we will examine in detail the system developed by MaviAyGames.

What is the Automatic Version System?
This system enables automatic registration of version numbers for any changes made on the Metin2 server src. It helps developers track which changes were made in which version during game server programming processes on the server. For instance, after a source edit, a new version number can be assigned automatically and written into a file. This way, it becomes clear which version has been loaded after a compile process.

Logging System and Its Importance
Logging refers to the temporal recording of events, errors, and user interactions occurring on any game server. For Metin2 PvP systems, logging allows analysis of various data such as PvP scores, item drop rates, db connection errors, etc. The system developed by MaviAyGames writes logs automatically to a specified directory, making it easier for developers to analyze these data later.

System Features
- Automatic increment of version number
- Timestamped logging
- Writing error messages to a separate log file
- Separate log channels for user actions and server status
- Compatibility with both Python and C++

Integration on the Python Side
Integrated with structures like Py GUI or uiscript, this system also visually presents version and log information through a user-friendly interface. Developers can easily create a version file automatically before a pack operation, simplifying pre-distribution preparations. Additionally, script files in py root folders allow real-time reading and analysis of log data.

Implementation on the C++ Side
Integrated with C++ source code on the server side, this system can run simultaneously on both game and auth servers. Upon server startup, the system automatically checks the current version, creates a new log file, and begins writing all system events to that file. Developers can use tools like Martysama or similar Metin2 development tools to analyze these logs and perform performance optimization.

Metin2 Lobby has shared how such advanced core systems assist server src developers. The system developed by MaviAyGames is a valuable tool that speeds up the Metin2 development process and improves quality. It is highly recommended for developers.
 

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

Benzer konular

Geri
Üst Alt