Serveriniz'de Bazı Syserr Hataları ve Çözümleri

Punisher

Administrator
Yönetici
Administrator
19 Ara 2016
666
448
93
Değerlendirme - 100%
1   0   0
Merhaba Değerli Turkmmo Üyeleri;

Bu Rehber niteliğindeki konumda sizlere, Sunucunuzda almış olduğunuz bazı hataların ve bunu nasıl anlayabileceğinizi sizlere anlatmak istedim.
Bu işe gönül vermiş, yeni başlamış arkadaşlara yardımcı olacağını biliyorum. Forum'da incelediğimde bu durumla ilgili kaynaklar eskimiş, haliyle teknoloji geliştikçe aldığınız hatalar farklılaşabiliyor.

Genelde bir değişiklik yaptığınızda bazen sunucunuz açılmıyor, bazen açılıyor fakat bir yerde bir sorun olduğunun farkına varıyorsunuz.

Oyunda yapmış olduğunuz her hareket bir komut sistemiyle işlediği için, bir yerde bir hata olduğu zaman bu hatanın neden kaynaklandığını sizlere bildiren dosyalar vardır. Malesef bu dosyanın içeriği tamamen uluslar arası ortak dili kullanıyor, ne yazıkki Türkçe olmuyor. :)

Filezilla veya WinSCP kullanıyorsanız sunucunuza giriş yaptığınızda, /usr/game/cores bazı fileslerde bu yol farklılık gösterebilir.

Aşağıda görmüş olduğunuz görselde mevcut sekmelerin altında dosyalar mevcut.

1607372165341.png


Bu görselde Auth Channel 1-2-3-4-5-6 kanalları yüklü olduğunu farzedelim. Biz Auth klasörünü açalım.


1607372288547.png


Auth klasörümüzde "Syser" isimli bir dosya mevcut. Eğer serverinizde bir hata var ise, bu dosya sizlere resmen bir rehber olacaktır.

Bu dosyayı Notepad++ veya Her hangi bir Metin Belgesi yardımıyla açıp içine göz atabilirsiniz.

Oyununuzda bulunan hataları çözmediğiniz zaman, bazen oyununuzda CH düşmesine her hangi bir Exploit veya açığa neden olabiliyor. Bu dosyayı sık sık kontrol etmenizi tavsiye ederim. Ayrıca sunucunuzun saklama alanı dolar, ve sunucunuz tam teşekküllü performanslı çalışmayabilir.

Bu dosyanın içerisinde bulunan hatalardan bazıları şunlardır.


SYSERR:LoadMotion: cannot find accumulation data in file 'data/monster/xxxx2/run-dead,special vb..msa'
Sebep: Bu hatanın sebebi data/monster içine hata veren mobun clientteki klasörünü atmanızdır.
Çözüm: Bu klasörün içindeki herşeyi silin.Sadece motlist.txt kalsın motlist.txt içindekileri silin.



SYSERR:BlueDragon_GetSkillFactor: BlueDragon: wrong key table sura
SYSERR:Dead: DragonLair: Dragon killed by nobody

Sebep: Bu Hata settings.lua içinde Ejderhanın Ayarlarının olmaması eksik olmasıdır.
Çözüm: settings.lua / indirerek locale/turkey/ içine atın.


SYSERR:Click: CQuestManager::Click(pid=72682, target_npc_name=npc_adi) - NOT EXIST NPC RACE VNUM[Vnum]

Sebep: locale/turkey/quest/ içinde questnpc.txt içinde olmaması.
Çözüm: locale/turkey/quest/questnpc.txt/ içine giriyoruz.En alt satıra geliyoruz npc_adi yazan yerdeki adi [Vnum] yazan yerdekileri alarak

örneğin hata veren npc olay yardimcisi olsun.
9004 olay_yardimcisi
giriyoruz kaydetip çıkıyoruz.


SYSERR:process: FDWATCH: peer null in event: ident 20
Sebep: usr/game/share dizinindeki gamelerin aynı olmaması.İnternet Crashleri.
Çözüm: usr/game/share içindeki gameyi masaüstüne atın.Adını auth yapın.Ordaki authu silip yeni yaptığınızı atın.Auth
/usr/game/g1/auth içindede olabilir. ve dif ekleyin



SYSERR:number_ex: number(): first argument is bigger than second argument 68100 -> 51100 char_battle.cpp 638
Sebep: mob_proto gold_min'in gold_max'tan yüksek olması.
Çözüm: mob_proto girip gold_min'in gold_max'tan düşük olmasını sağlamak. Elle veya aşağıdaki komutla düzeltebilirsiniz.

Query kodu ; update mob_proto set gold_min = 100 where gold_min > gold_max


SYSERR:GetUniqueHpPerc: Unknown Key : adı-no
IsUniqueDead: Unknown Key or Dead : adı-no

Sebep: Quest Hatasıdır.
Çözüm: Questte sahte metin yaparsınız. Orayı yanlış veya eksik yazmışsınızdır.


SYSERR:eek:perator(): Unknown skill attr type 0 vnum 140
Sebep: At üzerinde ninja ok yağmuru skilli hatası.
Çözüm: skill_proto.sql / indirerek navicattan "player" tablosunda execute yapıyoruz.


SYSERR:Cant Load Threewaywar Settings File

Sebep: locale/'den sonra birşey olmaması navicat "common > locale" içinde locale kısmının boş olması locale/'den sonrasıyla eşleşmemesi
gameden o kısmın düzenlenmesi.
Çözüm: Navicat girin. "common > locale" girip locale yerine turkey yazın. Filezilla açın. "usr/game/share/locale" gelin orda turkey diye klasör açıp map
quest vb.buraya atın. Gamede turkey diye araştırın. Bulunamazsa turkey editlenmiştir.


SYSERR:GetMoveMotionSpeed: cannot find motion (name npc_adi race npc_vnum mode 0)
Sebep: data/monster/npc_adi içinde motlist.txt RUN komutu olmaması.
Çözüm: 03.msa motlist.txt açarak ;
GENERAL RUN 03.msa 100 / Ekleyin. Ekledikten sonra kendinize göre düzenleyin.
CONFIG açarak CHECK_MULTİHACK: 0 yapın.


SYSERR: GetMotionFileName: Motion: npc_adi have not motlist.txt vnum(Vnum)
Sebep: data/monster/npc_adi içinde motlist.txt olmaması.
Çözüm: mob_proto girin (Vnum) yazan yerde mobun kodu yazar onu araştırın azcık yana kaydırın Folder yazar oraya bir ad yazın.
data/monster içinde gelerek yazdığınız adda klasör açın. motlist.txt açın ve boş bırakarak kaydedin.
Bu syserr hatasını kesicektir. Fakat motion speed verecektir.


SYSERR: Packet: desc buffer mem_size overflow. memsize(131072) write_pos(131064) iSize(24)
Sebep: PİD Yazamaması.
Çözüm: Düzenli log silen bir script yapmak.


SYSERR: Assertion failed: (m_pkAttribute != NULL), function GetAttribute, file sectree.cpp, line 199.
Sebep: Bu Hata 3 Şekilden Kaynaklı. İlk Olarak server_attr Filesden Settings.txt'daki mapsize Karşısındaki 6 6 Gibi Yazılardan Kaynaklıdır. Onların Uyumlu server_attrleri var. İkincisi NPC Sabitlerken Hata Yapmışsınızdır. 3.sü Map Sayısı 32 Aşmıştır ve Hata Vermektedir.
Çözüm: Hata yaptığınız mapi düzeltmek hala düzelmediyse core bölmek.


SYSERR: Process: FDWATCH: peer null in event: ident 21
Sebep: Son eklenen mobu yanlış eklemişsiniz.
Çözüm: Mobu düzgün eklemek data/monster kısmındaki mob adını bularak düzeltmek.


SYSERR:socket_bind: bind: Address already in use
Sebep: Coreyi iki defa başlatmaktan olur.
Çözüm: start.sh yi tek sefer kullanın. Önemli bir hata değildir.


SYSERR:socket_connect: HOST localhost:15000, could not connect.
Sebep: Db portuna bağlanamamak.
Çözüm: 2089M game kullananlarda böyle bir sorun yoktur. 2010 ilk game kullananlar db portunu değiştirebilir.
usr/game/g1/db içinde CONF dosyasından. Girdikten sonra channel1 içindeki CONFIG db_portta düzeltilir.


SYSERR:locale_find: LOCALE_ERROR: "Çince Yazı";
Sebep: locale_string.txt içindeki çevirmeyi bulamaması.
Çözüm: locale_string açılır ve aşağıdaki örnekten bakılarak düzeltilir.

locale_find: LOCALE_ERROR:
" %s ´Â ±ºÁÖ·Î ÀÔ¸íÇÒ¼ö ¾ø½À´Ï´Ù .";

Örnek yukarıdaki hatayı aldık.

Hatayı locale_string.txt dosyasında bulup Türkçeye çeviriyoruz.

" %s ´Â ±ºÁÖ·Î ÀÔ¸íÇÒ¼ö ¾ø½À´Ï´Ù .";
"Hükümdar %s olarak gidemezsiniz ";

Bu şekilde hem Türkçe hem Çince olarak eklendiğinde sorun düzeliyor.


YSERR:regen_load: No mob data by vnum (vnum)

SYSERR:SpawnMob: SpawnMob: no mob data for vnum (vnum)
Sebep: Regen-npc-boss-stone.txt İçinde Bir VNUM Yazan Yerdeki Mobun Olmadığını Gösterir.
Çözüm: Tüm maplerin içinde bu kodu araştırarak bulmak ve silmek gerekir. Diğer bir çözümü ise mob_proto içinde yeni bir sütun oluşturulur ve VNUM kısmında yazan numara ordaki VNUM yerine yapıştırılır ve sorun çözülür.


SYSERR:number_ex: number(): first argument is bigger than second argument 0 -> -1, item_attribute.cpp 375
Sebep: Efsun ayarlama
Çözüm: item_attr ve item_attr_rare İçinde Hata Yaptığınızı Gösterir.Navicat girerek düzeltin.


SYSERR:ItemLoad: cannot create item by vnum 50124 (name Adı id **)
Sebep: İtemi bulamaması.
Çözüm: ** ID'li itemin item_protoda olmadığını gösterir. İki çözümü vardır. item açarız ve içinde ** VNUM'lu itemi ararız ve sileriz. İkinci ise item_protoda o itemin ID'sinde item yapmaktır.


SYSERR:DoRefineWithScroll: REFINE : Unknown refine scroll item. Value0: 1
Sebep: refine_proto dönüştürme yaparken hata yapılması.
Çözüm: Bu Hata İtemin Dönüşürkenki İstediği İtemden Kaynaklıdır.
Örneğin 65 silahını 80e çevirirken item istedi ama bu item item_protoda kayıtlı değil. Bundan dolayıdır.
Çözümü o itemi refine_protoda aramaktır. Diğer yöntemi yapamayız çünkü o itemi isterse oyuncu bulamaz oyunda yoktur.


SYSERR:DirectQuery: AsyncSQL::DirectQuery : mysql_query error: Column 'name' in field list is ambiguous
Query: SELECT pid, name, date FROM monarch_candidacy a, player b where a.pid = b.id
Sebep: Monarch yaparken hata
Çözüm: Hex ile uzun uzun çözebiliriz. Bunun yerine direk DB indirebilirsiniz,



SYSERR:InitializeItemTable: query error: SELECT vnum, type, subtype, name, gb2312name, gold, shop_buy_price, weight, size, flag, wearflag, antiflag, immuneflag+0, refined_vnum, refine_set, magic_pct, socket_pct, addon_type, limittype0, limitvalue0, limittype1, limitvalue1, applytype0, applyvalue0, applytype1, applyvalue1, applytype2, applyvalue2, value0, value1, value2, value3, value4, value5 FROM item_proto ORDER BY vnum
Sebep: 2010 Files geçerkenki hatalar.
Çözüm: 2010 Files DB ayarlamasında sık karşılaşılır ve oyunu açtırmaz. Çözümü ise item_proto üzerinde sağ tıklayarak "design table" seçeneğini seçmek. orada yazan
gb2312name 'yi locale_name yaparsanız sorun Kalmaz.


TÜM SQL HATALARI[LOGLAMA]


SYSERR: ChildLoop: AsyncSQL: query failed: Table 'log.loginlog2' doesn't exist (query: SET @i = (SELECT MAX(id) FROM loginlog2 WHERE account_id=1 AND pid=41264) errno: 1146)
SYSERR: ChildLoop: AsyncSQL: query failed: Unknown column 'account_id' in 'field list' (query: REPLACE INTO levellog (name level time account_id pid playtime) VALUES('XXX' 53 NOW() 179286 108772 28) errno: 1054)
SYSERR: ChildLoop: AsyncSQL: query failed: Table 'log.cube' doesn't exist (query: INSERT DELAYED INTO cube (pid time x y item_vnum item_uid item_count success) VALUES(102480 NOW() 856670 252046 5082135827729 10 1) errno: 1146)

Sebep: Log kaydedememe.
Çözüm: Bu tür tüm tablo hataları için mysqlden "log" DB'sine gidin ve CTRL+A yaparak hepsini silin. ardından filezilladan "/var/db/mysql/log" içine girerek temizleyin. mysql kısmına dönerek izinleri 777 yapın. şimdi navicata mysqle geri dönün ve "log" üstünde sağ tıklıyarak "execute SQL file" seçeneğine basıp "fix_log.sql" dosyasını seçin.



SYSERR: SetShopItems: Shop: no item table by item vnum #249
Sebep: shopshop_item hatası.
Çözüm: bu hatada "shop_item" içinde 249 iteminin olduğunu fakat bu itemin item_protoda olmadığını gösterir. "shop_item" içinde 249 aratarak veya kendi "syserr"sinizin içinde yazanı aratarak silin ve bu sorun ortadan kalkacaktır.


SYSERR: ForAttrRegionFreeAngle: SECTREE_MANAGER::ForAttrRegion - Unhandled exception. MapIndex: xxx
Sebep: Map hatası.
Çözüm: xxx adlı map indexinin "attr"leri değiştirilmiş eski bir filesden alınarak düzeltilebilir.


SYSERR: Process: SEQUENCE 46694400 mismatch 0xaf != 0x0 header 254
SYSERR: Process: SEQUENCE_LOG [UNKNOWN]
Sebep: command_log'a loglama yapamaması.
Çözüm: Bu hata gm oyundan kod yazdığı zaman comman_log'a kaydederken hata vermesinin sonucudur. Tabloda hata yoktur ama verir. çözümü için DIFF paylaşılmıştı.


SYSERR: __GetHostInfo: __GetHostInfo() ==> DirectQuery failed(SELECT mIP FROM gmhost)SYSERR: __GetAdminInfo: __GetAdminInfo() ==> DirectQuery failed(SELECT mID,mAccount,mName,mContactIP,mServerIP,mAuthority FROM gmlist WHERE mServerIP='ALL' or mServerIP='ip_adresi')
Sebep: gm_hostta ip olmaması.
Çözüm: Bu hata gmhost içinde ip olmadığından kaynaklanıyor. gmhosta ip adresinizi girerseniz sorun kalmayacaktır.


SYSERR: RunState: LUA_ERROR: locale/turkey/quest/object/state/hair:162: attempt to index field `?' (a nil value)
Sebep: Quest
Çözüm: Bu bir quest hatasıdır. size nerde olduğunu anlatmaktadır. Oraya gidip questteki hatayı düzeltin.


SYSERR: SpawnGroupGroup: NOT_EXIST_GROUP_GROUP_VNUM(2595) MAP(200)
Sebep: Map_spawn
Çözüm: group_group.txt içinde 2595 bulamamasından kaynaklıdır. Burda map index içinde 200 arayarak karşısındaki mape gidin ve kodu silin. Hata çözülecektir.


SYSERR: socket_connect: HOST 220.95.239.40:7120, could not connect.
Sebep: Game
Çözüm: Bu hata normal 2010 gamede olur. Çözümü 2089M kullanmaktır. authu kendi gamenizle değiştirin.


SYSERR: number_ex: number(): first argument is bigger than second argument 700 -> 71, char_skill.cpp 1030
Sebep: item_proto
Çözüm: Bu hata item_proto value1'in value2'den yüksek olmasıdır. value1 düşük value2 yüksek olmalı.


SYSERR: Nov 17 09:14:59 :: LoadSettingFile: cannot open file: locale/turkey/map/metin2_map_xxx/Setting.txt
Sebep: setting.txt
Çözüm: Eklediğiniz map içindeki setting.txt baş harfini büyük yazın yani: setting.txt bunu Setting.txt yapacaksınız.


SYSERR: Nov 17 09:14:59 :: Boot: cannot load MapIndex: locale/turkey/map/index
Sebep: Map eklerken hata
Çözüm: Eklediğiniz mapi yanlış eklemişsiniz. Yukarıda yazanlardan birtanesi alıp kopyalayın ve düzenleyin bu hata map içindeki settingtown vb. hata yaptığınızdan dolayıda verebilir. Onların baş harfini büyük yazın.


Not : Bazı Syser kodlarında emoji görünmektedir. Kod satırını kopyalayıp metin belgesine yapıştırınız.
 
Üst