- Mesaj
- 11.540
- Çözümler
- 549
- Beğeni
- 12.197
- Puan
- 5.915
- Ticaret Puanı
- 2
Oyunumuzu sürekli güncel tutmak ve hilelere karşı bir nebze olsun savunma kalkanı oluşturmak için oto pack kullanırız. Oto pack sayesinde oyunculara son güncellemeleri zoraki olarak gönderebilirsiniz. Otopack yapımıyla ilgili daha detaylı bilgiyi bu sayfadan edinebilirsiniz.
Tabii ki sadece oto pack yapmakla iş bitmiyor. Sunucu güvenliği için uygulanması gereken bir sürü adımlarda bulunuyor. Daha önce oluşturduğum şu Metin2 PvP Sunucu Güvenliği İçin Config Dosyasına Eklememiz Gerekenler rehber konusuna bakabilirsiniz.
Ne yazık ki oto pack devredışı bırakılarak normal istemciden oyuna giriş yapılabiliyor. Bu konumuzda ise bunu engellemeyi göstereceğim. Daha önceden çok soran kişi vardı. En sonunda da bir şirket sahibinden bu meseleyle ilgili bana soru geldiği için bu konuyu açmaya karar verdim. 2016 senesinde Casro2 serveri için kullandığım bir yöntemdi ve işe yaramıştı.
Fazla konuyu uzatmadan anlatıma başlayalım.
1. Anlatım: Novaline Client kullananlar için.
Novaline client dosyasında zaten oto pack dışında girişi engellemek için eklenmiş bir kod var.
Client/UserInterface/UserInterface.cpp dosyasını açın ve aratın;
Fakat bu kod varsayılan olarak devredışı olacaktır. Aktif etmek için NEEDED_COMMAND_ARGUMENT makrosunu locale_inc.h dosyasına ekliyoruz.
Örnek;
Daha sonra Client/UserInterface/UserInterface.rc dosyasını açın ve aratın;
Şu şekilde değiştiriniz
Daha sonra client soureyi build ediniz.
Şimdi sıra geldi belirlediğimiz şifreyi oto packa tanımlamaya. Eğer oto pack düzenlemelerini bilmiyorsanız buraya bakabilirsiniz.
skin.xml dosyasını açın ve aratın;
Değiştiriniz;
Not: path ve args kısmını kendinize göre düzenleyiniz.
Daha sonra oto packı tekrardan paketleyiniz.
2. Anlatım: Diğer
İlk önce Client/UserInteface/UserInterface.cpp dosyasını açın ve aratın;
Altına ekleyin;
(debug modu hariç diğerleri ile build ettiğinizde oto pack dışında girişi engeller.)
Şimdi sıra geldi belirlediğimiz şifreyi oto packa tanımlamaya. Eğer oto pack düzenlemelerini bilmiyorsanız buraya bakabilirsiniz.
skin.xml dosyasını açın ve aratın;
Değiştiriniz;
Not: path ve args kısmını kendinize göre düzenleyiniz.
Daha sonra oto packı tekrardan paketleyiniz.
İşini iyi bilen kişiler bu engeli aşabilir. Yine de büyük oranda koruma sağlayacaktır.
Kanıt;
Normalde yazılı rehberler paylaşmak istemiyorum. Çünkü bazı insanlar kendisi yapmış gibi içerikleri kopyalıyor. Fakat azınlığın yaptığı bir hata yüzünden bu camiayı bu bilgiden mahrum bırakmanın doğru olmadığını düşünüyorum.
Bu içerik @Whistle tarafından MMO Tutkunları için hazırlanmıştır. Kaynağı gösterildiği sürece başka platformlarda paylaşılabilir.
Tabii ki sadece oto pack yapmakla iş bitmiyor. Sunucu güvenliği için uygulanması gereken bir sürü adımlarda bulunuyor. Daha önce oluşturduğum şu Metin2 PvP Sunucu Güvenliği İçin Config Dosyasına Eklememiz Gerekenler rehber konusuna bakabilirsiniz.
Ne yazık ki oto pack devredışı bırakılarak normal istemciden oyuna giriş yapılabiliyor. Bu konumuzda ise bunu engellemeyi göstereceğim. Daha önceden çok soran kişi vardı. En sonunda da bir şirket sahibinden bu meseleyle ilgili bana soru geldiği için bu konuyu açmaya karar verdim. 2016 senesinde Casro2 serveri için kullandığım bir yöntemdi ve işe yaramıştı.
Fazla konuyu uzatmadan anlatıma başlayalım.
1. Anlatım: Novaline Client kullananlar için.
Novaline client dosyasında zaten oto pack dışında girişi engellemek için eklenmiş bir kod var.
Client/UserInterface/UserInterface.cpp dosyasını açın ve aratın;
C++:
if (strstr(lpCmdLine, NEEDED_COMMAND_ARGUMENT) == 0) {
MessageBox(NULL, ApplicationStringTable_GetStringz(IDS_ERR_MUST_LAUNCH_FROM_PATCHER, "ERR_MUST_LAUNCH_FROM_PATCHER"), ApplicationStringTable_GetStringz(IDS_APP_NAME, "APP_NAME"), MB_ICONSTOP);
goto Clean;
}
Fakat bu kod varsayılan olarak devredışı olacaktır. Aktif etmek için NEEDED_COMMAND_ARGUMENT makrosunu locale_inc.h dosyasına ekliyoruz.
Örnek;
C++:
#define NEEDED_COMMAND_ARGUMENT "#!whistle*/5556#c2!!"
Daha sonra Client/UserInterface/UserInterface.rc dosyasını açın ve aratın;
C++:
IDS_ERR_MUST_LAUNCH_FROM_PATCHER "Please run patcher."
Şu şekilde değiştiriniz
Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.
Daha sonra client soureyi build ediniz.
Şimdi sıra geldi belirlediğimiz şifreyi oto packa tanımlamaya. Eğer oto pack düzenlemelerini bilmiyorsanız buraya bakabilirsiniz.
skin.xml dosyasını açın ve aratın;
XML:
<control type="button" id="START" image="btn_start_1" x="818" y="612" enable_on_complete="true" />
Değiştiriniz;
XML:
<control type="button" id="START" image="btn_start_1" x="818" y="612" exec_path="casro2client.bin" exec_args="#!whistle*/5556#c2!!" enable_on_complete="true" />
Daha sonra oto packı tekrardan paketleyiniz.
2. Anlatım: Diğer
İlk önce Client/UserInteface/UserInterface.cpp dosyasını açın ve aratın;
C++:
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
Altına ekleyin;
C++:
#ifndef _DEBUG
// oto packsiz giris engeli
if (strstr(lpCmdLine, "#!whistle*/5556#c2!!") == 0)
{
MessageBox(NULL, "Casro2 Patcherdan giris yapiniz.", ApplicationStringTable_GetStringz(IDS_APP_NAME, "APP_NAME"), MB_ICONSTOP);
return 0;
}
#endif
Şimdi sıra geldi belirlediğimiz şifreyi oto packa tanımlamaya. Eğer oto pack düzenlemelerini bilmiyorsanız buraya bakabilirsiniz.
skin.xml dosyasını açın ve aratın;
XML:
<control type="button" id="START" image="btn_start_1" x="818" y="612" enable_on_complete="true" />
Değiştiriniz;
XML:
<control type="button" id="START" image="btn_start_1" x="818" y="612" exec_path="casro2client.bin" exec_args="#!whistle*/5556#c2!!" enable_on_complete="true" />
Daha sonra oto packı tekrardan paketleyiniz.
İşini iyi bilen kişiler bu engeli aşabilir. Yine de büyük oranda koruma sağlayacaktır.
Kanıt;
Normalde yazılı rehberler paylaşmak istemiyorum. Çünkü bazı insanlar kendisi yapmış gibi içerikleri kopyalıyor. Fakat azınlığın yaptığı bir hata yüzünden bu camiayı bu bilgiden mahrum bırakmanın doğru olmadığını düşünüyorum.
Bu içerik @Whistle tarafından MMO Tutkunları için hazırlanmıştır. Kaynağı gösterildiği sürece başka platformlarda paylaşılabilir.
Son düzenleme: