[Release] P4F Game Server Emulator Sources

Page 3 of 6 FirstFirst 123456 LastLast
Results 51 to 75 of 144
  1. #51
    Member Regz is offline
    MemberRank
    Aug 2011 Join Date
    85Posts

    re: [Release] P4F Game Server Emulator Sources

    1>LINK : fatal error LNK1104: cannot open file 'libboost_system-vc90-mt-gd-1_47.lib'
    i still have problem with linker... how to fix this shit?

    hmm... i found how to fix this! all libs are in: boost_1_47_0\stage\lib\
    now i have other problem ;[

    1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
    1>Debug\GameServer.exe : fatal error LNK1120: 1 unresolved externals

    hmmmm... subsystem: console !!! WORKS!!! 1>GameServer - 0 error(s), 1 warning(s)

    - crash ;////
    Code:
    Unhandled exception at 0x5d66f693 in GameServer.exe: 0xC0000005: Access violation reading location 0x00000000.
    smthing wrong here:
    Code:
    	else if (argc > 1)
    	{ 
    		strcpy(JoinServerIp,argv[1]);
    		JoinServerPort = atoi(argv[2]);
    
    		strcpy(DataServerIp,argv[3]);
    		DataServerPort = atoi(argv[4]);
    
    		GameServerPort = atoi(argv[5]);
    
     		strcpy(ExDbIp,argv[6]);
    		ExDbPort = atoi(argv[7]);
    	}
    	else
    	{
    		strcpy(JoinServerIp,"127.0.0.1");
    		strcpy(DataServerIp,"127.0.0.1");
    		strcpy(DataServerIp2,"127.0.0.1");
    		strcpy(ExDbIp,"127.0.0.1");
    - when i change strcpy(ExDbIp,argv[6]); to strcpy(ExDbIp,"127.0.0.1"); works fine :)



    but okey ! New thing. ; )



    Anti DC Hack:

    Objectstruct:
    Code:
    	int AnimationTCount;
    	int AnimationPCount;
    Protocol Core:

    Code:
    			case 0x18:
    				if (gObj[aIndex].AnimationTCount != 0)
    				{
    					int AnimTick = GetTickCount() - gObj[aIndex].AnimationTCount;
    					gObj[aIndex].AnimationPCount++;
    
    						if (AnimTick > 1000){
    
    							if(gObj[aIndex].AnimationPCount > 3)
    							{
    								LogAdd("[- Tick Count -][%s][%s]- DC Hack detected", gObj[aIndex].AccountID, gObj[aIndex].Name);
    								return;	
    							}else{
    								gObj[aIndex].AnimationPCount = 0;
    							}
    						}
    				}
    				gObj[aIndex].AnimationTCount = GetTickCount();
    
    				CGActionRecv((PMSG_ACTION *)aRecv, aIndex);
    				break;

    i see verry big error ! Kirgston do you want to fix a 100% CPU Usage when Join Server is not running/connected ?
    Last edited by Regz; 19-10-11 at 03:06 PM.

  2. #52
    iNewLegend , Leo123 zolamu is offline
    Grand MasterRank
    Apr 2006 Join Date
    Холон, IsrLocation
    737Posts

    re: [Release] P4F Game Server Emulator Sources

    i want join to project i can help much and i have much free time if u need someone talk with me iNewLegend@gmail.com (msn) btw im russian

  3. #53
    Member Regz is offline
    MemberRank
    Aug 2011 Join Date
    85Posts

    re: [Release] P4F Game Server Emulator Sources

    btw. just download files and send all your changes here... ;)

  4. #54
    Newbie epmak is offline
    MemberRank
    Dec 2006 Join Date
    RussiaLocation
    19Posts

    re: [Release] P4F Game Server Emulator Sources

    dear zolamu aka leo123 all people who was in BoR not be considered as candidates to our team, sorry
    but, you can help a project in free development.

  5. #55
    Member Regz is offline
    MemberRank
    Aug 2011 Join Date
    85Posts

    re: [Release] P4F Game Server Emulator Sources

    dear zolamu aka leo123 all people who was in BoR not be considered as candidates to our team, sorry
    but, you can help a project in free development.
    nice joke. :)




    i can upload my files without:
    - GGSrv
    - CSAuth
    - SendHackLog

    if someone wants :)
    Last edited by Regz; 19-10-11 at 08:37 PM.

  6. #56
    Member access is offline
    MemberRank
    Jan 2009 Join Date
    86Posts

    re: [Release] P4F Game Server Emulator Sources

    regz upload your files :) thnx

  7. #57
    iNewLegend , Leo123 zolamu is offline
    Grand MasterRank
    Apr 2006 Join Date
    Холон, IsrLocation
    737Posts

    re: [Release] P4F Game Server Emulator Sources

    greatest thing will be if the sql class will be async (wait for answer isnt cool)

  8. #58
    Member Regz is offline
    MemberRank
    Aug 2011 Join Date
    85Posts

    re: [Release] P4F Game Server Emulator Sources

    GS without GameGuard, CSAuth, HackLogServer.
    eGS rar - Speedyshare

    - Project 4 Microsoft Visual C++ Studio 2008 Express.
    Last edited by Regz; 20-10-11 at 06:35 PM.

  9. #59
    Play4Free™ Kirgston is offline
    Grand MasterRank
    Aug 2007 Join Date
    UkrainianLocation
    526Posts

    re: [Release] P4F Game Server Emulator Sources

    What doing GGServ and CSAuth?

  10. #60
    Member Regz is offline
    MemberRank
    Aug 2011 Join Date
    85Posts

    re: [Release] P4F Game Server Emulator Sources

    nothing couse GameGuard is not used ;)

  11. #61
    Play4Free™ Kirgston is offline
    Grand MasterRank
    Aug 2007 Join Date
    UkrainianLocation
    526Posts

    re: [Release] P4F Game Server Emulator Sources

    Updated. GG Deleted. Little recode cmdline.

    SQL dont slow GS...

  12. #62
    Elite Member phit666 is offline
    Member +Rank
    Apr 2007 Join Date
    197Posts

    re: [Release] P4F Game Server Emulator Sources

    Are you sure genius?

  13. #63
    Member Regz is offline
    MemberRank
    Aug 2011 Join Date
    85Posts

    re: [Release] P4F Game Server Emulator Sources

    i have new thing! We can all MsgBox() to cout... its a console application! ; )






    hmm i see you dont removed CSAuth ! CSAuth is a part of GG look there !

    Code:
    #if (CSAUTH_VERSION==2)
    	DWORD dwGGErrCode = InitGameguardAuth("", OBJMAXUSER);
    
    	if ( dwGGErrCode != 0 )
    	{
    		MsgBox("Failed initialization of GameGaurd !!! , Error: %d", dwGGErrCode);
    		return;
    	}
    #endif
    Use to orginal command line args from 1.00.90 GS:
    Code:
    127.0.0.1 55970 127.0.0.1 55960 55901
    look on error !

    Code:
    if (argc > 0 && argc < 8)
    its bad thing... if( argc == 7) will be nice ;)
    Last edited by Regz; 21-10-11 at 05:01 AM.

  14. #64
    Play4Free™ Kirgston is offline
    Grand MasterRank
    Aug 2007 Join Date
    UkrainianLocation
    526Posts

    re: [Release] P4F Game Server Emulator Sources

    Quote Originally Posted by phit666 View Post
    Are you sure genius?
    Yep im sure. I know where the bottleneck.

    2 Regz

    I'm sorry I was tired

    gNSerialCheck needed? And what they do? =)

  15. #65
    Member access is offline
    MemberRank
    Jan 2009 Join Date
    86Posts

    re: [Release] P4F Game Server Emulator Sources

    only data anD join server needed?
    Last edited by access; 21-10-11 at 09:53 AM.

  16. #66
    Member Regz is offline
    MemberRank
    Aug 2011 Join Date
    85Posts

    re: [Release] P4F Game Server Emulator Sources

    no. connectserver, exdb and chatserver(but i dont know why?).

    gNSerialCheck is checking a serial of a socket/main? - usable ;)


    -- in subject of database... we can move files to mysql :)

    2Pac - Changes - YouTube
    Last edited by Regz; 21-10-11 at 08:50 PM.

  17. #67
    Elite Member kinder32 is offline
    Member +Rank
    Sep 2008 Join Date
    ArgentinaLocation
    135Posts

    re: [Release] P4F Game Server Emulator Sources

    Quote Originally Posted by Regz View Post
    no. connectserver, exdb and chatserver(but i dont know why?).

    gNSerialCheck is checking a serial of a socket/main? - usable ;)


    -- in subject of database... we can move files to mysql :)

    2Pac - Changes - YouTube
    bcz its a GAMESERVER EMULATOR, not a muserver emulator.

  18. #68
    Member Regz is offline
    MemberRank
    Aug 2011 Join Date
    85Posts

    re: [Release] P4F Game Server Emulator Sources

    yup but gameserver can have all things in one .exe file if coder is on high level of coding ;D

  19. #69
    Play4Free™ Kirgston is offline
    Grand MasterRank
    Aug 2007 Join Date
    UkrainianLocation
    526Posts

    re: [Release] P4F Game Server Emulator Sources

    o_O its full MuServer Emulator -_- check repository. DataServer and Authorization included.

    Quote Originally Posted by Regz View Post
    yup but gameserver can have all things in one .exe file if coder is on high level of coding ;D
    No =) if coder have high knowledge they dont do one .exe file. Creating a single file Server is very big architecture mistake

  20. #70
    Member Regz is offline
    MemberRank
    Aug 2011 Join Date
    85Posts

    re: [Release] P4F Game Server Emulator Sources

    yup but 1 app can have many threads ;)...

  21. #71
    Newbie epmak is offline
    MemberRank
    Dec 2006 Join Date
    RussiaLocation
    19Posts

    re: [Release] P4F Game Server Emulator Sources

    killbrum is right... threads not solve the problems. We have already thought about it more than once.

  22. #72
    Member Regz is offline
    MemberRank
    Aug 2011 Join Date
    85Posts

    re: [Release] P4F Game Server Emulator Sources

    hmmm... okey but... when i have a good multiplayer game i can run a game and run the server ingame! server can use a database when i playing and connected players dont have a lags... ; )

    Mu Online is simple game and i think you dont need a many apps... you have max. 500 online on the server...




    Code:
    BOOL CItem::IsItem() // Good
    {
    	if (this->m_Type < 0)
    	{
    		return 0;
    	}
    	else
    	{
    		return 1;
    	}
    }
    
    //------------------------------------------------------------
    
    int CItem::IsSetItem() // Good
    {
    	if (this->m_Type < 0)
    	{
    		return 0;
    	}
    	else
    	{
    		return this->m_SetOption & 3;	// Limit of the SetItem
    	}
    }
    if (this->m_Type < 0) <- here is crash

    - smthng wrong here when you kill kundun !




    i think about libxml...
    Spoiler:
    Code:
    <worlds>
    	<world id="0" stream="..\\data\\worlds\\Terrain1.att" />
    	<world id="1" stream="..\\data\\worlds\\Terrain2.att" />
    	<world id="2" stream="..\\data\\worlds\\Terrain3.att" />
    	<world id="3" stream="..\\data\\worlds\\Terrain4.att" />
    	<world id="4" stream="..\\data\\worlds\\Terrain5.att" />
    	<world id="5" stream="..\\data\\worlds\\Terrain6.att" />
    	<world id="6" stream="..\\data\\worlds\\Terrain7.att" />
    	<world id="7" stream="..\\data\\worlds\\Terrain8.att" />
    	<world id="8" stream="..\\data\\worlds\\Terrain9.att" />
    	<world id="9" stream="..\\data\\worlds\\Terrain10.att" />
    	<world id="10" stream="..\\data\\worlds\\Terrain11.att" />
    	<world id="11" stream="..\\data\\worlds\\Terrain12.att" />
    	<world id="12" stream="..\\data\\worlds\\Terrain12.att" />
    	<world id="13" stream="..\\data\\worlds\\Terrain12.att" />
    	<world id="14" stream="..\\data\\worlds\\Terrain12.att" />
    	<world id="15" stream="..\\data\\worlds\\Terrain12.att" />
    	<world id="16" stream="..\\data\\worlds\\Terrain12.att" />
    	<world id="17" stream="..\\data\\worlds\\Terrain12.att" />
    	<world id="18" stream="..\\data\\worlds\\Terrain19.att" />
    	<world id="19" stream="..\\data\\worlds\\Terrain19.att" />
    	<world id="20" stream="..\\data\\worlds\\Terrain19.att" />
    	<world id="21" stream="..\\data\\worlds\\Terrain19.att" />
    	<world id="22" stream="..\\data\\worlds\\Terrain19.att" />
    	<world id="23" stream="..\\data\\worlds\\Terrain19.att" />
    	<world id="24" stream="..\\data\\worlds\\Terrain25.att" />
    	<world id="25" stream="..\\data\\worlds\\Terrain25.att" />
    	<world id="26" stream="..\\data\\worlds\\Terrain25.att" />
    	<world id="27" stream="..\\data\\worlds\\Terrain25.att" />
    	<world id="28" stream="..\\data\\worlds\\Terrain25.att" />
    	<world id="29" stream="..\\data\\worlds\\Terrain25.att" />
    	<world id="30" stream="..\\data\\worlds\\Terrain31.att" />
    	<world id="31" stream="..\\data\\worlds\\Terrain32.att" />
    	<world id="32" stream="..\\data\\worlds\\Terrain33.att" />
    	<world id="33" stream="..\\data\\worlds\\Terrain34.att" />
    	<world id="34" stream="..\\data\\worlds\\Terrain35.att" />
    	<world id="35" stream="..\\data\\worlds\\Terrain36.att" />
    	<world id="36" stream="..\\data\\worlds\\Terrain37.att" />
    	<world id="37" stream="..\\data\\worlds\\Terrain38.att" />
    	<world id="38" stream="..\\data\\worlds\\Terrain39.att" />
    	<world id="39" stream="..\\data\\worlds\\Terrain40.att" />
    	<world id="40" stream="..\\data\\worlds\\Terrain41.att" />
    	<world id="41" stream="..\\data\\worlds\\Terrain42.att" />
    	<world id="42" stream="..\\data\\worlds\\Terrain43.att" />
    	<world id="43" stream="..\\data\\worlds\\Terrain44.att" />
    	<world id="44" stream="..\\data\\worlds\\Terrain45.att" />
    	<world id="45" stream="..\\data\\worlds\\Terrain46.att" />
    	<world id="46" stream="..\\data\\worlds\\Terrain47.att" />
    	<world id="47" stream="..\\data\\worlds\\Terrain48.att" />
    	<world id="48" stream="..\\data\\worlds\\Terrain49.att" />
    	<world id="49" stream="..\\data\\worlds\\Terrain50.att" />
    </worlds>
    Last edited by Regz; 23-10-11 at 03:07 AM.

  23. #73
    Newbie epmak is offline
    MemberRank
    Dec 2006 Join Date
    RussiaLocation
    19Posts

    re: [Release] P4F Game Server Emulator Sources

    Quote Originally Posted by Regz View Post
    i think about libxml...
    for what? O_o
    dynamic checking files (worlds) not deal?
    in config mmm... set parameter of count this words(for example)

  24. #74
    Play4Free™ Kirgston is offline
    Grand MasterRank
    Aug 2007 Join Date
    UkrainianLocation
    526Posts

    re: [Release] P4F Game Server Emulator Sources

    Sorry now i havent much time but i try to update =)

    Why you think what GS crash in if (this->m_Type < 0) ??

  25. #75
    Member Regz is offline
    MemberRank
    Aug 2011 Join Date
    85Posts

    re: [Release] P4F Game Server Emulator Sources

    i dont know ;)...
    someone tested crywolf event? ;>




    My Feather Mix:

    Code:
    BOOL ThirdWingLevel1ChaosMix(LPOBJ lpObj)
    {
    
        /////////////////////////////////////////////////////////////////////////////
        // Ustalamy poczatkowe wartosci                                            //
        /////////////////////////////////////////////////////////////////////////////
    
        lpObj->ChaosLock = TRUE;    // Blokujemy Chaos Box
    
        int WingCount            = 0;
        int ChoasGemCount        = 0;
        int BundleOfSoulCount    = 0;
        int JewelOfCreationCount = 0;
        int SetItemCount         = 0;
        int WingIndex            = -1;
        int iChaosMoney          = 0;
        int iCharmOfLuckCount    = 0;
    
        /////////////////////////////////////////////////////////////////////////////
        // Pobranie potrzebnej ilosci zen                                          //
        /////////////////////////////////////////////////////////////////////////////
    
    
        int nChaosNeedMoney = 1200000;
        int iChaosTaxMoney = (int)((__int64)nChaosNeedMoney * (__int64)g_CastleSiegeSync.GetTaxRateChaos(lpObj->m_Index) / (__int64)100);
    
        if ( iChaosTaxMoney < 0 )
        {
            iChaosTaxMoney = 0;
        }
    
        nChaosNeedMoney += iChaosTaxMoney;
    
        if ( nChaosNeedMoney < 0 )
        {
            nChaosNeedMoney = 0;
        }
    
        if ( lpObj->Money < nChaosNeedMoney )
        {
            pMsg.Result = CB_NOT_ENOUGH_ZEN;
            
            DataSend(lpObj->m_Index, (BYTE *)&pMsg, pMsg.h.size);
            lpObj->ChaosLock = FALSE;
    
            return FALSE;
        }
    
        /////////////////////////////////////////////////////////////////////////////
        // Pobranie zawartości pralki                                              //
        /////////////////////////////////////////////////////////////////////////////
    
        for ( int n=0;n<CHAOS_BOX_SIZE;n++)
        {
            // sprawdzamy czy pole to na pewno przedmiot
            if ( lpObj->pChaosBox[n].IsItem() == TRUE )
            {
    
                if ( (lpObj->pChaosBox[n].m_Type >= ITEMGET(12,3) && lpObj->pChaosBox[n].m_Type <= ITEMGET(12,6))) 
                {
                    if ( lpObj->pChaosBox[n].m_Level >= 9 && lpObj->pChaosBox[n].m_Option3 >= 1 )
                    {
                        WingCount++;
                        WingIndex = n;
                    }
                }
                else if ( lpObj->pChaosBox[n].m_Type == ITEMGET(13,30) ) // Cape of lord
                {
                    if ( lpObj->pChaosBox[n].m_Level >= 9 && lpObj->pChaosBox[n].m_Option3 >= 1 )
                    {
                        WingCount++;
                        WingIndex = n;
                    }
                }
                else if ( lpObj->pChaosBox[n].m_Type == ITEMGET(12,15) ) // Chaos
                {
                    ChoasGemCount++;
                }
                else if ( lpObj->pChaosBox[n].m_Type == ITEMGET(12,31) ) // Bundle of Soul
                {
                    BundleOfSoulCount++;
                }
                else if ( lpObj->pChaosBox[n].m_Type == ITEMGET(14,22) ) // Jewel of Creation
                {
                    JewelOfCreationCount++;
                }
                else if ( lpObj->pChaosBox[n].m_Type == ITEMGET(14,53) ) // Charm Of Luck
                {
                    iCharmOfLuckCount += (int)lpObj->pChaosBox[n].m_Durability;
                }
                else if ( lpObj->pChaosBox[n].IsExtItem() == FALSE ) //Non Exc Item
                {
                    if ( lpObj->pChaosBox[n].m_Level >= 7 && lpObj->pChaosBox[n].m_Option3 >= 1 )
                    {
                        if ( gSetItemOption.IsSetItem(lpObj->pChaosBox[n].m_Type) != FALSE ) //Set Item
                        {
                            SetItemCount++;
                            iChaosMoney += lpObj->pChaosBox[n].m_BuyMoney;
                        }
                    }
                }
            }
        }
    
        /////////////////////////////////////////////////////////////////////////////
        // Ustawienie nagłówka błędu                                               //
        /////////////////////////////////////////////////////////////////////////////
    
        PMSG_CHAOSMIXRESULT pMsg;
    
        PHeadSetB((LPBYTE)&pMsg.h, 0x86, sizeof(PMSG_CHAOSMIXRESULT));
        pMsg.Result = CB_ERROR;
    
        /////////////////////////////////////////////////////////////////////////////
        // Test 01                                                                 //
        /////////////////////////////////////////////////////////////////////////////
    
        if ( WingCount            == 1 && JewelOfCreationCount == 1 && 
             ChoasGemCount        == 1 && BundleOfSoulCount    == 1 &&
             JewelOfCreationCount == 1 && SetItemCount         == 1    )
        {
    
            if ( Random(0,99) < 100 )
            {
    
                // Czyscimy Chaos Goblina
                for (int n=0;n<CHAOS_BOX_SIZE;n++)
                {
                    lpObj->pChaosBox[n].Clear();
                }
    
                // Tworzymy przedmiot !!!
                int iItemType    = 13;
                int iItemSubType = 53;
    
                int iWingNum = ITEMGET(iItemType, iItemSubType);
            
                ::ItemSerialCreateSend(lpObj->m_Index, -1, 0, 0, iWingNum, 0, 0, 0, 0, 0, -1, 0, 0);
                ::gObjInventoryCommit(lpObj->m_Index);
                
                LogAdd("[ThirdWing Mix][Level 01] [%s][%s] CBMix Success %d Money : %d-%d, CharmRate : %d",
                lpObj->AccountID, lpObj->Name, lpObj->ChaosSuccessRate, lpObj->Money, nChaosNeedMoney, iCharmOfLuckCount);
    
                return TRUE;
    
            }else{
    
                lpObj->Money  -= nChaosNeedMoney;
                g_CastleSiegeSync.AddTributeMoney(iChaosTaxMoney);
                GCMoneySend(lpObj->m_Index, lpObj->Money);
    
                // Czyscimy Chaos Goblina
                for (int n=0;n<CHAOS_BOX_SIZE;n++)
                {
                    lpObj->pChaosBox[n].Clear();
                }
    
                GCUserChaosBoxSend(lpObj, 0);
                DataSend(lpObj->m_Index, (BYTE *)&pMsg, pMsg.h.size);
                
                LogAdd("[ThirdWing Mix][Level 01] [%s][%s] CBMix Fail %d Money : %d-%d, CharmRate : %d",
                lpObj->AccountID, lpObj->Name, lpObj->ChaosSuccessRate, lpObj->Money, nChaosNeedMoney, iCharmOfLuckCount);
        
                lpObj->ChaosLock = FALSE;
    
                return FALSE;
    
            }
    
        }else{
    
                lpObj->Money  -= nChaosNeedMoney;
                g_CastleSiegeSync.AddTributeMoney(iChaosTaxMoney);
                GCMoneySend(lpObj->m_Index, lpObj->Money);
    
                lpObj->ChaosLock = FALSE;
                pMsg.Result = CB_INCORRECT_MIX_ITEMS;
                DataSend(lpObj->m_Index, (BYTE *)&pMsg, pMsg.h.size);
    
                return FALSE;
        }
    
    }
    - look here: Random(0,99) < 100 you have change 100 to mix success %







    Fix for GM Attack:


    find all

    Code:
    if ( !IsGM(aIndex) || GMAttack )
    change to

    Code:
    //if ( !IsGM(aIndex) || GMAttack )
    or remove :)





    HOW TO BLOCK AUTOKILL? (SERVER SIDE)
    Last edited by Regz; 24-10-11 at 07:12 AM.



Page 3 of 6 FirstFirst 123456 LastLast

Advertisement