Sziasztok! Teszt szerveremen, előjött egy hiba (~30 teszter van fent, tehát nincs túlterhelve)
heart_idle: losing 199 seconds. (lag occured)
socket_accept: accept: Software caused connection abort (fd 12)
Analyze: Handshake phase does not handle packet 15 (fd 28)
És ettől leáll a szerver.
input.cpp-ben találtam meg a handshake-s hibaüzenetet.
else
sys_err("Handshake phase does not handle packet %d (fd %d)", bHeader, d->GetSocket());
return 0;
Ha jól értelmezem, akkor a int CInputHandshake::Analyze függvény 15. headerje a hiba, nos 6 header van benne.
HEADER_CG_TEXT
HEADER_CG_MARK_LOGIN
HEADER_CG_STATE_CHECKER
HEADER_CG_PONG
HEADER_CG_HANDSHAKE
HEADER_CG_KEY_AGREEMENT
a vége:
else if (bHeader == HEADER_CG_PONG)
Pong(d);
else if (bHeader == HEADER_CG_HANDSHAKE)
Handshake(d, c_pData);
#ifdef _IMPROVED_PACKET_ENCRYPTION_
else if (bHeader == HEADER_CG_KEY_AGREEMENT)
{
// Send out the key agreement completion packet first
// to help client to enter encryption mode
d->SendKeyAgreementCompleted();
// Flush socket output before going encrypted
d->ProcessOutput();
TPacketKeyAgreement* p = (TPacketKeyAgreement*)c_pData;
if (!d->IsCipherPrepared())
{
sys_err ("Cipher isn't prepared. %s maybe a wer.", inet_ntoa(d->GetAddr().sin_addr));
d->DelayedDisconnect(5);
return 0;
}
if (d->FinishHandshake(p->wAgreedLength, p->data, p->wDataLength)) {
// Handshaking succeeded
if (g_bAuthServer) {
d->SetPhase(PHASE_AUTH);
} else {
d->SetPhase(PHASE_LOGIN);
}
} else {
sys_log(0, "[CInputHandshake] Key agreement failed: al=%u dl=%u",
p->wAgreedLength, p->wDataLength);
d->SetPhase(PHASE_CLOSE);
}
}
#endif // _IMPROVED_PACKET_ENCRYPTION_
else
sys_err("Handshake phase does not handle packet %d (fd %d)", bHeader, d->GetSocket());
return 0;
}
nos, így sajnos nem tudom értelmezni, azt a 15 és 28-as számot...
Leáll a szerver, vagy crashelt? nem mindegy....
Leall tőle
PACKET_ENCRYPTION aktív? ha igen offold ki nekem ez okozott elég sok packet hibát köztük a neked fennállót is!
továbbá ezt [spoiler]Set(HEADER_CG_PONG, sizeof(BYTE), "Pong", true);[/spoiler]
modosítsd: [spoiler]Set(HEADER_CG_PONG, sizeof(BYTE), "Pong", false);[/spoiler]
Igazából a legegyszerűbb ha teljesen kiszedi a "PACKET_ENRYPTION"-t, én is kiszedtem, bár beletelt egy kis időbe, de megérte. ;)
Egyébként ha csak kioffolod 1-2 helyen, mint azt jó néhány fórumon írják, csak rosszabb lesz. :D
Igen ezt én is megakarom tenni, elméetileg ha kiszedjük jelentősen gyorsabban kapcsolódunk a szerverre, + elméletileg pár bontót is kioffolunk vele, de én szerintem oka van annak hogy ymir ezt igy csinálta, csak én nem tudom hogy mi :D
Ezt vitatnám, ugyanis ha aktív, az encryption, akkor gyorsabb a login de ezenkívűl semmit nem csinál, és az hogy ki offol pár bontót a legnagyobb marhaság amit hallottam.
Régen ez volt a pong, amivel az indító és a game fájl kapcsolatot teremtett egymással. Egyfajta csomagküldő (packet). Csak átálltak az Ujjlenyomatosra, és ez meg benne maradt.
Alone, epvp-n olvastam. :D
Itt egy videó róla: https://www.youtube.com/watch?v=Rp2EeICMkFU&feature=youtu.be
A videóban be van kapcsolva a packet encryption azért gyors a login... De ennek még mindig semmi köze a bontáshoz nem tudom milyen helyen olvastad de aki ezt írta nem volt józan
IdézA videóban be van kapcsolva a packet encryption
Még jó hogy ki van kapcsolva a videóban. :-X :o
Idézetet írta: Chookez™ Dátum 2019-08-05, 10:38:42
IdézA videóban be van kapcsolva a packet encryption
Még jó hogy ki van kapcsolva a videóban. :-X :o De látom csak eszetlenül ontod a hülyeségeidet.
Na mivan kötekedünk-kötekedünk?
IdézMég jó hogy ki van kapcsolva a videóban. :-X :o De látom csak eszetlenül ontod a hülyeségeidet.
Ha más nem megy neki
Látom a "fórum kommandó" már rám is szált.
IdézMár miért volna egyszerűbb ki belezni, mint kikapcsolni? ?? Fu*k logic...
Tudod én úgy vagyok vele, ha valamit csinálok azt 100%-osan el is végzem, nem csak a 20%-át.
A te gondolkodásod olyan "YMIR" logikára alapul, ezek szerint.
@Mark881 Nem tudtam hogy a ti korosztályotoknál az önkifejezés már-már kötekedésnek számít.
Idézóvodások farok méregetése
Nyugodtan össze mérhetjük, nem tart vissza semmi és senki. :o
IdézTudod én úgy vagyok vele, ha valamit csinálok azt 100%-osan el is végzem, nem csak a 20%-át.
A te gondolkodásod olyan "YMIR" logikára alapul, ezek szerint.
A hiba itt kezdődik ennél a mondatodnál :) te a ymirel ellentétbe nem raktál le semmit az asztalra, és mégis jobbnak tartod magad a "yimir" nél :D Ez azért elég érdekes és hát gyerekes :) Fura egy figura vagy az ku*va isten :) Nekem ezzel nincs is bajom, csak ha már írsz, akkor válaszolj is a kérdezőnek, és ne kötekedés gyaránt játszd az agyad! Ha már "farok méregetést szeretnél várom a privátot" ;)
Miért kiszedjük egyből? Javítsuk meg! A kódrészlet alapján egyszerűen nincsen lekezelve az adott headerrel ellátott packet. A hibaüzenetből megtudod, hogy az a 15-ös értékű. Nézd meg, hogy a 15-ös headerű packet mihez tartozna és miért ez az Analyze kapta meg. Nem azt kell mondani, hogy szar az egész és kibaszni, hanem debugolni...
Egyébként véletlen nem a HEADER_CG_KEY_AGREEMENT enumerátor értéke 15 és csak nincs definiálva a _IMPROVED_PACKET_ENCRYPTION_ és így bele se fordul az alkalmazásba az az ág?
Próbáljuk már meg értelmezni a kódot és nem csak nekiesni a szerver"fejlesztésnek", mint tót az anyjának...