Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: Grave Problema con dataserver y cashshop sourse Update 13  (Visto 767 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline Nexus Posteado: May 02, 2020, 07:43:15 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 351
  • Gracias recibida: 1134
  • ve
Hola mi gente, bueno como dice el titulo uso Files + sourse Update 13 de @louis . tengo un server funcionando y todo normal, pero me he dado cuenta que me esta generando cierta cantidad de errores extraños, algunos que afectan 100% el servidor.

en primera instancia el error que me lanza el dataserver es el siguiente



al percatarme de esto me dirijo a ver los logs que me genera dicho error y esto es lo que aparece

Code: [Select]
18:01:05 SELECT WCoinC,WCoinP,GoblinPoint FROM CashShopData WHERE AccountID=''A'
18:01:05 [QueryManager] State (42000), Diagnostic: [Microsoft][ODBC SQL Server Driver][SQL Server]Sintaxis incorrecta cerca de 'A'.
18:01:05 [QueryManager] State (42000), Diagnostic: [Microsoft][ODBC SQL Server Driver][SQL Server]Falta la comilla de cierre después de la cadena de caracteres ''.
18:01:05 INSERT INTO CashShopData (AccountID,WCoinC,WCoinP,GoblinPoint) VALUES (' 'A',0,0,1)
18:01:05 [QueryManager] State (42000), Diagnostic: [Microsoft][ODBC SQL Server Driver][SQL Server]Sintaxis incorrecta cerca de 'A'.
18:01:05 [QueryManager] State (42000), Diagnostic: [Microsoft][ODBC SQL Server Driver][SQL Server]Falta la comilla de cierre después de la cadena de caracteres ',0,0,1)'.
18:01:07 SELECT WCoinC,WCoinP,GoblinPoint FROM CashShopData WHERE AccountID=' 'A'
18:01:07 [QueryManager] State (42000), Diagnostic: [Microsoft][ODBC SQL Server Driver][SQL Server]Sintaxis incorrecta cerca de 'A'.
18:01:07 [QueryManager] State (42000), Diagnostic: [Microsoft][ODBC SQL Server Driver][SQL Server]Falta la comilla de cierre después de la cadena de caracteres ''.
18:01:07 INSERT INTO CashShopData (AccountID,WCoinC,WCoinP,GoblinPoint) VALUES (' 'A',0,0,1)
18:01:07 [QueryManager] State (42000), Diagnostic: [Microsoft][ODBC SQL Server Driver][SQL Server]Sintaxis incorrecta cerca de 'A'.
18:01:07 [QueryManager] State (42000), Diagnostic: [Microsoft][ODBC SQL Server Driver][SQL Server]Falta la comilla de cierre después de la cadena de caracteres ',0,0,1)'.

Luego voy a revisar la tabla CashShopData de sql y me encuentro con estas aberraciones :(





Creí que mi base del servidor estaba corrupta y me dirijo a la base limpia que tengo para pruebas instalada en lan y me encuentro con el mismo problema.




Luego me dirijo al sourse a ver cual es el problema segun me indica el log el problema deberia ser en esta seccion

Code: [Select]
void CCashShop::GDCashShopPointRecv(SDHP_CASH_SHOP_POINT_RECV* lpMsg,int index) // OK
{
#if(DATASERVER_UPDATE>=501)

SDHP_CASH_SHOP_POINT_SEND pMsg;

pMsg.header.set(0x18,0x00,sizeof(pMsg));

pMsg.index = lpMsg->index;

memcpy(pMsg.account,lpMsg->account,sizeof(pMsg.account));

pMsg.result = 0;

if(gQueryManager.ExecQuery("SELECT * FROM CashShopData WHERE AccountID='%s'",lpMsg->account) == 0 || gQueryManager.Fetch() == SQL_NO_DATA)
{
gQueryManager.Close();

if(gQueryManager.ExecQuery("INSERT INTO CashShopData (AccountID,WCoinC,WCoinP,GoblinPoint) VALUES ('%s',0,0,0)",lpMsg->account) == 0)
{
gQueryManager.Close();

pMsg.result = 1;
}
else
{
gQueryManager.Close();

pMsg.WCoinC = 0;

pMsg.WCoinP = 0;

pMsg.GoblinPoint = 0;
}
}
else
{
pMsg.WCoinC = gQueryManager.GetAsInteger("WCoinC");

pMsg.WCoinP = gQueryManager.GetAsInteger("WCoinP");

pMsg.GoblinPoint = gQueryManager.GetAsInteger("GoblinPoint");

gQueryManager.Close();
}

gSocketManager.DataSend(index,(BYTE*)&pMsg,sizeof(pMsg));

#else

SDHP_CASH_SHOP_POINT_SEND pMsg;

pMsg.header.set(0x18,0x00,sizeof(pMsg));

pMsg.index = lpMsg->index;

memcpy(pMsg.account,lpMsg->account,sizeof(pMsg.account));

pMsg.result = 1;

if(gQueryManager.ExecQuery("EXEC WZ_GetCoin '%s'",lpMsg->account) == 0 || gQueryManager.Fetch() == SQL_NO_DATA)
{
pMsg.WCoinC = 0;
pMsg.WCoinP = 0;
pMsg.GoblinPoint = 0;
gQueryManager.Close();
}
else
{
pMsg.WCoinC = gQueryManager.GetResult(0);
pMsg.WCoinP = gQueryManager.GetResult(1);
pMsg.GoblinPoint = gQueryManager.GetResult(2);
gQueryManager.Close();
}
gSocketManager.DataSend(index,(BYTE*)&pMsg,sizeof(pMsg));

#endif
}

Pero no encuentro ningún problema en este código, el caso es que han aparecido usuarios que se bugean cuando el dataserver les pone cantidades absurdas de coins y goblin, nombres locos en toda la base de  CashshopData. agradecería algún coder experimentado me ayudara con este tema.

Gracias:


Offline EmmaDCG #1 Posteado: May 02, 2020, 07:47:49 PM

  • Colaborador
  • 0 puntos por ventas
  • *
  • *
  • Rank: Puto amo
  • Posts: 751
  • Gracias recibida: 13535
  • ve
el servidor esta online con user activos?


Offline Nexus #2 Posteado: May 02, 2020, 07:49:01 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 351
  • Gracias recibida: 1134
  • ve

Offline EmmaDCG #3 Posteado: May 02, 2020, 08:00:10 PM

  • Colaborador
  • 0 puntos por ventas
  • *
  • *
  • Rank: Puto amo
  • Posts: 751
  • Gracias recibida: 13535
  • ve
el servidor esta online con user activos?

si claro esta online :(

bueno no soy programador xD, pero observando bien tu registro, noto que en la parte donde sale el ID de la cuenta hay un caracter especial



pueda que esa persona tenga un ID parecido a esto

\u2642\uFE0F  ♂️


http://www.endmemo.com/unicode/unicodeconverter.php



Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
2 Replies
1062 Views
Last post May 04, 2017, 05:14:56 PM
by Angel Olano
2 Replies
1034 Views
Last post January 20, 2018, 01:35:16 PM
by maslon
0 Replies
808 Views
Last post June 12, 2018, 03:47:49 AM
by Nexus
18 Replies
8756 Views
Last post January 25, 2024, 06:20:37 PM
by ZabiinoOo
4 Replies
2435 Views
Last post October 30, 2018, 08:18:23 AM
by Odisk