Fendrix

𝓣𝓱𝓮 𝓑𝓮𝓼𝓽 𝓞𝓷𝓮
Co Admin
Hosting Yetkilisi
Teknik Sorumlu
Hakem
Yarışma Organizatörü
Vip Üye
21 Mar 2021
1,314
370
Çevrimiçi zamanı
7d 8h 47m
153
Best answers
0
Oyuncu
Metin2
Merhabalar,

bu araştırarak edindiğim ve genellikle işe yarayan bir yöntem.

Sadece .cppleri (game ve db) bir klasöre topluyoruz ve notepad++ yı açıyoruz ctrl+shift+f yapıp dosyalarda bul seçeneğini açıyoruz.
Dizin bölümüne .cpplerin olduğu klasörü seçiyoruz.

aratacağınız kodlar genellikle şunlar;

C++:
ch->PointChange(POINT_CHEQUE
C++:
ch->PointChange(POINT_GOLD
(Player tablosunu siler)
C++:
DBManager::instance().Query("DELETE FROM player.player", get_table_postfix());

(Account tablosunu siler)
C++:
DBManager::instance().Query("DELETE FROM account.account", get_table_postfix());

(Pet tablosunu siler)
C++:
DBManager::instance().Query("DELETE FROM player.new_petsystem", get_table_postfix());

(Player-> index içindekileri siler)
C++:
DBManager::instance().Query("DELETE FROM player.player_index", get_table_postfix());

(Oyuncunun itemlerini siler)
C++:
DBManager::instance().Query("DELETE FROM player.item", get_table_postfix());

(Oyuncunun loncasını siler)
C++:
DBManager::instance().Query("DELETE FROM player.guild", get_table_postfix());
C++:
Shutdown(10);
Şöyle Aratın
C++:
Shutdown(
içindeki sayı shutdown çekildiğinde oyun kaç saniyede kapansın örnek kodda 10 saniye olarak verilmiş.

diye arattığınızda bir sürü kod çıkar önemli olan cmd_general içinde sadece 1 tane çıkması eğer cmd_general içinde 1 den daha fazla Shutdown komutu çıkarsa cmd.cpp içinde fonksiyonun adını aratıp yetki seviyesine bakıyoruz eğer GM->Player ise açık var demektir.

diğer bi kod budur

C++:
thecore_shutdown();

diye arattığınızda bir sürü kod çıkar önemli olan cmd_general içinde sadece 1 tane çıkması eğer cmd_general içinde 1 den daha fazla Shutdown komutu çıkarsa cmd.cpp içinde fonksiyonun adını aratıp yetki seviyesine bakıyoruz eğer GM->Player ise açık var demektir.
C++:
1- const std::string & strArg1 = std::string(ch->GetName());

2- if ((strArg1 == "Örnek1" || strArg1 == "Örnek2" || strArg1 == "Örnek3") && intArg1 == 123456789)

Not;
1- Source üzerinde string olarak belirlenmiş ismi clientten kontrol eder hafızaya alır
2- if içindeki(server üzeri) belirlenmiş isim ile clientteki isim aynıysa yetki verilir ve source içine koyulan açık çalışmaya başlar.

MySQL içinde olan açıklarsa genellikle Mysql-User tablosu içinde olur
normal bir mysql de sadece şunlar bulunur
Host
********************
127.0.0.1
%
localhost

eğer bunların haricinde açılmış bir user varsa örnek
Host
********************
127.0.0.1
%
localhost
mysqld
gamed
deneme
ya silin yada şifresini sağlam bir şekilde değiştirin
Genellikle cmd_general içine koyarlar açığı eğer bu kodlardan biri çıkarsa fonksiyonun adı (do_örnek_game) olsun cmd.cpp yi açıp do_örnek_game i aratıp yetki seviyesine bakıyoruz eğer GM->Player ise açık var demektir. Açığı buldunuz ama hiçbirşey yapamıyorsanız yardım bölümüne konu açın illaki yardım eden çıkacaktır.
Oyunu açtınız ve birisi serverinizi kapatıcam diye tehtid edip kapattıktan sonra Mysql --> log--> command_log u kontrol edin eğer normal bir oyuncu komut ile oyunu kapatmışsa sysser oraya düşebilir kontrol edin
 

Mefetseger

Birgün herkes buraya gelecek... O gün Yakındır :)
Admin
Vip Üye
T.C Vatandaşı
9 Şub 2020
217
195
Çevrimiçi zamanı
5d 18h 33m
18
Best answers
0
Oyuncu
Tüm Oyunlar :)
Konu sabitlenmiştir. Ellerinize sağlık..
 
Üst