Çok eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz.. Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
Serveri 64 bite taşımak değil zaten kaynak dosyalarını 64 bit makineden derlemek. Kimse sourceyi 64 bite yükselttiğini falan söylemiyor bazıları bu şekilde anlıyor ama yanlış bir anlaşılma. 64 bit sunucuda derlenmiş libler ile veri tipleri düzenlenmiş ve ekstra değişiklikler ile 64 bit makinada 32 bit sourceyi derleyebilmek özet olarak. Yoksa dediğiniz gibi server 64 client 32 olmaz.
Konu başlığından o şekilde anlaşılıyor, yorumlarda da bahsedilmiş zaten benim yazma sebebim biri 64'e geçirmek isterse başlayabileceği bir ip ucu bırakmak.
Client’te kullanılan harici kütüphanelerin 64 versiyonu olsaydı client 64’e yükseltilebilirdi.
@cncn konu başlığı “Metin2 Server Source 64bit Build” olduğu için yanlış anlaşılacak bir şeyin olduğunu düşünmüyorum. Konu hakkında detaylı bilgi verdiğiniz için teşekkür ederim.
Benim anlamadığım, tek kodla 32 libleri cekebiliriz freebsd sitesinden sonra makefileda 32 bit e göre ayarlayıp derleyebiliriz kodlarda değişiklik yapmanıza gerek yok diye düşünüyorum. Bir yerlerde hata yapmış olabilirmisiniz?
Benim anlamadığım, tek kodla 32 libleri cekebiliriz freebsd sitesinden sonra makefileda 32 bit e göre ayarlayıp derleyebiliriz kodlarda değişiklik yapmanıza gerek yok diye düşünüyorum. Bir yerlerde hata yapmış olabilirmisiniz?
Daha sonra db/src/ProtoReader.cpp dosyasını açtım ve kodları analiz etmeye başladım. Ekrana mesajlar yazdırdım vs.
C++:
static string* StringSplit(string strOrigin, string strTok)
{
/*fprintf(stdout, "string %s tok %s", strOrigin.c_str(), strTok.c_str());
fprintf(stdout, "cutat %ld - %ld\n", strOrigin.find_first_of(strTok), strOrigin.npos);*/
unsigned int cutAt; //자르는위치
int index = 0; //문자열인덱스
string* strResult = new string[30]; //결과return 할변수
//strTok을찾을때까지반복
while ((cutAt = strOrigin.find_first_of(strTok)) != strOrigin.npos)
{
if (cutAt > 0) //자르는위치가0보다크면(성공시)
{
//fprintf(stdout, "sira %d\n", index);
strResult[index++] = strOrigin.substr(0, cutAt); //결과배열에추가
}
strOrigin = strOrigin.substr(cutAt+1); //원본은자른부분제외한나머지
}
İşaretlediğim alanda (15. satır) dizi sınırını aştığı için bu hatayı verdiğini fark ettim. Burayı kısa süreliğine devredışı bıraktım ve while döngüsünün sonsuz döngüye girdiğini fark ettim. Kaynak kodları 64bit ile build ettiğim için strOrigin.find_first_of(strTok) ve strOrigin.npos çıktıları long int türünde olduğunu fark ettim. cutAt değişkeni ise uint türünde olduğu için uyuşmazlık sebebi ile karşılaştırma yapamıyordu. Bu yüzden while döngüsü ve koşullar düzgün çalışmıyordu.
Anlayacağınız üzere 64bit ile build almak kolay ancak serveri çalıştırmak için yapılması gereken çok şey var. Zaten konuyu da benim gibi uğraşmak isteyenler için paylaşmıştım. Bu yüzden linki geliştirici rankına sahip kullanıcıların görmesi şekilde ayarlamıştım. 64bit buildi merak edip nereden başlayacağını bilmeyenler içindi bu konu.
Evet çekenler olmuş. Paylaşılan N2 fileste de 64 bit. Libleri aldım bile. Beni durduran sadece kütüphanelerdei artık onlarda elimde olduğundan Bende 64 e çekiyorum yavaştan. Biraz uzun sürecek gibi meşakatlı bir iş. Programlama tecrübesi olmayanlar hiç bulaşmasın bile.
Evet çekenler olmuş. Paylaşılan N2 fileste de 64 bit. Libleri aldım bile. Beni durduran sadece kütüphanelerdei artık onlarda elimde olduğundan Bende 64 e çekiyorum yavaştan. Biraz uzun sürecek gibi meşakatlı bir iş. Programlama tecrübesi olmayanlar hiç bulaşmasın bile.
Kolay aslında. Ben birkaç yıl önce ilk geçirdiğimde SpeedTree 64 bit olmadığı için ağaçları kullanamıyordum. Daha sonrasında SpeedTree 1.6 sürümünün kaynak kodları elime geçince 64 bit derleyip sıkıntısız kullandım.
Hocam ben başarılı şekilde freebsd 14.0 amd64 sürümünü kullanarak build aldım oyun açık göründüğü üzere ancak client ile giriş yapamıyorum. Ne yapmam gerekiyor? Ne yaptıysam oyuna girmeyi başaramadım.
ama indiremiyorum serverim var freebsd 13.1 64 bit olarak bi türlü yükliyemedim githubtaki hepsini yaptım ama bu doyaya erişimimde yok zaten kuramadım bi türlü