[help] respawnfast disconnect server

Results 1 to 10 of 10
  1. #1
    Enthusiast d72911 is offline
    MemberRank
    Feb 2014 Join Date
    29Posts

    sad [help] respawnfast disconnect server

    1: do not pick up the items to death and rebirth, will not disconnect the server.2: pick up items, death and rebirth, will disconnect the server.
    Is there anyone who can help me?


  2. #2
    Account Upgraded | Title Enabled! Oosmar02 is offline
    MemberRank
    Sep 2013 Join Date
    FranceLocation
    894Posts

    Re: [help] respawnfast disconnect server

    The system is not completete ,

    Respawn fast is not destroy player entity after respawn fast ( 2 same player is same game... ) ( You can see nametag same place after first dead player ) after player leave the server , disconeted all player in proximity

  3. #3
    Enthusiast d72911 is offline
    MemberRank
    Feb 2014 Join Date
    29Posts

    Re: [help] respawnfast disconnect server

    I think it should be the server side with the client's item data is not synchronized caused by disconnect.
    But I do not know how to fix it
    Want to get help

    - - - Updated - - -

    Do not pick up items, Respawn fast is normal.If you just pick up the items, Respawn fast, after a few seconds will automatically disconnect the server

  4. #4
    Enthusiast 3v0luti0n is offline
    MemberRank
    Oct 2013 Join Date
    38Posts

    Re: [help] respawnfast disconnect server

    hmm, check in sql log name DBG_SrvLogInfo this have cause disconnect.

  5. #5
    Account Upgraded | Title Enabled! Oosmar02 is offline
    MemberRank
    Sep 2013 Join Date
    FranceLocation
    894Posts

    Re: [help] respawnfast disconnect server

    The probleme is respawnfast , is not complete in server side

  6. #6
    Enthusiast d72911 is offline
    MemberRank
    Feb 2014 Join Date
    29Posts

    Re: [help] respawnfast disconnect server

    SQL log no error

    - - - Updated - - -

    Quote Originally Posted by Oosmar02 View Post
    The probleme is respawnfast , is not complete in server side
    Can you give me the complete "respawnfast"? Thank

    - - - Updated - - -

    PHP Code:
    void obj_ServerPlayer::OnNetPacket(const PKT_C2S_ReviveFast_sn)// Respawnfast{    if (loadout_->Alive == 0)    {        //r3dOutToLog("########## n.SpawnSelect %i\n", n.SpawnSelect);        if (n.SpawnSelect == 0)// Respawn on Safezone        {                float minDst = 100000000000000.0f;                r3dPoint3D ResPawnFastPos = r3dPoint3D(0,0,0);                bool FoundSafezone = false;                obj_ServerPostBox* PostBox = NULL;                for( GameObject* obj = GameWorld().GetFirstObject(); obj; obj = GameWorld().GetNextObject(obj) )                {                    if(obj->Class->Name == "obj_PostBox")                    {                        float dst = (GetPosition() - obj->GetPosition()).Length();                        if (dst < minDst)                        {                            FoundSafezone = true;                            minDst = dst;                            PostBox = (obj_ServerPostBox*)obj;                            ResPawnFastPos = obj->GetPosition();                        }                    }                }                if (FoundSafezone == true)                {                    r3dOutToLog("Respawn fast for %s\n", userName);                    if( !IsSwimming() && killedBy != obj_ServerGravestone::KilledBy_Unknown)                    {                        // Create the gravestone.                        obj_ServerGravestone* gravestone = (obj_ServerGravestone*)srv_CreateGameObject("obj_ServerGravestone", "obj_ServerGravestone", GetPosition());                        gravestone->Init(this);                    }                    ReviveFast();                    SetLatePacketsBarrier("teleport");                    PKT_C2S_ReviveFast_s Revive;                    Revive.PlayerID = toP2pNetId(GetNetworkID());                    gServerLogic.p2pBroadcastToAll(&Revive, sizeof(Revive), true);                    if (PostBox!=NULL)                        gServerLogic.admin_TeleportPlayer(this,u_GetRandom(ResPawnFastPos.x+30.0f,ResPawnFastPos.x-30.0f),u_GetRandom(ResPawnFastPos.z+30.0f,ResPawnFastPos.z-30.0f));                    else                        gServerLogic.admin_TeleportPlayer(this,ResPawnFastPos.x,ResPawnFastPos.z);                    packetBarrierReason = "";                }                else {                        AntiAbuseclickNSZ++;                        if (AntiAbuseclickNSZ >=7)                        {                            PKT_C2S_DisconnectReq_s n2;                            gServerLogic.p2pSendToPeer(peerId_, this, &n2, sizeof(n2));                            gServerLogic.DisconnectPeer(peerId_, false, false, 0,  "Abusive clicks on respawn button");                            return;                        }                        PKT_C2S_ReviveFast_s nsfz; // no safezonez in map                        nsfz.SpawnSelect = 99;                        nsfz.PlayerID = toP2pNetId(GetNetworkID());                        gServerLogic.p2pSendToPeer(peerId_, this, &nsfz, sizeof(nsfz));                    /*PKT_C2S_DisconnectReq_s n2;                    gServerLogic.p2pSendToPeer(peerId_, this, &n2, sizeof(n2));                    gServerLogic.DisconnectPeer(peerId_, false, "SafeZone not found, Disconnecting why the player is Death");*/                }        }        else if (n.SpawnSelect == 1) // respawn Proximity        {            float minDst = 100000000000000.0f;            r3dPoint3D ResPawnFastPos = r3dPoint3D(0,0,0);            obj_ServerPlayerSpawnPoint* SpawnPoint = NULL;            for( GameObject* obj = GameWorld().GetFirstObject(); obj; obj = GameWorld().GetNextObject(obj) )            {                if(obj->Class->Name == "obj_PlayerSpawnPoint")                {                    float dst = (GetPosition() - obj->GetPosition()).Length();                    if (dst < minDst && ((obj_ServerPlayerSpawnPoint*)obj)->m_NumSpawnPoints>0)                    {                        minDst = dst;                        SpawnPoint = (obj_ServerPlayerSpawnPoint*)obj;                        //ResPawnFastPos = obj->GetPosition();                    }                }            }            r3dOutToLog("Respawn fast for %s\n", userName);            if( !IsSwimming() && killedBy != obj_ServerGravestone::KilledBy_Unknown)            {                // Create the gravestone.                obj_ServerGravestone* gravestone = (obj_ServerGravestone*)srv_CreateGameObject("obj_ServerGravestone", "obj_ServerGravestone", GetPosition());                gravestone->Init(this);            }            ReviveFast();            SetLatePacketsBarrier("teleport");            PKT_C2S_ReviveFast_s Revive;            Revive.PlayerID = toP2pNetId(GetNetworkID());            gServerLogic.p2pBroadcastToAll(&Revive, sizeof(Revive), true);            if (SpawnPoint)            {                minDst = 100000000000000.0f;                for (int i = 0; i < SpawnPoint->m_NumSpawnPoints; ++i)                {                                        r3dBoundBox spawnPtBB = SpawnPoint->m_SpawnPoints[i].GetDebugBBox();                    float dst = (GetPosition() - spawnPtBB.Center()).Length();                                        if (dst < minDst)                    {                        minDst = dst;                        ResPawnFastPos = spawnPtBB.Center();                    }                }                gServerLogic.admin_TeleportPlayer(this,ResPawnFastPos.x,ResPawnFastPos.z);            }            else {                gServerLogic.admin_TeleportPlayer(this,GetPosition().x,GetPosition().z);            }            packetBarrierReason = "";        }        else if (n.SpawnSelect == 2) // respawn group        {            if (groupID == 0)            {                AntiAbuseclickNSG++;                if (AntiAbuseclickNSG >=7)                {                    PKT_C2S_DisconnectReq_s n2;                    gServerLogic.p2pSendToPeer(peerId_, this, &n2, sizeof(n2));                    gServerLogic.DisconnectPeer(peerId_, false,false,0, "Abusive clicks on respawn button");                    return;                }                PKT_C2S_ReviveFast_s ngp; // no safezonez in map                ngp.SpawnSelect = 98;                ngp.PlayerID = toP2pNetId(GetNetworkID());                gServerLogic.p2pSendToPeer(peerId_, this, &ngp, sizeof(ngp));                packetBarrierReason = "";                return;            }            if (isGroupLeader == true)            {                r3dOutToLog("Respawn fast for %s\n", userName);                if( !IsSwimming() && killedBy != obj_ServerGravestone::KilledBy_Unknown)                {                    // Create the gravestone.                    obj_ServerGravestone* gravestone = (obj_ServerGravestone*)srv_CreateGameObject("obj_ServerGravestone", "obj_ServerGravestone", GetPosition());                    gravestone->Init(this);                }                ReviveFast();                SetLatePacketsBarrier("teleport");                PKT_C2S_ReviveFast_s Revive;                Revive.PlayerID = toP2pNetId(GetNetworkID());                gServerLogic.p2pBroadcastToAll(&Revive, sizeof(Revive), true);                gServerLogic.admin_TeleportPlayer(this,u_GetRandom(GetPosition().x+60.0f,GetPosition().x-60.0f),u_GetRandom(GetPosition().z+60.0f,GetPosition().z-60.0f));                packetBarrierReason = "";                return;            }            ///////////                for(int i=0; i<gServerLogic.curPlayers_; ++i)                {                    obj_ServerPlayer* pl = gServerLogic.plrList_[i];                    if(pl->groupID == groupID && pl->isGroupLeader == true)                    {                        r3dOutToLog("Respawn fast for %s\n", userName);                        if( !IsSwimming() && killedBy != obj_ServerGravestone::KilledBy_Unknown)                        {                            // Create the gravestone.                            obj_ServerGravestone* gravestone = (obj_ServerGravestone*)srv_CreateGameObject("obj_ServerGravestone", "obj_ServerGravestone", GetPosition());                            gravestone->Init(this);                        }                        ReviveFast();                        SetLatePacketsBarrier("teleport");                        PKT_C2S_ReviveFast_s Revive;                        Revive.PlayerID = toP2pNetId(GetNetworkID());                        gServerLogic.p2pBroadcastToAll(&Revive, sizeof(Revive), true);                        gServerLogic.admin_TeleportPlayer(this,u_GetRandom(pl->GetPosition().x+10.0f,pl->GetPosition().x-10.0f),u_GetRandom(pl->GetPosition().z+10.0f,pl->GetPosition().z-10.0f));                        packetBarrierReason = "";                        return;                    }                }        }    }} 
    - - - Updated - - -

    Respawnfast can work, but after a few seconds after the resurrection will disconnect

  7. #7
    Account Upgraded | Title Enabled! Adnan DatLife is offline
    MemberRank
    Aug 2015 Join Date
    main.cppLocation
    207Posts

    Re: [help] respawnfast disconnect server

    I think ur problem disconnect req. Remove dead player disconnect req.

  8. #8
    Enthusiast d72911 is offline
    MemberRank
    Feb 2014 Join Date
    29Posts

    Re: [help] respawnfast disconnect server

    However, if I do not pick up the item, the server will not be disconnected。
    Only I picked up the project and was disconnected from the server after the resurrection

  9. #9
    Account Upgraded | Title Enabled! Adnan DatLife is offline
    MemberRank
    Aug 2015 Join Date
    main.cppLocation
    207Posts

    Re: [help] respawnfast disconnect server

    Look at logss. Kicked player's log.

  10. #10
    Enthusiast d72911 is offline
    MemberRank
    Feb 2014 Join Date
    29Posts

    Re: [help] respawnfast disconnect server

    Has been resolved, thank you



Advertisement