/*********************************************************************** * called when initiated connection process yields a result ***********************************************************************/ void GameClient::ZCom_cbConnectResult( ZCom_ConnID _id, eZCom_ConnectResult _result, ZCom_BitStream &_reply ) { m_zoi_id = _id; m_id = _reply.getInt(32); std::string reason(_reply.getStringStatic()); std::stringstream strs; strs<<"Game Client: The connection process for: "<<m_zoi_id<<" returned with resultcode "<<_result<<", the reply was "<<reason; LogHandler::getInstance()->LogToFile(strs.str(), 2); if ( _result != eZCom_ConnAccepted ) { m_connected = false; if(reason == "") reason = "Server not reachable"; InternalWorkpile::getInstance()->AddEvent(new GameErrorMessageEvent("Problem connecting to game server " + m_servername + " - " + reason)); } else { m_connected = true; ZCom_requestDownstreamLimit(m_zoi_id, m_downpacketpersecond, m_downbyteperpacket); #ifndef _ZOID_USED_NEW_VERSION_ ZCom_requestZoidMode( m_zoi_id, 1 ); #else ZCom_changeObjectChannelSubscription( m_zoi_id, 1, eZCom_Subscribe ); #endif } }
void Server::ZCom_cbConnectionSpawned( ZCom_ConnID _id ) { console.addLogMsg("* CONNECTION SPAWNED"); ZCom_requestDownstreamLimit(_id, network.downPPS, network.downBPP); network.incConnCount(); std::auto_ptr<ZCom_BitStream> data(new ZCom_BitStream); Encoding::encode(*data, Network::ClientEvents::LuaEvents, Network::ClientEvents::Max); network.encodeLuaEvents(data.get()); ZCom_sendData ( _id, data.release(), eZCom_ReliableOrdered); }
void NetWorld::ZCom_cbConnectResult( ZCom_ConnID _id, eZCom_ConnectResult _result, ZCom_BitStream &_reply ) { if (_result == eZCom_ConnAccepted) { ZCom_requestZoidMode(_id, zU16(1)); ZCom_requestDownstreamLimit(_id, (zU16)50, (zU16)65535 ); } else { // connection failed std::cout << "Connection failed!" << std::endl; } }
/*********************************************************************** * called when initiated connection process yields a result ***********************************************************************/ void MainServerClient::ZCom_cbConnectResult( ZCom_ConnID _id, eZCom_ConnectResult _result, ZCom_BitStream &_reply ) { m_zoi_id = _id; m_id = _reply.getInt(32); std::string reason(_reply.getStringStatic()); if ( _result != eZCom_ConnAccepted ) { m_connected = false; } else { m_connected = true; ZCom_requestDownstreamLimit(m_zoi_id, m_downpacketpersecond, m_downbyteperpacket); #ifndef _ZOID_USED_NEW_VERSION_ ZCom_requestZoidMode( m_zoi_id, 1 ); #else ZCom_changeObjectChannelSubscription( m_zoi_id, 1, eZCom_Subscribe ); #endif } }
void HUServerCore::ZCom_cbConnectionSpawned(ZCom_ConnID id) { ZCom_requestDownstreamLimit(id, 60, 600); // Notice the lobby of new connection mLobby->onConnect(id); }
void Client::ZCom_cbConnectResult( ZCom_ConnID _id, eZCom_ConnectResult _result, ZCom_BitStream &_reply ) { if ( _result != eZCom_ConnAccepted ) { Network::ConnectionReply::type r = static_cast<Network::ConnectionReply::type>(_reply.getInt(8)); if(r == Network::ConnectionReply::Retry) { DLOG("Got retry from server"); network.reconnect(50); } else if(r == Network::ConnectionReply::Banned) { console.addLogMsg("* YOU ARE BANNED FROM THIS SERVER"); } else { console.addLogMsg("* COULDNT ESTABLISH CONNECTION"); } } else { network.setClient(true); ZCom_requestDownstreamLimit(_id, network.downPPS, network.downBPP); console.addLogMsg("* CONNECTION ACCEPTED"); network.setServerID(_id); network.incConnCount(); std::string mod = _reply.getStringStatic(); std::string map = _reply.getStringStatic(); game.refreshLevels(); game.refreshMods(); bool hasLevel = game.hasLevel(map); bool hasMod = game.hasMod(mod); if(!hasMod) { game.error(Game::ErrorModNotFound); //This doesn't work somewhy: network.disconnect(); //And maybe we don't want to do it since it would overwrite our error message } else if(!hasLevel) { if(network.autoDownloads) { ZCom_requestZoidMode(_id, 2); // We need to update if(!hasLevel) updater.requestLevel(map); } else game.error(Game::ErrorMapNotFound); } else { game.setMod( mod ); if(game.changeLevel( map, false ) && game.isLoaded()) { game.runInitScripts(); sendConsistencyInfo(); ZCom_requestZoidMode(_id, 1); } else { console.addLogMsg("* COULDN'T LOAD MOD OR LEVEL"); network.disconnect(); } } } }