Kodların arasında sessizce duran Metin2 detayları


İşin aslı şu, GameForge ile Çinli bir firma olması gerek kendi aralarında anlaşıyorlar. Oyun için full gelişmiş bir bot yapıyorlar. Bu ilk full fonksiyon EasyMetin2 botundan önce gerçekleşiyor ve botları başlatan akım oluyor. Vadide vs bir sürü bot görüyorduk sıralı bir şekilde gezen, işte onlar GF ile çin merkezli bir firma olması gerek belkide koredir tam hatırlamıyorum ama onlar arasındaki bir anlaşma ile ortaya çıkıyor. Tüm sunucular dolduruluyor. Sonra GameForge'nin her yerde dünya çapında 7 milyon oyuncu reklamlarını görüyorsunuz zaten.

Dönemi hatırlamanız için :
2 T 'nin %1500 kazanç ile çinden epincilerin aldığı ve 6 TL ye sattığı dönemden bahsediyorum. Derindarbe öncesidir.

Daha sonra işler bizim diyeceğimiz dilde boka sarıyor, önünü alamıyorlar. Hatta bir aralar basın toplantısı mı ne vardı, topluluktan özür dilemişlerdi konu ile ilgili yazışmalara kadar sızdırıldığında. Bugün A to Z her şeyi yapan botlar bir şekilde türediyse, bunun sebebi GameForge.

Bu arada M2Bob'un ilk testlerinin, çalışma mantığının ve videosunun GameForge test sunucularında olduğunu biliyor muyudunuz? Biraz susalım bence :D
 
İşin aslı şu, GameForge ile Çinli bir firma olması gerek kendi aralarında anlaşıyorlar. Oyun için full gelişmiş bir bot yapıyorlar. Bu ilk full fonksiyon EasyMetin2 botundan önce gerçekleşiyor ve botları başlatan akım oluyor. Vadide vs bir sürü bot görüyorduk sıralı bir şekilde gezen, işte onlar GF ile çin merkezli bir firma olması gerek belkide koredir tam hatırlamıyorum ama onlar arasındaki bir anlaşma ile ortaya çıkıyor. Tüm sunucular dolduruluyor. Sonra GameForge'nin her yerde dünya çapında 7 milyon oyuncu reklamlarını görüyorsunuz zaten.

Dönemi hatırlamanız için :
2 T 'nin %1500 kazanç ile çinden epincilerin aldığı ve 6 TL ye sattığı dönemden bahsediyorum. Derindarbe öncesidir.

Daha sonra işler bizim diyeceğimiz dilde boka sarıyor, önünü alamıyorlar. Hatta bir aralar basın toplantısı mı ne vardı, topluluktan özür dilemişlerdi konu ile ilgili yazışmalara kadar sızdırıldığında. Bugün A to Z her şeyi yapan botlar bir şekilde türediyse, bunun sebebi GameForge.

Bu arada M2Bob'un ilk testlerinin, çalışma mantığının ve videosunun GameForge test sunucularında olduğunu biliyor muyudunuz? Biraz susalım bence :D
Bu yazışmalara dair bir kanıtınızın olduğunu zannetmiyorum, şahsen vaktinde gameforge / webzen / ymir arasında ki yazışmaları okumuş biri olarak botlarla ilgili bir konuşmaya rastlamadım. 7 milyon "oyuncu" rakamı çok basit bir şekilde elde edilebilirdi çünkü metin2 tarihinin en çok aktif olduğu dönemlerdi o zamanlar, bot kullanmasına gerek yoktu. m2bob gf test serverinde denendi yazıldı diyorsunuz ama daha geçen yıllarda m2bob sahibine gameforgenin açtığı davadan dolayı 2 milyon € civarı ceza kesildi almanyada, sahibi "botu gf yaptırdı benim suçum yok" diyemeyecek kadar aptal mıydı?
 
Bu yazışmalara dair bir kanıtınızın olduğunu zannetmiyorum, şahsen vaktinde gameforge / webzen / ymir arasında ki yazışmaları okumuş biri olarak botlarla ilgili bir konuşmaya rastlamadım. 7 milyon "oyuncu" rakamı çok basit bir şekilde elde edilebilirdi çünkü metin2 tarihinin en çok aktif olduğu dönemlerdi o zamanlar, bot kullanmasına gerek yoktu. m2bob gf test serverinde denendi yazıldı diyorsunuz ama daha geçen yıllarda m2bob sahibine gameforgenin açtığı davadan dolayı 2 milyon € civarı ceza kesildi almanyada, sahibi "botu gf yaptırdı benim suçum yok" diyemeyecek kadar aptal mıydı?

Hangi yazışmaları, hangi kaynaktan ve hangi seneye ait olanı okudunuz? Direkt olarak Jira ve Mantis'e erişebilen yetkide birisi olarak söylüyorum bunları. Kaynağın doğruluğunu Instagram'dan Derindarbeye ulaşarak da doğrulayabilirsin mesela.
 
Dünya çapında 7 milyon aktif oyuncu reklamı yalandan ibaret, çinli botların ve easymetin2 ile başlayarak M2Bob'a kadar devam eden serüvenin sorumlusu GF'nin, fazla oyuncu göstermek amacı ile botlarla bizzat anlaştığı ve daha sonra ellerinde patladığı, medyadan özür diledikleri mükemmel bir hikayesi var. Araştırmanı öneririm
O dönemde de oyunun oyuncusuydum, bunların çok büyük bir kısmı komple teorisinden ibaret, 2005-2010 yılları arasında Çin'de botlar ile MMORPG'lerden gelir elde etmek bir iş koluydu, neredeyse aktif olup zayıf altyapı ve hile korumasına sahip tüm oyunlardan para kazanmak için ekipler oluşturup çalışıyorlardı, Metin2'de onlardan biriydi sizin bahsettiğiniz durum şu; GF hileleri engellemek için çeşitli anticheat firmalarıyla şansını denedikten sonra baktı ki bunların önünü alamıyor o zaman işbirliği yapmayı deneyelim dedi, Çinli botlarla anlaşma ve sonrasında bunun bir hata olduğunu anlayıp kamudan özür dileme durumu bundan ibaret, bahsettiğiniz hilelerin GF ile bağlantısı olduğuna dair tek teori bir adet hile güncellemesinden sonra .exe'nin product kısmında GF imzası bulunması, bundan başka bir kaynak varsa görmek isterim. Üstüne üstlük @Denizeri24 'nin dediği gibi m2bob çok yüksek bir bedelle ceza ödetilerek yine GF tarafından kapatıldı, online konusuna gelirsek 2010'da bu oyunu oynayan ve etkileşimini gören biri olarak GF'nin botlarla online arttırma gibi bir duruma kesinlikle ihtiyacı olmadığını rahatlıkla söyleyebilirim ayrıca WebZen'in sitesinde de aynı 5 milyon reklamı IP sayfasında hala mevcut.
 
Hangi yazışmaları, hangi kaynaktan ve hangi seneye ait olanı okudunuz? Direkt olarak Jira ve Mantis'e erişebilen yetkide birisi olarak söylüyorum bunları. Kaynağın doğruluğunu Instagram'dan Derindarbeye ulaşarak da doğrulayabilirsin mesela.
Jira ve Mantis'e erişebilen biri olarak, sızdırılan konuşmalardan kesitler atarsanız memnun oluruz..
 
O dönemde de oyunun oyuncusuydum, bunların çok büyük bir kısmı komple teorisinden ibaret, 2005-2010 yılları arasında Çin'de botlar ile MMORPG'lerden gelir elde etmek bir iş koluydu, neredeyse aktif olup zayıf altyapı ve hile korumasına sahip tüm oyunlardan para kazanmak için ekipler oluşturup çalışıyorlardı, Metin2'de onlardan biriydi sizin bahsettiğiniz durum şu; GF hileleri engellemek için çeşitli anticheat firmalarıyla şansını denedikten sonra baktı ki bunların önünü alamıyor o zaman işbirliği yapmayı deneyelim dedi, Çinli botlarla anlaşma ve sonrasında bunun bir hata olduğunu anlayıp kamudan özür dileme durumu bundan ibaret, bahsettiğiniz hilelerin GF ile bağlantısı olduğuna dair tek teori bir adet hile güncellemesinden sonra .exe'nin product kısmında GF imzası bulunması, bundan başka bir kaynak varsa görmek isterim. Üstüne üstlük @Denizeri24 'nin dediği gibi m2bob çok yüksek bir bedelle ceza ödetilerek yine GF tarafından kapatıldı, online konusuna gelirsek 2010'da bu oyunu oynayan ve etkileşimini gören biri olarak GF'nin botlarla online arttırma gibi bir duruma kesinlikle ihtiyacı olmadığını rahatlıkla söyleyebilirim ayrıca WebZen'in sitesinde de aynı 5 milyon reklamı IP sayfasında hala mevcut.

Hepimiz o dönemlerde Metin2 oyuncusu olarak çoğu gelişmeyi takip etmişizdir. Dediğin gibi, bir şeylerin önüne geçebilmek adına yapılan anlaşmanın ters teptiği ve kamudan bu konu ile ilgili bir özür dilenmesi durumu herkes tarafından biraz detaylı araştırma ile bulunabilir. Ben biraz baktım ofiste olduğumdan çok detaya giremedim ama biraz biraz kalıntılar var gibi duruyor. Sen bulabilirsen gönderir misin? Bir kaç eski çalışan alman arkadaştan net bilgi alabilir ve iletebilirim ben de izinleri olursa eğer. GameForge'in kendi News kısmı kaldırıldığı için dış haber kaynaklarına biraz detaylı bakmak gerek.

Olayın daha derinine inersen, dünya çapında milyonlarca oyuncu reklamının yapılmadan önce botlarla anlaşma yapıldığı biliniyor ve o anlaşma sonrası çok sayıda bot artışı olduğunu daha sonra bu dünya çapında milyonlarca oyuncu reklamı yapıldığını sen de biliyorsundur. Devamı zaten söylediğin gibi. Şirketin Metin2 kanadı zaten bir çok entrika dolu. Bir gün Derindarbe tarafından, Kronos ablamızın zamanında bir admine bot yapımcıları tarafından bir çanta dolusu para ile hesapların açılma gibi (banlanmama da olabilir) bir teklif gittiği anlatılmıştı. Farklı konularda verilen açıklar ve entrikalar sonrası da toplu istifa döneminin yaşandığını topluluk da farkındadır o dönemin sağlam takipçileri olan.

Bot olaylarının büyük bir sebebi ve bot sektörünün Metin2'de gelişmesinin sebeplerinden en büyük sorumlu GameForge'dir ve buna bizzat izin veren ortak çalışma yürüten de kendileridir. Kamudan özür konusu da bunun en büyük itirafıdır. Bu söylediklerim anlaşma süresinde çok sayıda botla ilgili şikayet dönerken, şirketin şöyle çalışıyoruz böyle engelleyecek şeyler üretiyoruz diye boş duyurularla topluluğun gazını alıp daha sonra ya biz anlaştık bir şeyleri düzeltmek için ama ters gitti bize kelek attılar kafasında özür dilemesi bunu doğruluyor. Bu bilgi bu sıkıntılarla hala günümüzde uğraşan ve geçmişte Kronos döneminden sonra (tarihi hatırlamanız için) uğraşmış tüm üst yöneticilerin şikayetleri ile biliniyor zaten.

Random hesap ve karakter adı oluşturma çok uzun zaman sonra bot kullanıcılarına "bir icat" adı altında duyurularak botcular tarafından sunuldu. Oysaki yıllar öncesinde bunu yapan zaten çinli botlar vardı. O dönemde görev alan ve bilgisi olan bir kaç abimizin/ablamızın da bir yerde şirketin bu konuda bilgisi olduğunun itirafını yapmıştı ama birilerine ama bir yerlere.

M2Bob'un konusuna gelirsek, Slait yani by banjo zaten topluluğun Multihack ile en büyük hile geliştiricilerinden biri. Multihack'ı hangimiz kullanmadık ki? Multihack, muz hilesi gibi bir çok farklı şeyi hepimiz biliyoruz. Resmini bırakayım biraz nostalji olsun :)

1721303252932.webp


Jira ve Mantis'e erişebilen biri olarak, sızdırılan konuşmalardan kesitler atarsanız memnun oluruz..

Test ekibinin dosyaları yüklediği FTP sunucusunda bizzat M2Bob'un test süreçleri, betaları ile ilgili dosya ve video içerikleri vardı. Hatta şöyle bir şey de söyleyelim, Hidra haritasının tasarımı size tanıdık gelecektir çünkü 4 farklı görselden örnek alınarak çizildi ve görsellerden biri ve en çok örnek alınanı da buydu. Karakterlerin bossların tasarımlarında örnek alınan diğer oyunlar anlatımlar kurulan mantıklar hepsi test birimlerinde bir seviye üst ekip ile paylaşılıyordu. Beta ve Omega sunucuları arasında da ilk inceleyecekler, son ve en son yayıncılar olmak üzere farklı farklı sunucular da vardı.

1721303420068.webp


Ya demek istediğim şu, bu adamlar bir şekilde belirli test ve incelemelere katılmış. İşin içerisinde var ya da yoklar ancak konu çok farklı şekilde anlaşılabilecek düzeyde o FTP sunucusunda duruyor. Test ekibinden bazı kişilere de incelemeleri için hesaplar verilmiş M2Bob'un ve GF'nin kendi mail sunucu uzantıları ile kayıtlı hesaplardan, full ücretsiz botu kullanabilen hesaplardan bahsediyorum o dönem için. Gidip M2Bob satın alıp engellemek için incelediğini düşünmek isterim ama süreli botun süresiz kullanılabilmesi ve GF'nin kendi mail sunucuları ile üyelik oluşturulmuş olması bu düşüncemi de engelliyor.

Mattermost'da Alman comasına bizzat sorumu iletmiştim ancak o da bir şey söyleyememişti. Cheat Blocker ile ilgili Product Manager ile tartışırken de ona bunları iletmiştim, o da cevap vermekten kaçınmıştı.
 
İşin aslı şu, GameForge ile Çinli bir firma olması gerek kendi aralarında anlaşıyorlar. Oyun için full gelişmiş bir bot yapıyorlar. Bu ilk full fonksiyon EasyMetin2 botundan önce gerçekleşiyor ve botları başlatan akım oluyor. Vadide vs bir sürü bot görüyorduk sıralı bir şekilde gezen, işte onlar GF ile çin merkezli bir firma olması gerek belkide koredir tam hatırlamıyorum ama onlar arasındaki bir anlaşma ile ortaya çıkıyor. Tüm sunucular dolduruluyor. Sonra GameForge'nin her yerde dünya çapında 7 milyon oyuncu reklamlarını görüyorsunuz zaten.

Dönemi hatırlamanız için :
2 T 'nin %1500 kazanç ile çinden epincilerin aldığı ve 6 TL ye sattığı dönemden bahsediyorum. Derindarbe öncesidir.

Daha sonra işler bizim diyeceğimiz dilde boka sarıyor, önünü alamıyorlar. Hatta bir aralar basın toplantısı mı ne vardı, topluluktan özür dilemişlerdi konu ile ilgili yazışmalara kadar sızdırıldığında. Bugün A to Z her şeyi yapan botlar bir şekilde türediyse, bunun sebebi GameForge.

Bu arada M2Bob'un ilk testlerinin, çalışma mantığının ve videosunun GameForge test sunucularında olduğunu biliyor muyudunuz? Biraz susalım bence :D

tam wattpad tadında olmuş
 
Ymir tarafından yazılmamış (Ymir tarafından yazılan da en eski 2003 yılına aitti diye hatırlıyorum), oyun kaynağı içindeki en eski yorum satırı Ekim 1988 yılına ait, 36 yıl önce yazılmış bir yorum satırını okumak enteresan hissettiriyor, bir çoğumuz daha dünyada bile değildik. 😄

EterBase/Random.cpp:
Genişlet Daralt Kopyala
unsigned long random()
{
    register long x, hi, lo, t;

    /*
    * Compute x[n + 1] = (7^5 * x[n]) mod (2^31 - 1).
    * From "Random number generators: good ones are hard to find",
    * Park and Miller, Communications of the ACM, vol. 31, no. 10,
    * October 1988, p. 1195.
    */
    x = randseed;
    hi = x / 127773;
    lo = x % 127773;
    t = 16807 * lo - 2836 * hi;
    if (t <= 0)
    {
        t += 0x7fffffff;
    }
    randseed = t;
    return (t);
}
 
Ymir tarafından yazılmamış (Ymir tarafından yazılan da en eski 2003 yılına aitti diye hatırlıyorum), oyun kaynağı içindeki en eski yorum satırı Ekim 1988 yılına ait, 36 yıl önce yazılmış bir yorum satırını okumak enteresan hissettiriyor, bir çoğumuz daha dünyada bile değildik. 😄

EterBase/Random.cpp:
Genişlet Daralt Kopyala
unsigned long random()
{
    register long x, hi, lo, t;

    /*
    * Compute x[n + 1] = (7^5 * x[n]) mod (2^31 - 1).
    * From "Random number generators: good ones are hard to find",
    * Park and Miller, Communications of the ACM, vol. 31, no. 10,
    * October 1988, p. 1195.
    */
    x = randseed;
    hi = x / 127773;
    lo = x % 127773;
    t = 16807 * lo - 2836 * hi;
    if (t <= 0)
    {
        t += 0x7fffffff;
    }
    randseed = t;
    return (t);
}
Vay be hocam, sonra da c++11 ile gelen random küt0phane güncellemeleri :)
 
Ymir tarafından yazılmamış (Ymir tarafından yazılan da en eski 2003 yılına aitti diye hatırlıyorum), oyun kaynağı içindeki en eski yorum satırı Ekim 1988 yılına ait, 36 yıl önce yazılmış bir yorum satırını okumak enteresan hissettiriyor, bir çoğumuz daha dünyada bile değildik. 😄

EterBase/Random.cpp:
Genişlet Daralt Kopyala
unsigned long random()
{
    register long x, hi, lo, t;

    /*
    * Compute x[n + 1] = (7^5 * x[n]) mod (2^31 - 1).
    * From "Random number generators: good ones are hard to find",
    * Park and Miller, Communications of the ACM, vol. 31, no. 10,
    * October 1988, p. 1195.
    */
    x = randseed;
    hi = x / 127773;
    lo = x % 127773;
    t = 16807 * lo - 2836 * hi;
    if (t <= 0)
    {
        t += 0x7fffffff;
    }
    randseed = t;
    return (t);
}
Oha o kadar eskimi ya metin2 kaynağı park ve miller yazmış ama söz gibi bişey olabilrmi
 
Oha o kadar eskimi ya metin2 kaynağı park ve miller yazmış ama söz gibi bişey olabilrmi
Burada kullanılan random number generator'un kaynağı olan makalenin yazarları bunlar. Akademide alıntılar makale yazarlarının soyadlarıyla verilir. Genellikle APA (American Psychological Association) veya MLA (Modern Language Association) stilleri kullanılır.
Yani bu random number generator;
1988 yılında Communications of the ACM
Dergisin Vol 31 no 10 sayfa 1195 'da yayımlanan
Park ve Miller'in yazdığı
"Random number generators: good ones are hard to find"
adlı makaleden alınmış.

Yani bu kod 1988'de Metin2'ye eklenmiş demek değil, bu jeneratörün yazıldığı makale 1988'de yayımlanmış demek.
 
Burada kullanılan random number generator'un kaynağı olan makalenin yazarları bunlar. Akademide alıntılar makale yazarlarının soyadlarıyla verilir. Genellikle APA (American Psychological Association) veya MLA (Modern Language Association) stilleri kullanılır.
Yani bu random number generator;
1988 yılında Communications of the ACM
Dergisin Vol 31 no 10 sayfa 1195 'da yayımlanan
Park ve Miller'in yazdığı
"Random number generators: good ones are hard to find"
adlı makalesinden alınmış.

Yani bu kod 1988'de Metin2'ye eklenmiş demek değil, bu jeneratörün yazıldığı makale 1988'de yayımlanmış demek.
Aynn tam olarak bunu sormuştum. Açıklama için çok teşekkür ederim.
 
EterLib/StateManager.cpp:
Genişlet Daralt Kopyala
struct SLightData
{
    enum
    {
        LIGHT_NUM = 8, // Burada tanımlanmış.
    };
    D3DLIGHT8 m_akD3DLight[LIGHT_NUM];
} m_kLightData;

void CStateManager::SetLight (DWORD index, CONST D3DLIGHT8* pLight)
{
    assert (index < SLightData::LIGHT_NUM);
    m_kLightData.m_akD3DLight[index] = *pLight;
    m_lpD3DDev->SetLight (index, pLight);
}

void CStateManager::GetLight (DWORD index, D3DLIGHT8* pLight)
{
    assert (index < 8); // :D Üstte tanımladıktan sonra niye hard-coded şekilde kullanırsın ??
    *pLight = m_kLightData.m_akD3DLight[index];
}

 
EterLib/StateManager.cpp:
Genişlet Daralt Kopyala
struct SLightData
{
    enum
    {
        LIGHT_NUM = 8, // Burada tanımlanmış.
    };
    D3DLIGHT8 m_akD3DLight[LIGHT_NUM];
} m_kLightData;

void CStateManager::SetLight (DWORD index, CONST D3DLIGHT8* pLight)
{
    assert (index < SLightData::LIGHT_NUM);
    m_kLightData.m_akD3DLight[index] = *pLight;
    m_lpD3DDev->SetLight (index, pLight);
}

void CStateManager::GetLight (DWORD index, D3DLIGHT8* pLight)
{
    assert (index < 8); // :D Üstte tanımladıktan sonra niye hard-coded şekilde kullanırsın ??
    *pLight = m_kLightData.m_akD3DLight[index];
}


Hemen altyapıda düzeltelim ✅
 
EterLib/StateManager.cpp:
Genişlet Daralt Kopyala
struct SLightData
{
    enum
    {
        LIGHT_NUM = 8, // Burada tanımlanmış.
    };
    D3DLIGHT8 m_akD3DLight[LIGHT_NUM];
} m_kLightData;

void CStateManager::SetLight (DWORD index, CONST D3DLIGHT8* pLight)
{
    assert (index < SLightData::LIGHT_NUM);
    m_kLightData.m_akD3DLight[index] = *pLight;
    m_lpD3DDev->SetLight (index, pLight);
}

void CStateManager::GetLight (DWORD index, D3DLIGHT8* pLight)
{
    assert (index < 8); // :D Üstte tanımladıktan sonra niye hard-coded şekilde kullanırsın ??
    *pLight = m_kLightData.m_akD3DLight[index];
}


Get ve set fonksiyonlarını farklı kişiler yazdığı için böyle, muhtemelen get daha önce yazıldı.
 
Üst