[Yeni] Giriş ve çıkışta log tutma quest!

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Merhaba,
oyuncular ne zaman girmiş hangi haritada girmiş hangi kanalda girmiş bunları veritabanına kaydeden bir quest yazdım ve işinize yarayacağı düşündüğüm için yazdığım questi turkmmo üyelerine paylaşıyorum. :)


Quest tam olarak ne işe yarar?
Quest oyuncu her oyuna girdiğinde veya çıktığındaveritabanına isim tarih ch Krallık Karakter Harita ismi şeklinde kaydeder.
GM görev penceresi yardımıyla Navicata girmeden istediği kişinin son 25 giriş, 25 çıkış kaydına bakabilir.


Oyun içi Görüntüler:
1)Navicatta oluşan tablo
39vnkj.jpg


2)GM Kayıt Paneli
kjGy5v.jpg


3)Oyuncunun giriş kayıtları
8lP7jd.jpg


İndirme Linkleri:
Alternatif:
Virüstotal sonuçları için

Kurulum:
İndirdiğiniz rar dosyası içindeki csfranqloginlog.sql dosyasını Navicat>Player bölümüne atın.
csfranqloginlog.lua dosyasını Filezilla /usr/game/share/locale/turkey/quest klasörüne atın ve quest şeklinde servera tanıtın.

NOT:
questin çalışması için mysql_query10 fonksiyonunun serverınızda çalışması gerekir. Serverınızda bu fonksiyon çalışmıyorsa bu konu size yardımcı olacaktır.

Konu Güncellemeri:
17 Şubat 2015: Alternatif Link(Mediafire) eklendi. Virüstotal linki eklendi.

[Yeni] Giriş ve Çıkışta Log Tutan Quest Sistemi

Metin2 sunucularında kullanıcı aktivitelerinin takibi ve güvenlik açısından önemli olan giriş-çıkış loglama işlemleri, doğru yapılandırılmış bir quest sistemi ile kolayca yönetilebilir.

Quest Nedir?
Metin2'de quest sistemleri, oyuncuların belirli eylemleri gerçekleştirmesiyle tetiklenen scriptlerdir. Bu scriptler Lua dilinde yazılmaktadır ve sunucu tarafında çalışarak oyuna dinamik etkileşimler katmaktadır. Quest sistemi, görev verme, ödüllendirme, olay tetikleme gibi birçok işlemi yönetebilir.

Giriş-Çıkış Loglama Neden Gerekli?
Güvenlik, hesap izlenebilirliği ve anti-cheat önlemleri açısından oyuncuların ne zaman giriş yaptığını, hangi IP adresinden bağlandığını ve ne zaman çıktığını takip etmek oldukça önemlidir. Bu bilgiler, hile kullanımı tespiti, hesap ele geçirme durumlarında kanıt olarak kullanılabilir. Ayrıca, sunucu trafiğini analiz etmek için de değerlidir.

Quest ile Giriş ve Çıkışta Loglama
Bu özel quest sistemi, oyuncu sunucuya giriş yaptığı anda bir log kaydı oluşturur ve oyundan ayrıldığında yani çıkış yaparken de ayrı bir log satırı yazar. Tüm işlemler Metin2'nin Lua tabanlı quest motoru üzerinde çalışır.

Nasıl Çalışır?
Quest scripti, character_login ve character_logout gibi olayları dinler. Oyuncu sunucuya bağlandığında login_handler fonksiyonu, oyundan ayrıldığında ise logout_handler fonksiyonu devreye girer. Bu fonksiyonlar, log dosyasına tarih, saat, char_id, account_id ve IP gibi bilgileri yazar.

Log Formatı
Her log satırı şu şekilde oluşur:
- Zaman Damgası
- Hesap ID
- Karakter Adı
- IP Adresi
- Olay Tipi (Login / Logout)

Avantajları
Otomatik loglama sayesinde, sunucu yöneticisi manuel takip yapmadan tüm giriş-çıkış hareketlerini görebilir. Ayrıca, loglar istenirse MySQL veritabanına da yönlendirilebilir. Bu sayede daha gelişmiş analizler yapılabilir.

Yüksek Seviye Güvenlik
Loglama sistemi, potansiyel hileciler veya kötü niyetli kullanıcılar hakkında erken uyarı sağlar. Örneğin, aynı hesaba birden fazla farklı IP üzerinden giriş yapıldığında, bu bir ihlal belirtisi olabilir.

Kurulum ve Yapılandırma
Quest dosyası, server_files/quest klasörüne yerleştirilmelidir. Daha sonra questmanager'a tanıtılmak üzere quest_info.lua dosyasına eklenmelidir. Yapılandırma dosyasında logların nereye yazılacağı (dosya veya DB), log seviyesi gibi ayarlar yapılabilir.

Örnek Kod Parçası (Basitleştirilmiş)
state start begin
when login begin
cmdlog('['..os.date()..'] '..pc.get_name()..' '..pc.get_account_id()..' '..pc.get_ip()..' logged in')
end

when logout begin
cmdlog('['..os.date()..'] '..pc.get_name()..' '..pc.get_account_id()..' '..pc.get_ip()..' logged out')
end
end

Sonuç
Giriş ve çıkışta log tutan bu quest sistemi, Metin2 sunucularında güvenlik ve izlenebilirlik açısından büyük kolaylık sağlar. Quest geliştirme bilgisi olanlar için özelleştirilebilir, daha da geliştirilebilir. Metin2 lobby kullanıcıları olarak, bu tür güvenli ve gelişmiş quest sistemlerini paylaşmaya devam edeceğiz.


[New] Login and Logout Logging Quest System

In Metin2 servers, tracking user activities and security-related logging processes such as login/logout events can be easily managed with a properly configured quest system.

What is a Quest?
In Metin2, quest systems are scripts triggered by specific player actions. These scripts are written in Lua and operate on the server side, adding dynamic interactions to the game. The quest system can manage various operations like giving tasks, rewarding players, triggering events, and more.

Why Is Login/Logout Logging Necessary?
Tracking when players log in, from which IP address they connect, and when they disconnect is crucial for security, account traceability, and anti-cheat measures. This information can serve as evidence in cases of cheating or account takeovers. It also helps analyze server traffic.

Logging Login and Logout Events with a Quest
This custom quest system creates a log entry when a player connects to the server and writes another log entry when the player disconnects. All operations run on Metin2's Lua-based quest engine.

How Does It Work?
The quest script listens for events such as character_login and character_logout. When a player connects to the server, the login_handler function activates; upon leaving the game, the logout_handler function runs. These functions write information such as date, time, char_id, account_id, and IP address to a log file.

Log Format
Each log line consists of:
- Timestamp
- Account ID
- Character Name
- IP Address
- Event Type (Login / Logout)

Advantages
With automatic logging, the server administrator can view all login/logout activities without manual tracking. Additionally, logs can be directed to a MySQL database for advanced analysis if desired.

High-Level Security
The logging system provides early warnings about potential cheaters or malicious users. For example, multiple logins from different IPs on the same account may indicate a violation.

Installation and Configuration
The quest file should be placed inside the server_files/quest folder. Then, it must be added to the quest_info.lua file to be recognized by the quest manager. Settings such as where logs are saved (file or DB) and log level can be adjusted in the configuration file.

Sample Code Snippet (Simplified)
state start begin
when login begin
cmdlog('['..os.date()..'] '..pc.get_name()..' '..pc.get_account_id()..' '..pc.get_ip()..' logged in')
end

when logout begin
cmdlog('['..os.date()..'] '..pc.get_name()..' '..pc.get_account_id()..' '..pc.get_ip()..' logged out')
end
end

Conclusion
This quest system that logs login and logout events provides significant ease in terms of security and traceability for Metin2 servers. For those with quest development knowledge, it can be customized and further enhanced. As Metin2 lobby users, we will continue to share secure and advanced quest systems.
 

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

Benzer konular

Geri
Üst Alt