leider habe ich mehrere Fehlermeldungen reinbekommen für die ich mal wieder keine Lösung finde. Ich habe im Internet jetzt bestimmt über 2 Stunden gesucht und keine Lösung für mein Problem gefunden. Vielleicht hab ich hier mehr Glück ^^ Jedenfalls klagen mehrere Nutzer wegen eines Kicks auf einer Map von mir. Betroffen ist nur diese Map und die Kicks finden nur an einer bestimmten Stelle der Map statt und Fehlermeldung ist folgende:
Code:
SYSERR: Jan 13 18:31:00 :: Sync: cannot find tree at 921601 905854 (name: vv)
SYSERR: Jan 13 19:02:55 :: Sync: cannot find tree at 921604 905666 (name: Ada)
SYSERR: Jan 13 19:03:28 :: Sync: cannot find tree at 921606 905617 (name: Ada)
Solche Einträge sind leider dutzende, habe jetzt die letzten paar rausgesucht und was ich bislang dagegen versucht habe zu unternehmen:
- Ich habe die Koordinaten der Map in den settings.txt auf 898900,898900 gestellt, in der atlasinfo.txt auch die richtige Verlinkung des Ordners usw überprüft.
- Dies ist eine 1x1 Map, habe dementsprechend auch eine server_attr von einer 1x1 Map genommen.
- Auch versucht andere Koordinaten zu verwenden, für den Fall, dass sich versehentlich iwo Maps überschneiden.
Egal was ich auch mache, ich bekomme IMMER Kick an der selben Stelle.
Ich würde mich sehr freuen, wenn mir jemand helfen könnte, dass ist leider erste Map, welche solche Probleme macht.
von irgendeiner 1x1 Map oder explizit für diese generiert mit dem Worldeditor?
Grüße
Ja, das ist richtig, die Map wurde mit dem WorldEditor (Remix) v44 gemacht.
Da ich die Ursache bislang nicht feststellen konnte, habe vorerstmal in der soruce eine Funktion in der char.cpp der Source (server) folgende Funktion abgeändert:
bool CHARACTER::Sync(long x, long y)
{
if (!GetSectree())
return false;
LPSECTREE new_tree = SECTREE_MANAGER::instance().Get(GetMapIndex(), x, y);
if (!new_tree)
{
if (GetDesc())
{
//sys_err("cannot find tree at %d %d (name: %s)", x, y, GetName());
//GetDesc()->SetPhase(PHASE_CLOSE);
return 0;
}
Auch wenn dies vielleicht nicht die beste Lösung ist, die Kicks haben aufgehört und zum unerwartetem Verhalten kam es bis lang zum Glück nicht.
Ich wüsste natürlich weiterhin gerne, was genau der Map fehlt, dass es mich und andere rauswirft ^^
Ja, das ist richtig, die Map wurde mit dem WorldEditor (Remix) v44 gemacht.
Da ich die Ursache bislang nicht feststellen konnte, habe vorerstmal in der soruce eine Funktion in der char.cpp der Source (server) folgende Funktion abgeändert:
bool CHARACTER::Sync(long x, long y)
{
if (!GetSectree())
return false;
LPSECTREE new_tree = SECTREE_MANAGER::instance().Get(GetMapIndex(), x, y);
if (!new_tree)
{
if (GetDesc())
{
//sys_err("cannot find tree at %d %d (name: %s)", x, y, GetName());
//GetDesc()->SetPhase(PHASE_CLOSE);
return 0;
}
Auch wenn dies vielleicht nicht die beste Lösung ist, die Kicks haben aufgehört und zum unerwartetem Verhalten kam es bis lang zum Glück nicht.
Ich wüsste natürlich weiterhin gerne, was genau der Map fehlt, dass es mich und andere rauswirft ^^
Gruß, Endless
Hast du überprüft das sich die Map nicht mit einer anderen Map überschneidet(also von den Koordinaten her)
Das löst auch alle möglichen Bugs, Kicks, Clientcloses aus
Hast du überprüft das sich die Map nicht mit einer anderen Map überschneidet(also von den Koordinaten her)
Das löst auch alle möglichen Bugs, Kicks, Clientcloses aus
Hallo .Dean, danke dir erstmal für deine Antwort. Ich habe bestmöglichst versucht unterschiedliche Koordinaten zu nehmen aber ich kann deine Vermutung jedoch nicht ausschließen.
Ich habe den Inhalt der atlasinfo.txt hier rein getan:
Von den Zahlen her sehe ich das jetzt so leider nicht wirklich, ich muss vllt einen Weg finden, mir dies grafisch anzeigen zu lassen.
Falls es mir gelingt, werde ich ein solches script hier zur Verfügung stellen (falls es sowas nicht gibt)
Hallo .Dean, danke dir erstmal für deine Antwort. Ich habe bestmöglichst versucht unterschiedliche Koordinaten zu nehmen aber ich kann deine Vermutung jedoch nicht ausschließen.
Ich habe den Inhalt der atlasinfo.txt hier rein getan:
Von den Zahlen her sehe ich das jetzt so leider nicht wirklich, ich muss vllt einen Weg finden, mir dies grafisch anzeigen zu lassen.
Falls es mir gelingt, werde ich ein solches script hier zur Verfügung stellen (falls es sowas nicht gibt)
Liebe Grüße, Endless
Hier damit kannst du Kollisionen schnell finden(davon ausgehend das Client-Server alle Koordinationen übereinstimmen, wenn Serverside was falsch ist bringt dir das Tool leider auch nix)
Hier damit kannst du Kollisionen schnell finden(davon ausgehend das Client-Server alle Koordinationen übereinstimmen, wenn Serverside was falsch ist bringt dir das Tool leider auch nix)
Leider ist der Link, welcher vom Thread ersteller bereitgestellt wurde, ausgestorben :/ aber danke dir trotzdem, ich schaue mich mal auf alternativen Seiten um, vllt habe ich Glück und finde wo anders des Tool noch.
Aber tatsächlich kannst du mit dem o. g. Tool sehen,
dass sich endless_mystic mit metin2_guild_village_01 überschneidet.
Mach mal aus:
Code:
endless_mystic 232300 232300 2 2
folgendes:
Code:
endless_mystic 206700 257900 2 2
Nicht vergessen auch serverseitig anzupassen!
Ja, das ist richtig. Ich hab die server_attr über diesen Editor ausgeben lassen.
Die "endless_mystic" macht keine Probleme, da ich diese "guild_village" nicht mehr im server laufen habe, wahrscheinlich wird er deshalb nichtmal versuchen sie zu laden. Jedenfalls Danke für den Hinweis Doch welche Map grad wirklich Probleme macht wäre diese hier: "metin2_map_sd4 898900 898900 1 1", dies passierte irgendwie immer dann, wenn ich zu nah ans Ende der Map gehe. im Editor habe ich jetzt mal alle Zonen entfernt und dann nochmal eine server_attr genommen mit der Hoffnung, dass diese nicht beschädigt ist, aber leider war des immernoch nicht besser danach.
€: Nach dem ich die Koordinaten jetzt auf eine Position gelegt habe und drauf geachtet habe, dass sich die Maps NICHT überschneiden, tritt das Problem leider immernoch auf. Um zu sehen obs funktioniert habe ich auch die Änderung in der Source wieder rückgängig gemacht.
Hier auf dem Bild:
unten links in grün ist die Map, welche von diesem Bug betroffen ist.
Diese liegt ausserhalb anderer Maps und auch die server_attr habe ich mit diesen Einstellungen neu generiert. Trotz allen Versuchen tritt es immernoch auf und Spieler als auch mein Test char, bekommen ein Kick..
syserr:
Code:
SYSERR: Jan 21 12:52:29 :: Sync: cannot find tree at 268801 966619 (name: MapEndless) # (map_index: 308)
SYSERR: Jan 21 12:52:42 :: Entergame: !GetMovablePosition (name MapEndless 268764x966618 map 308 changed to 268400x970200)
SYSERR: Jan 21 12:52:45 :: Sync: cannot find tree at 268808 970266 (name: MapEndless) # (map_index: 308)
des mit Entergame hat so geendet, dass mein Char nichtmal auf der Map spawnen wollte.
Mittlerweile gehen mir echt die Ideen aus.
ich halte fest, du hast folgende Änderungen getätigt:
- Anpassung der Basiskoordinaten von metin2_map_sd4
- AtlasInfo im Client -> Archiv gepackt
- Setting.txt im Client -> Archiv gepackt
- Setting.txt im Server -> Server neu gestartet
Ansonsten:
Schieb die Map testweise mal auf einen anderen Core.
Idealerweise auf einen separaten Channel auf dem nur die Map registriert ist und teste dann noch einmal.
Edit: Prüfe das Verhalten bitte einmal nach folgender Änderung in der char.cpp:
Code:
bool CHARACTER::Sync(long x, long y)
{
[...]
if (GetDesc())
{
sys_err("cannot find tree at %d %d (name: %s)", x, y, GetName());
//GetDesc()->SetPhase(PHASE_CLOSE);
new_tree = GetSectree();
x = GetX();
y = GetY();
}
[...]
}
Erscheint nach dieser Anpassung noch immer die entsprechende Fehlermeldung?
ich halte fest, du hast folgende Änderungen getätigt:
- Anpassung der Basiskoordinaten von metin2_map_sd4
- AtlasInfo im Client -> Archiv gepackt
- Setting.txt im Client -> Archiv gepackt
- Setting.txt im Server -> Server neu gestartet
Ansonsten:
Schieb die Map testweise mal auf einen anderen Core.
Idealerweise auf einen separaten Channel auf dem nur die Map registriert ist und teste dann noch einmal.
Edit: Prüfe das Verhalten bitte einmal nach folgender Änderung in der char.cpp:
Code:
bool CHARACTER::Sync(long x, long y)
{
[...]
if (GetDesc())
{
sys_err("cannot find tree at %d %d (name: %s)", x, y, GetName());
//GetDesc()->SetPhase(PHASE_CLOSE);
new_tree = GetSectree();
x = GetX();
y = GetY();
}
[...]
}
Erscheint nach dieser Anpassung noch immer die entsprechende Fehlermeldung?
Grüße
Ja die oben genannten Punkte habe ich alle nochmal überprüft. Ich habe andere Koordinaten versucht zu verwenden, diese auch in der atlasinfo aktualisiert, server/client Settings.txt und auch der Warp dort hin wurde davor mit nem GM (via state command) auf eine valide Position gesetzt, welche auf jeden Fall innerhalb der Map ist. Auf diese Settings habe ich im Editor dann noch eine neue server_attr generiert (1x mit safezones und 1x blank). Beides hatte den selben Effekt, was mich vermuten lässt, dass die server_attr's nicht alle kaputt sein können und es vllt an was anderem liegt.
Ich habe se auf ch1 und auf ch99 verschoben, leider war des auch nicht die Ursache.
Zu deinem Code:
Nach dem ich diese "GetDesc()->SetPhase(PHASE_CLOSE);" auskommentiert habe, haben die Character KEINEN Kick mehr bekommen, doch sie wurden zurückgeportet, an die letzte Stelle, wo der char noch gelaufen ist.
Auch wenn ich diese: "new_tree = GetSectree();
x = GetX();
y = GetY();" dazu geschrieben habe, löst das Betreten dieser verbuggten Zone, nach wie vor einen backport aus. Zu dem, spawnen an meine gewünschten Positionen auch keine Monster mehr und der Teleporter NPC spawnt nicht, obwohl er dort spawnen sollte und seine Koordinaten dort eingetragen waren. Als ich versucht habe dort hinzulaufen wo er eig. spawnt, bekomme ich selber den kick/backport. Ich denke, diese Änderung in der Source dämmt die Nebenwirkung des Fehlers leicht ein, doch beseitigt ist die Ursache nicht ganz.
Es scheint so, als hätte ich die bestmöglichsten Vorschläge, die es grad in der gesamten Community gibt (auch andere Foren), ausprobiert, sogar ein Eingriff in der Source hat irgendwie nicht viel ändern können, daher werde ich diese Map wahrscheinlich vorerst rausnehmen und versuchen eine neue zu erstellen mit einer anderen Größe, nochmal anderen Koordinaten und einer neuen server_attr.
Falls ich herausfinden sollte, was die Ursache ist, werde ich es oben im 1. Post dazu editieren, aber momentan habe ich bezüglich dieses Themas, das ganze Internet auseinander genommen und auch einige Änderungen in der source/char.cpp ausprobiert, welche mir vorgeschlagen wurden (jedoch ohne Erfolg). Ich glaube nach all dem, dass es nichtmal wirklich notwendig ist, die Source zu ändern, wenn alle anderen Map (ausser diese) funktionieren und keine Fehler ausgeben und diese dann plötzlich doch und weigert sich unter jedem Umstand normal zu arbeiten.
Dieses ganze Metin2 System ist ohnehin sehr merkwürdig und von Natur aus fehlerbehaftet. Manche sachen bemerkt man recht früh, manche erst nach ner Ewigkeit. Es wäre ein Wunder wenn ich mal ein paar Tage keine solche Probleme mit irgendwelchen syserr und Perfomance hätte
Jedenfalls danke ich euch für euren Engagement und eure Hilfe
Kick kick kick ? 08/26/2010 - Metin2 Private Server - 29 Replies Hey leute ich will bei CCm2 spielen ( Hamachi)..alles schön und gut gehe auf die Hp lade mir den ganzen clienten runter..was passiert?Nacher der Charwahl bekomm ich kick..was kann ich dagegen machen?!
Druid Tree form buff without tree Form 11/11/2007 - WoW Exploits, Hacks, Tools & Macros - 5 Replies My buddy and i were screwing around the other day in Mech and we figured out a way to have a working tree form buff for the party but not be in tree form. Which if anyone knows about druids allows them to cast all their other high healing spells. Anyway follow the instructions below its a bit tricky
1. Change your chest item to something else
2. Get into Combat.. Queue your chestpiece to switch back to your original
3. When the fights finishing, Get ready.. The second the...