Jump to content

callmax

Inactive Member
  • Posts

    66
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by callmax

  1. case ITEM_SKILLBOOK: { if (IsPolymorphed()) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("º¯½ÅÁß¿¡´Â Ã¥À» ÀÐÀ»¼ö ¾ø½À´Ï´Ù.")); return false; } DWORD dwVnum = 0; if (item->GetVnum() == 50300) { dwVnum = item->GetSocket(0); } else { // »õ·Î¿î ¼ö·Ã¼­´Â value 0 ¿¡ ½ºÅ³ ¹øÈ£°¡ ÀÖÀ¸¹Ç·Î ±×°ÍÀ» »ç¿ë. dwVnum = item->GetValue(0); } if (0 == dwVnum) { ITEM_MANAGER::instance().RemoveItem(item); return false; } if (true == LearnSkillByBook(dwVnum)) { ITEM_MANAGER::instance().RemoveItem1(item); int iReadDelay = number(SKILLBOOK_DELAY_MIN, SKILLBOOK_DELAY_MAX); if (distribution_test_server) iReadDelay /= 3; //Çѱ¹ º»¼·ÀÇ °æ¿ì¿¡´Â ½Ã°£À» 24½Ã°£ °íÁ¤ if (LC_IsKorea()) iReadDelay = 86400; SetSkillNextReadTime(dwVnum, get_global_time() + iReadDelay); } } break; This is for the skillbooks, but when i stack the skillbooks and i click on a 200er stack, not one book disappear, all books disappear, i'm trying to fix this since 4 hours, the only result i had is, that i think NOTHING sucks more than c++ here the RemoveItem1 Funktion (i copied the RemoveFunction cause i want only to use it for the skillbooks) void ITEM_MANAGER::RemoveItem1(LPITEM item, const char * c_pszReason) { LPCHARACTER o; if ((o = item->GetOwner())) { char szHint[64]; snprintf(szHint, sizeof(szHint), "%s %u ", item->GetName(), item->GetCount()); LogManager::instance().ItemLog(o, item, c_pszReason ? c_pszReason : "REMOVE", szHint); // SAFEBOX_TIME_LIMIT_ITEM_BUG_FIX if (item->GetWindow() == MALL || item->GetWindow() == SAFEBOX) { // 20050613.ipkn.½Ã°£Á¦ ¾ÆÀÌÅÛÀÌ »óÁ¡¿¡ ÀÖÀ» °æ¿ì ½Ã°£¸¸·á½Ã ¼­¹ö°¡ ´Ù¿îµÈ´Ù. CSafebox* pSafebox = item->GetWindow() == MALL ? o->GetMall() : o->GetSafebox(); if (pSafebox) { pSafebox->Remove(item->GetCell()); } } // END_OF_SAFEBOX_TIME_LIMIT_ITEM_BUG_FIX else { o->SyncQuickslot(QUICKSLOT_TYPE_ITEM, item->GetCell(), 255); item->RemoveFromCharacter(); } } M2_DESTROY_ITEM(item); } I hope I could get help here, I'm really fucked up with this -.-
  2. i woul'd prefer windowsfiles if the shortcuts from the cores to the share folder where working ...
  3. bool g_bNoPasspod = false; So i think this should be set to "true", or I'm wrong?
  4. Hey guys, i don't really know much about c++, but i can see that in this file, a IP gets called, this IP is hosted in peking. Does anybody know what this script especially does? #include "stdafx.h" #include "constants.h" #include "passpod.h" extern BOOL g_test_server; extern int test_server; const char ERR_STRINGS[6][32] = { "AUTH_SUCCESS" , "AUTH_FAILURE:PASSPOD_ERROR" , "AUTH_FAILURE:USER_NOT_FOUND" , "AUTH_FAILURE:SYSTEM_NOT_FOUND" , "AUTH_FAILURE:TOKEN_DISABLED" , "AUTH_FAILURE:EMPTY", }; const char ERR_MESSAGE[6][64] = { "SUCCESS", "PASERR1", "PASERR2", "PASERR3", "PASERR4", "PASERR5" }; CPasspod::CPasspod() : m_sock(INVALID_SOCKET), m_lpFDW(NULL) { } CPasspod::~CPasspod() { } int CPasspod::ConfirmPasspod( const char * account, const char * passpod ) { const char * servername = "1001"; const char * algname = "plaintext"; const char * posspod_server = "/passpod-server"; const char * auth = "/auth.s"; char szRequest[1024]; char szResult[1024]; char szTmp[128]; int ret_code = 1; // 0 ÀÌ ¼º°ø snprintf( szRequest, sizeof(szRequest), "username=%s&systemname=%s&passpod=%s&algname=%s", account, servername, passpod, algname ); snprintf( szResult, sizeof(szResult), "POST %s%s HTTP/1.0rn", posspod_server, auth ); snprintf( szTmp, sizeof(szTmp), "Host: %srn", "218.99.6.103" ); strlcat( szResult, szTmp, sizeof(szResult) ); strlcat( szResult, "Content-type: application/x-www-form-urlencodedrn", sizeof(szResult) ); snprintf( szTmp, sizeof(szTmp), "Content-length: %drn", strlen(szRequest)); strlcat( szResult, szTmp, sizeof(szResult) ); strlcat( szResult, "Connection: Closernrn", sizeof(szResult) ); strlcat( szResult, szRequest, sizeof(szResult) ); if ( !Connect( NULL ) ) { sys_log( 0, "PASSPOD : Can not connect to passpod server" ); Disconnect(); return ret_code; } int ret = socket_write( m_sock, (const char *)szResult, strlen(szResult)); sys_log( 0, "PASSPOD : Write End %s %s", account, passpod ); if ( test_server ) { sys_log( 0, "PASSPOD : %s", szResult ); } char Read[1024]; int nCount = 5; while (--nCount) { ret = recv(m_sock, Read, 1024, 0); if ( ret > 0 ) { if ( test_server ) { sys_log( 0, "PASSPOD : %d", ret ); } break; } else { if ( test_server ) { sys_log( 0, "PASSPOD : %d", ret ); } Disconnect(); return ret_code; } } sys_log( 0, "PASSPOD : Read End %s %s n %sn", account, passpod, Read ); char * pos = Read; nCount = 15; while ( --nCount ) { int n = 0; //¶óÀγѱâ±â for (; pos[n]!='n'; ++n ) {} //n¿¡¼­ ¸ØÃß±â Çϳª´õ ³²°ÜÁÖÀÚ pos = pos+n+1; //Return Value ¸¦ ºñ±³ if ( 0 == strncmp( pos, "AUTH_SUCCESS", strlen(ERR_STRINGS[0]) ) ) { ret_code = E_PASSPOD_SUCCESS; break; } if ( 0 == strncmp( pos, "AUTH_FAILURE:PASSPOD_ERROR", strlen(ERR_STRINGS[1]) ) ) { ret_code = E_PASSPOD_FAILED_PASSPOD_ERROR; break; } if ( 0 == strncmp( pos, "AUTH_FAILURE:USER_NOT_FOUND", strlen(ERR_STRINGS[2] ) ) ) { ret_code = E_PASSPOD_FAILED_USER_NOT_FOUND; break; } if ( 0 == strncmp( pos, "AUTH_FAILURE:SYSTEM_NOT_FOUND", strlen(ERR_STRINGS[3] ) ) ) { ret_code = E_PASSPOD_FAILED_SYSTEM_NOT_FOUND; break; } if ( 0 == strncmp( pos, "AUTH_FAILURE:TOKEN_DISABLED", strlen(ERR_STRINGS[4] ) ) ) { ret_code = E_PASSPOD_FAILED_TOKEN_DISABLED; break; } if ( 0 == strncmp( pos, "AUTH_FAILURE:EMPTY", strlen(ERR_STRINGS[5] ) ) ) { ret_code = E_PASSPOD_FAILED_EMPTY; break; } } sys_log(0, "PASSPOD Ret Value = %s ", ERR_STRINGS[ret_code] ); this->Disconnect(); return ret_code; } bool CPasspod::Connect( LPFDWATCH fdw ) { // m_lpFDW = fdw; if ( m_sock != INVALID_SOCKET ) { sys_err( "Sock != INVALID_SOCKET " ); return false; } m_sock = socket_connect( "218.99.6.103", 8080 ); if ( m_sock == INVALID_SOCKET ) { sys_err( "Sock == INVALID_SOCKET " ); return false; } //fdwatch_add_fd( m_lpFDW, m_sock, this, FDW_READ, false ); //fdwatch_add_fd( m_lpFDW, m_sock, this, FDW_WRITE, false ); return true; } bool CPasspod::Disconnect() { //fdwatch_del_fd( m_lpFDW, m_sock ); socket_close(m_sock); m_sock = INVALID_SOCKET; return true; } bool CPasspod::IConv( const char * src, char * desc ) { return true; }
  5. i think to know that the rule had to be like this pass in on $ext_if proto {tcp,udp} to any port $game_ports flags S/SA keep state (source-track rule, max-src-conn 30, max-src-conn-rate 15/5, overload <abusive_hosts> flush) I'm not completly sure, but i think "max-src-conn" and "conn-rate" can't take affect without sourcetrackrule
  6. It would be nice if you add a CONFIG option for setting the standart move_speed
  7. you can also compile with 9.2 or 10.0 but for 10.0 you need a lot of changes. but back to topic, it looks like perl is already installed. try it with cd /usr/port/graphics/devil && make install clean
  8. i tested the protection, low dos/ddos they dont block, (by my server the low ddos/dos get blocked by my packetfilter) but the hard ddos above at 10GB/s they get blocked by ovh. My problem everytime was that attacks about at 9,5 GB/s crashed my packetfilter. Now by kimsufi i found the optimal solution, the great attacks where blocked directly by ovh and the low attacks who aim the login server or other ports get's blocked by my packetfiler
  9. I use server from kimsufi (OVH DDoS Protection) with a packetfilter who manage the traffic (packetsize, connections, how muck packets/connections per IP and the connections time out) for my loginport, cause clown was shooting on my loginport with ess-syns, and yes the hit really hard, but it was nice to see pfctl -e loginport was free. pfctl -d loginport was immediately down. tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.64935 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.64593 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.63974 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.62760 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.61666 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.61505 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.60694 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.60592 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.60178 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.59479 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.58656 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.58267 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.56958 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.55735 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.55339 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.54133 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.53442 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.52788 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.52311 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.51040 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.50948 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.49528 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.64526 LAST_ACK tcp4 0 15 5.135.28.16.10002 erfurt-s12-i01.c.63597 LAST_ACK
  10. I'm very satisfied with kimsufi servers , ddos protection from ovh and very very cheap but good servers, I'm using the PS-23 and never a problem appeared
  11. I had the same problem, its cause your IP start's with 10. #endif char * netip = inet_ntoa(sai->sin_addr); if (!strncmp(netip, "192.168", 7)) // ignore if address is starting with 192 { strlcpy(g_szInternalIP, netip, sizeof(g_szInternalIP)); #ifndef __WIN32__ fprintf(stderr, "INTERNAL_IP: %s interface %sn", netip, ifap->ifa_name); #else fprintf(stderr, "INTERNAL_IP: %sn", netip); #endif } else if (!strncmp(netip, "10.", 3)) { strlcpy(g_szInternalIP, netip, sizeof(g_szInternalIP)); i changed the "10" to a "99", recompiled, and all works fine To the poster over me, it looks like if you are using a 64 bit system, i had at the beginning similar errors, i considerd 64 bit and now i compile on 32 bit and it works fine, if you want to use more than 4 GB Ram on your server, do it like we did it in the golden times, using 64 bit and put the libs from our 32 bit server under 64 bit in "/usr/lib32"
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.