Ваш любимый шутер от Valve?
|
eisgottin |
23 марта 2023 20:55
Сообщение #1
|
Новобранец
Репутация: 0 Группа: Пользователи Сообщений: 10 Регистрация: 21.03.2019 Предупреждения: |
Доброго времени суток!
Последняя версия эмулятора вызывает краши (CS:S OB) backtrace регистры Крашит здесь Последние 5 записей в логах (сервер упал через 8 секунд после последней записи в логах, sv_logflush включен) Диапазон адресов библиотек во время краша Дизассемблерная часть кода в месте краша UNIX SIGNAL Program terminated with signal 7, Bus error. Dereference _________ И да, ещё как-то репортили на форуме, что с последней версией крашит, если есть расширение connect - действительно крашило даже с UseConectSM=true. Я просто тогда снесла расширение. |
bir3yk |
24 марта 2023 19:04
Сообщение #2
|
Легенда
Репутация: 261 Группа: Администраторы Сообщений: 1607 Регистрация: 7.11.2012 Предупреждения: |
eisgottin,
если по быстрому, это не ошибка эмулятора :) краш происходит в #0 0x00f78d1c in CBaseServer::ProcessConnectionlessPacket(netpacket_s*) () from /home/games/cstrike/classic/bin/engine_srv.so где то в этом месте(код староват, но может он и не менялся для css): bool CBaseServer::ProcessConnectionlessPacket(netpacket_t * packet) { bf_read msg = packet->message; // handy shortcut char c = msg.ReadChar(); if ( c== 0 ) { return false; } switch ( c ) { case A2S_GETCHALLENGE : { int clientChallenge = msg.ReadLong(); ReplyChallenge( packet->from, clientChallenge ); } break; case A2S_SERVERQUERY_GETCHALLENGE: ReplyServerChallenge( packet->from ); break; case C2S_CONNECT : { char cdkey[STEAM_KEYSIZE]; char name[256]; char password[256]; char productVersion[32]; int protocol = msg.ReadLong(); int authProtocol = msg.ReadLong(); int challengeNr = msg.ReadLong(); int clientChallenge = msg.ReadLong(); // pull the challenge number check early before we do any expensive processing on the connect if ( !CheckChallengeNr( packet->from, challengeNr ) ) { RejectConnection( packet->from, clientChallenge, \\\\"#GameUI_ServerRejectBadChallenge\\\\" ); break; } // rate limit the connections if ( !s_connectRateChecker.CheckIP( packet->from ) ) return false; msg.ReadString( name, sizeof(name) ); msg.ReadString( password, sizeof(password) ); msg.ReadString( productVersion, sizeof(productVersion) ); // bool bClientPlugins = ( msg.ReadByte() > 0 ); // There's a magic number we use in the steam.inf in P4 that we don't update. // We can use this to detect if they are running out of P4, and if so, don't do any version // checking. const char *pszVersionInP4 = \\\\"2000\\\\"; const char *pszVersionString = GetSteamInfIDVersionInfo().szVersionString; if ( V_strcmp( pszVersionString, pszVersionInP4 ) && V_strcmp( productVersion, pszVersionInP4 ) ) { int nVersionCheck = Q_strncmp( pszVersionString, productVersion, V_strlen( pszVersionString ) ); if ( nVersionCheck < 0 ) { RejectConnection( packet->from, clientChallenge, \\\\"#GameUI_ServerRejectOldVersion\\\\" ); break; } if ( nVersionCheck > 0 ) { RejectConnection( packet->from, clientChallenge, \\\\"#GameUI_ServerRejectNewVersion\\\\" ); break; } } // if ( Steam3Server().BSecure() && bClientPlugins ) // { // RejectConnection( packet->from, \\\\"Cannot connect to a secure server while plug-ins are\nloaded on your client\n\\\\" ); // break; // } if ( authProtocol == PROTOCOL_STEAM ) { int keyLen = msg.ReadShort(); if ( keyLen < 0 || keyLen > sizeof(cdkey) ) { RejectConnection( packet->from, clientChallenge, \\\\"#GameUI_ServerRejectBadSteamKey\\\\" ); break; } msg.ReadBytes( cdkey, keyLen ); ConnectClient( packet->from, protocol, challengeNr, clientChallenge, authProtocol, name, password, cdkey, keyLen ); // cd key is actually a raw encrypted key } else { msg.ReadString( cdkey, sizeof(cdkey) ); ConnectClient( packet->from, protocol, challengeNr, clientChallenge, authProtocol, name, password, cdkey, strlen(cdkey) ); } } break; default: { // rate limit the more expensive server query packets if ( !s_queryRateChecker.CheckIP( packet->from ) ) return false; // We don't understand it, let the master server updater at it. if ( Steam3Server().SteamGameServer() && Steam3Server().IsMasterServerUpdaterSharingGameSocket() ) { Steam3Server().SteamGameServer()->HandleIncomingPacket( packet->message.GetBasePointer(), packet->message.TotalBytesAvailable(), packet->from.GetIPHostByteOrder(), packet->from.GetPort() ); // This is where it will usually want to respond to something immediately by sending some // packets, so check for that immediately. ForwardPacketsFromMasterServerUpdater(); } } break; } return true; } возможно опять что то с плагинами, возможно вас спамят пакетами. |
|
Сейчас: 3 декабря 2024 20:55 |