Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: SHOW PING AND FPS - kayito/takumi12  (Visto 23925 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline kayito Posteado: January 14, 2020, 12:16:58 PM | Modificado: July 31, 2020, 11:08:31 AM by kayito

  • MAESTRO

  • US. DE HONOR

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.086
  • Gracias recibida: 20316
  • ar
Buenas, con tal de mejorar el post recopilé lo posteado por takumi12 sobre ping y fps.





Créditos:
-kayito
-takumi12

Gracias:

tuyentc, quanhongle, teza123, CristianMain, carlos98costa, hicky, hieu95, resistant, bigrealtk92, lordbitz, MaykelSama, ggdibe, nacho,ignacio, tatopatito, gohancs, ledemkhoc, survivor2019, k33n00, Evangelio, pokimon, Lotto4K4k, todon, iRvX, MMOTOP100, makyntosh, tupa110, golias14, somlee, hoangcungclub, Seya, ankini, stanger777, king992253, walassi12, BaTmaaN, LuisGaming, huantc2000, vietbang, toniex, tutu100, Demian25, Bladimir1, Mallia123, Kaerzon, ansher006, bruno.castro, Adan123, phuongcuongmsqm, ruojing, amadeusx2, ssmunet, Eureka26, nelson, gnlgaspar00, zurect, blacksexy, Goplay, khangdz19, giveusatan, GriffithGrim, formlovefern12, nyanha, KenZ, Domedica, gega, jeuzinn, Memo1991, Xavi, JhonaTanLR, vds130297, lFlasHerp, Watuyusei, kelubi1980, xlockee, alejandroxd17, gambasoxd, agusavila0, Survivorx2, razvan123, vnfiac, anderson2702, ellite3, PowerNet, lucasaraujo2002, projectmu, Darckz, chipcoidj, Zike, b0n3v, mauri64, vinixv250, LoKur4, yCris, gustavogzs, dreikfranco, Memo1968, osvaldotl, castiel00029, lahn, sworken, manugaby1, darkes607, 4312204, testaccount, nhantac, skhirtlo, joaovithor1, Xysad, hellboycp33, Diiego265, ezesosa, OBBY, havanna, pnicacio, ElTachii, jeffzkie69, S!ngle, muzealot, waynemartins, hald22, carper, ProTecno, Ryzenn, BRAYANMF93, BDCAM, ArcaneMU, erickmalfoy, wallaceh, obzk123, xXoscarxX, orl4nd1, nhatphai21996vn, anderinho, kslobao, nescafe, kellington, djkaku, sebadotero, e911217, josejose, muisrael, dakosmu, kingofmubn, Marceliin, Saige, justchaaos, PachoRasta, alyen, dasgrid, komandirbk, victhorinox, DEATH, Viper, gffranzoni, eraclio1, kryptongamer, WaZe, kkristan, myway, DjGamer, 2str0kE, allansfc, ratburat, rivenxx, Ponteleymon, mangal, DarkNite, antonionni, Manchas87, guibrooly, SmokerZ, thekillrj, MDDM, stewart99, muccone, warrior, nilomaster, srboga, pagoga, Mizuki, Franco2022, arraycoder, camxano1, concac123, douglera21, wiljipa, thziin, GabrielDev, goliloco, roie, chimcopro, nofeara, Nelsinhohj, Shellshock, winzcpe, FIESTERO, nicolas65, UnCleanOne, josecola, Sergio Franco, muzin, kove0816, iCoder, mantios, llZeuzll, stopk, vipgale01, HayllanderBR, skinmuonline, snowking, TeamCB, tkstriker, ImportedPotato, ProGuard, Wikka, weberson, algo55, wnz5678, mengzky0514, hinetworks, victorrz17, majoca10, glmmlg, liron003, ElNico, haziel, Imperius.Server, roilopez95, son1xx2, lRavenl1, castle, mnlfrd1007, Axelfvm, mugloves99, NghienMU, chauttc, awayvn, Argentuc, Darki12345, FOX, erau805, chodaicam, LuciferXT, Erick05, heroviet2301, Shaper, Mazepa, libbers, linkvas12, GuilhermeSouza, barteo, RAGNAR111, wasj5299, Specifier, k4b1b4, Betell Host, LABMU, alexfy, anh1pk, zodiacobr, Macêdo, Roccket, ADM-OMEGA, canxivtp, datkool, 308508743, birdy491, azgames, guntherdo, tuyendam, reiker20, Dieguinho, qixar, besiktas, TryMenow, mudevsbr, ynskpaso, lstuan, zhangjianle865, TioMostaza, -MitSuki-, generationmu, kennypc, max1musn1, AmericaHost, wongda, usersa, rando, mittosaker, HaPKoTuK, awebravo, MADRUGA, coco87, lunaticodeveloper, Gordon, hinam.97, JYachelini, araquito90, j04k1t0, Yuntao, zzhoadazz, kimera, rtg21, vcore30, flakita23, mubongma, moster147, llhenryxpxx, hevj, harry130, neeck1234, jhnjohnny, asdasdasd, Percy, Hirsbaggen, Dragonvl15, idpnguyeni, showmax, kokistone7, Dario164, h3yShOk, dnetford, felpsmartins, Dizzy, djean147, vantuan02hn, thanhdopc93, nnDoug, mumadryn, caron22, tiendoanit, mattihi1mi, deathsquad, wizzard, MsotoC, jaime, nhanphu200, emerson2004, GameNet, spk1000, Thor Host, qgamers, vltmxkcldh, Van_Bom, martin castro, darkroh, roxtste, SHENii, Flash, mrchebu1990, grgonza, vaggelis22, rayurik, sowcito, Tomsky75, draco425, goodsfire, LionRooT, shangxin, waltervg91, vitrex, azpirin4, PhantomKr, weverton233, Daniel@, pulsefire, RafhaelSouza2, GabrielDevel, CorsarioDgx, yhoon, igznoth, nguqua, phuongduc91, Storkl, Shrimp, vltmxhf, leilo2000, alefmello166, systemsmag, cobyzero, calabocajea, victormvw, BladeKnight109, Liaon, ์Nightz, lramon, gicorox, Feche, lcthesecond, tornado10, nonnan005, dami2214, Tester1838a, chechu131, geer, elmaxis1, drakonusjs, luciferlg, Kosh, Aguila, realman, jarteagaa, ailsoncost, sannea, Higgs, kahleb, Nakamura, ilpetit, DIOSES, Jean LR, guigonvg, demmian2, Genilson23, kangsookhi, FePRO, walkeny, ofignacio, CuriosoGame, gamezard, donciukas14, ddoadm, saske98, smallz170, leones55, dulsmile, xz18786628, AzuraServers, rodriiigo, maxiu10, briner2016, Skillz, pquintal, dark32, elson, DarkovaX, Yan Carlos, NoobDK, k12leito, iggfree, vlgtre, GLpendeex, Exclusive88, Odisk, reveage, kallixtho, seedmaker, wagnii, neicer, elibelash, mlegion, barak1991, DeilanSasame, korron, Lucyan, plyn, pkdomal, AZURE, boylasd, Iямαηɗαɗ ☠, manfromvn, ProNexT, jangaka1, alfs, nguyechien5520, christoferdz, nemesis28, ConejoMalo, Plate98, dun63on, faelhs, InFamous, boncha, zedia93, reonu, boris160, mrhung95, Dariox84, RyukZ, jorginhuz, aetgaming, Rastacode, dhaomao, sadamladen, shonyemi, kemokemo21, zeruskill, stark98, JavixFer, SaintZeus, matheusgom, gauyeutho, Vitaminka, 6atters, mechaloco, ZTMarkz, maphewxander, tcbaoanh, votam2x, Robins, mavine, Fanta91, shizen, kksky, thienthan1117, imswa, mastermcy, longcon, kentuxo180, theanh27, agtanalata, tangyi90, judakiss21, dlawls662, Berlan Barbalho, python, laulinh2, onlinezajzaj, datos32, mcalbert1, Keko, universalmu4, Jey, TzCr4ck, TheKing027, davidrcj, hfhmu, leoferrarezi, Crowley, tdthanh95, FuriaG, Pyke, kaisudo, mustx1, mckjohan2019, KhongGianOL, artem, beibei, tarikata, XCodeCorp, vnshell, bloppey, mario2015, RafaMaster, takumi12, alexytoo, powerpatic, markos182, Yasser, xxmenonxx, locodka, gabrielgsp, modaxd, juan1997, manowwan1, rickscp, romariols, andreyzz, Peluuca, fivqt, samsunggon, santos, jeferson, fengyun52894, duodie, becoloko, cantinfla2, lostcross, zlethanhlong, npt.formu, xtestx, thanhbinhqht, Ryuno, jerson13, malke, dainam, thunwa1, emersonx13, LeeHenry, Azzlaer, kaiocnx, dark, comelon666, gacon201294, spartacus, iSh4dow, away337159, T-LEGENDARY, cienfuegos, luckydead, 161012, Felipe0211, s00x, tcbagame, vcsoftware, heroes1412, MichaelC, Kitty, sagat202, MaxVoll, fer1992, vnz55555, knight.php, herjuni, dahouzi, beecubin, jhonhy, c4nhsatcodong, Phoenix666, Kroud, hiep, axeman192, 123qwe, SetecSoft, GX_KYO, gredy, louis, Zeus, Hoangsy99, dizzys, chuckhai, digimoncik, cri0, repiolaa, LTP Team, higlans, djagripnos, RafhaelSouza, Karuritoku, NasLy, dieguitox, Kapocha33, IvanZeta, favgames, Nexus, Lude, Sentinela, dreamboy7, melo920, muzic25, TrystVenerious, ZabiinoOo, trkgncmg, 183358, iuryxd, AreS, Cartman, Shaman, kind, clockbooster, Wendigo

Offline IvanZeta #1 Posteado: January 14, 2020, 02:31:43 PM

  • 0 puntos por ventas
  • *
  • Rank: Dedicado
  • Posts: 55
  • Gracias recibida: 18
  • ar
¿Hay una guía para esto? Pregunto porque soy nuevo en todo esto 😂


Offline dizzys #2 Posteado: January 14, 2020, 05:21:30 PM

  • 0 puntos por ventas
  • *
  • Rank: Usuario activo
  • Posts: 70
  • Gracias recibida: 10
  • be
Its really good! Thank you! What about FPS?


Offline kayito #3 Posteado: January 14, 2020, 05:45:02 PM

  • MAESTRO

  • US. DE HONOR

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.086
  • Gracias recibida: 20316
  • ar
Its really good! Thank you! What about FPS?

Check LTP Team Source, i think there is something about that


Offline GX_KYO #4 Posteado: January 14, 2020, 06:41:02 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 336
  • Gracias recibida: 2842
  • pe
Solo lo acabo de ojear, aun ni lo implemento lol

Code: [Select]
if (GetTickCount() >= pingCheck + 1000)

Si no me equivoco ahi esta especificando que se actualice cada 1000 mili-segundos que vendrían a ser 1 segundo XD, debería bastar con disminuir ese valor para cambiar el tiempo de actualización, si quieren lo prueban que ando con flojera en el Dota :V

Killing me one breath at a time... Cutting you with my pair of lives... So go on and lay me down to rest, You make it painless, painless!
I can't... I can't... I can't...
I can't feel ANY PAIN!

Gracias:


Offline kayito #5 Posteado: January 14, 2020, 06:56:30 PM

  • MAESTRO

  • US. DE HONOR

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.086
  • Gracias recibida: 20316
  • ar
Solo lo acabo de ojear, aun ni lo implemento lol

Code: [Select]
if (GetTickCount() >= pingCheck + 1000)

Si no me equivoco ahi esta especificando que se actualice cada 1000 mili-segundos que vendrían a ser 1 segundo XD, debería bastar con disminuir ese valor para cambiar el tiempo de actualización, si quieren lo prueban que ando con flojera en el Dota :V

Exacto, es lo que aclaré en el post que se actualiza cada 1 segundo. Si le ponés menos tiempo, hace los pedidos más seguidos al gameserver, por lo tanto consume más red (aunque no deja de ser poca)


Offline axeman192 #6 Posteado: January 14, 2020, 07:30:06 PM

  • 3D Maker
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 275
  • Gracias recibida: 12505
  • vn
Interface.h
Code: [Select]
struct PMSG_PING
{
PBMSG_HEAD h;
};
Tiene que estar en Protocol.h?


Offline kayito #7 Posteado: January 14, 2020, 07:57:40 PM

  • MAESTRO

  • US. DE HONOR

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.086
  • Gracias recibida: 20316
  • ar
Interface.h
Code: [Select]
struct PMSG_PING
{
PBMSG_HEAD h;
};
Tiene que estar en Protocol.h?

Puede estar en cualquier parte del código, siempre y cuando lo importes o lo declares en el mismo cpp que lo vayas a usar. Yo lo puse en protocol.h porque tengo otra función más dentro de protocol que usa ese mismo pero con más datos


Offline favgames #8 Posteado: January 14, 2020, 10:19:47 PM

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 102
  • Gracias recibida: 2279
  • br
Error al compilar el código. Falta algo de código! Por favor revise el código publicado


Offline kayito #9 Posteado: January 14, 2020, 11:07:52 PM

  • MAESTRO

  • US. DE HONOR

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.086
  • Gracias recibida: 20316
  • ar
Error al compilar el código. Falta algo de código! Por favor revise el código publicado

Si struct PMSG_PING se encuentra en "Protocol.h"

Agregue #include "Protocol.h" en Interface.cpp

Gracias:


Offline hiep #10 Posteado: January 15, 2020, 10:00:14 AM

  • 0 puntos por ventas
  • *
  • Rank: Dedicado
  • Posts: 41
  • Gracias recibida: 181
  • vn


He seguido todo pero no funciona?
mal donde


Offline hiep #11 Posteado: January 15, 2020, 10:01:01 AM | Modificado: February 15, 2020, 03:54:19 PM by ZabiinoOo

  • 0 puntos por ventas
  • *
  • Rank: Dedicado
  • Posts: 41
  • Gracias recibida: 181
  • vn

Offline LTP Team #12 Posteado: January 15, 2020, 11:51:44 AM

  • C++ Coder
  • 0 puntos por ventas
  • *
  • *
  • Rank: Liga mayor
  • Posts: 196
  • Gracias recibida: 3898
  • ru
Its really good! Thank you! What about FPS?

Check LTP Team Source, i think there is something about that

I don't remember that in my sources was it, but its easy to do


Offline favgames #13 Posteado: January 15, 2020, 12:13:01 PM

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 102
  • Gracias recibida: 2279
  • br
Puse el código exactamente igual y no se compila
Source main S8 Louis UPD13 + Source Ping : https://mega.nz/#!NUsmxAjY!aCDVbsfHsgJGeGs8QLCumFsN_AObR9ilDXadTJbmlS4


línea con error :    this->DrawFormat(eWhite, 550, 10, 120, 1, gInterface.ServerPing);


Offline T-LEGENDARY #14 Posteado: January 15, 2020, 03:11:24 PM

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 771
  • Gracias recibida: 12033
  • br

Gracias:


Offline kayito #15 Posteado: January 15, 2020, 03:43:22 PM | Modificado: January 15, 2020, 03:47:11 PM by kayito

  • MAESTRO

  • US. DE HONOR

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.086
  • Gracias recibida: 20316
  • ar
Puse el código exactamente igual y no se compila
Source main S8 Louis UPD13 + Source Ping : https://mega.nz/#!NUsmxAjY!aCDVbsfHsgJGeGs8QLCumFsN_AObR9ilDXadTJbmlS4


línea con error :    this->DrawFormat(eWhite, 550, 10, 120, 1, gInterface.ServerPing);

Esa función viene en los files de Louis. Yo uso MuEmu base y me llevé esa función del main de louis upd13.

Code: [Select]
int Interface::DrawFormat(DWORD Color, int PosX, int PosY, int Width, int Align, LPCSTR Text, ...)
{
char Buff[2048];
int BuffLen = sizeof(Buff)-1;
ZeroMemory(Buff, BuffLen);

va_list args;
va_start(args, Text);
int Len = vsprintf_s(Buff, BuffLen, Text, args);
va_end(args);

int LineCount = 0;

char * Line = strtok(Buff, "\n");

while( Line != NULL )
{
pDrawColorText(Line, PosX, PosY, Width, 0, Color, 0, Align);
PosY += 10;
Line = strtok(NULL, "\n");
}

return PosY;
}

Its really good! Thank you! What about FPS?

Check LTP Team Source, i think there is something about that

I don't remember that in my sources was it, but its easy to do

Sorry, i think that source is in ExTeam S6 sources.  I got confused haha if you can give the source code for FPS i can add it to the main post and give you credits so everyone can put fps and ping in their clients (:


Offline GX_KYO #16 Posteado: January 18, 2020, 10:40:59 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 336
  • Gracias recibida: 2842
  • pe
Estuve probando el código y funciona... pero el numero mostrado no es la latencia (ping) que tienes con el GS (al menos a mi me pareció que no), revisando los valores que arrojaba el código (sin modificarlo en absoluto) había ocasiones en las que mostraba 0ms 13ms y valores realmente bajos, el punto es que revisando el Monitor de Recursos de Windows, me doy con la sorpresa que ninguno de los valores mostrados por el código eran iguales a los mostrados por el Monitor de Recursos de Windows, puesto que en el monitor los valores rondaban los 50ms a 130ms, permaneciendo la mayor parte del tiempo en 53ms estables, mientras que en el main se mostraban valores prácticamente random que incluso superaban los 500ms o 600ms.



Si se fijan en la foto se ve 46ms en el monitor y 438ms en el main, alguien mas probo el codigo? @kayito podrias corroborar si en tu caso funciona bien y los valores en el monitor y el main concuerdan?

Killing me one breath at a time... Cutting you with my pair of lives... So go on and lay me down to rest, You make it painless, painless!
I can't... I can't... I can't...
I can't feel ANY PAIN!

Offline kayito #17 Posteado: January 18, 2020, 10:58:17 PM

  • MAESTRO

  • US. DE HONOR

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.086
  • Gracias recibida: 20316
  • ar
Estuve probando el código y funciona... pero el numero mostrado no es la latencia (ping) que tienes con el GS (al menos a mi me pareció que no), revisando los valores que arrojaba el código (sin modificarlo en absoluto) había ocasiones en las que mostraba 0ms 13ms y valores realmente bajos, el punto es que revisando el Monitor de Recursos de Windows, me doy con la sorpresa que ninguno de los valores mostrados por el código eran iguales a los mostrados por el Monitor de Recursos de Windows, puesto que en el monitor los valores rondaban los 50ms a 130ms, permaneciendo la mayor parte del tiempo en 53ms estables, mientras que en el main se mostraban valores prácticamente random que incluso superaban los 500ms o 600ms.



Si se fijan en la foto se ve 46ms en el monitor y 438ms en el main, alguien mas probo el codigo? @kayito podrias corroborar si en tu caso funciona bien y los valores en el monitor y el main concuerdan?

Te explico cómo funciona el código:
El main guarda el tiempo actual en milisegundos y envía una señal al gameserver.
El gameserver recibe la señal y la responde.
El main recibe la señal respondida, guarda el tiempo actual en milisegundos y le resta el tiempo guardado al hacer el envío.
El main muestra ese valor que sería el tiempo que demoró en responderte el gameserver.

NO ES LO MISMO que hacer ping desde tu pc al VPS, eso ya es el tiempo de respuesta del VPS y no del GameServer, ya que el gameserver procesa otros pedidos y a veces por saturación de pedidos puede demorar más o menos en responderte entonces es problable que vos hagas ping al VPS y te figuren 50ms cuando realmente el gameserver está demorando 200ms en responderte, entonces nunca sabrías el "por qué tenés lag si el vps no tiene latencia"

Gracias:


Offline GX_KYO #18 Posteado: January 18, 2020, 11:09:12 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 336
  • Gracias recibida: 2842
  • pe
Te explico cómo funciona el código:
El main guarda el tiempo actual en milisegundos y envía una señal al gameserver.
El gameserver recibe la señal y la responde.
El main recibe la señal respondida, guarda el tiempo actual en milisegundos y le resta el tiempo guardado al hacer el envío.
El main muestra ese valor que sería el tiempo que demoró en responderte el gameserver.

NO ES LO MISMO que hacer ping desde tu pc al VPS, eso ya es el tiempo de respuesta del VPS y no del GameServer, ya que el gameserver procesa otros pedidos y a veces por saturación de pedidos puede demorar más o menos en responderte entonces es problable que vos hagas ping al VPS y te figuren 50ms cuando realmente el gameserver está demorando 200ms en responderte, entonces nunca sabrías el "por qué tenés lag si el vps no tiene latencia"

Entiendo lo que dices, pero podrías explicarme el porque hay ocasiones repetidas en las que los valores se muestran en 0ms? puesto que el calculo que hace el código debería tomar algunos ms en hacerse, y teniendo en cuenta que no tengo el server y el cliente en la misma PC ni red, es ilógico que pueda tener una latencia o tiempo de respuesta de 0ms.

PD: Si te fijas el monitor de recursos de windows no muestra la latencia con vps o server en si, sino la latencia que tiene el proceso Main.exe con la IP y Puerto del GS (55901), eso no es lo mismo que hacer un ping al vps, tomando otros juegos como referencia (dota 2, wow) puedo comprobar que la latencia mostrada por estos juegos, concuerda con la mostrada en el monitor de windows.

Killing me one breath at a time... Cutting you with my pair of lives... So go on and lay me down to rest, You make it painless, painless!
I can't... I can't... I can't...
I can't feel ANY PAIN!

Offline kayito #19 Posteado: January 19, 2020, 01:24:06 AM

  • MAESTRO

  • US. DE HONOR

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.086
  • Gracias recibida: 20316
  • ar
Te explico cómo funciona el código:
El main guarda el tiempo actual en milisegundos y envía una señal al gameserver.
El gameserver recibe la señal y la responde.
El main recibe la señal respondida, guarda el tiempo actual en milisegundos y le resta el tiempo guardado al hacer el envío.
El main muestra ese valor que sería el tiempo que demoró en responderte el gameserver.

NO ES LO MISMO que hacer ping desde tu pc al VPS, eso ya es el tiempo de respuesta del VPS y no del GameServer, ya que el gameserver procesa otros pedidos y a veces por saturación de pedidos puede demorar más o menos en responderte entonces es problable que vos hagas ping al VPS y te figuren 50ms cuando realmente el gameserver está demorando 200ms en responderte, entonces nunca sabrías el "por qué tenés lag si el vps no tiene latencia"

Entiendo lo que dices, pero podrías explicarme el porque hay ocasiones repetidas en las que los valores se muestran en 0ms? puesto que el calculo que hace el código debería tomar algunos ms en hacerse, y teniendo en cuenta que no tengo el server y el cliente en la misma PC ni red, es ilógico que pueda tener una latencia o tiempo de respuesta de 0ms.

PD: Si te fijas el monitor de recursos de windows no muestra la latencia con vps o server en si, sino la latencia que tiene el proceso Main.exe con la IP y Puerto del GS (55901), eso no es lo mismo que hacer un ping al vps, tomando otros juegos como referencia (dota 2, wow) puedo comprobar que la latencia mostrada por estos juegos, concuerda con la mostrada en el monitor de windows.

El 0ms es porque recibiste en el mismo instante que hiciste el envío, una respuesta de un envío anterior y ahí comienzan los desfaces. Básicamente yo hago un envío y antes de recibir la respuesta, hago otro envío y justo al enviarlo, al mismo tiempo recibí la respuesta del primero pero yo había guardado el tiempo del último envío, que fue posterior al anterior del que recibí la respuesta y por eso toma como que la respuesta fue para el segundo envío y ahí pone 0 ms ya que para el cliente envió y recibió literalmente sin tiempo de demora.
Eso se estabiliza y se desestabiliza según la sobrecarga del gameserver, por eso cuando publiqué el código aclaré dos cosas: Una es que no soy coder y otra es que el código puede ser mejorado por alguien que realmente esté más familiarizado con este tema, por eso te invito a dar una mejor solución ya que esto es lo mucho que logré hacer con mi poco conocimiento.

Gracias:


Offline becoloko #20 Posteado: January 23, 2020, 05:57:16 PM

  • 0 puntos por ventas
  • *
  • Rank: Dedicado
  • Posts: 39
  • Gracias recibida: 13
  • br
error .... help


vai no Main
no Protocol.cpp -> ProtocolCoreEx
no ultimo
Code: [Select]
break;
voce adiciona em baixo dele
Code: [Select]
                case 0xFF:
gInterface.DrawPing();
break;

Gracias:


Offline T-LEGENDARY #21 Posteado: January 25, 2020, 04:30:04 PM

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 771
  • Gracias recibida: 12033
  • br
@becoloko , fez muita diferença não... continua mesmo problema


Offline modaxd #22 Posteado: February 15, 2020, 02:12:01 PM

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 115
  • Gracias recibida: 1255
  • es
Disculpa eso es normal en los files de louis up13

Interface.h
Code: [Select]
struct PMSG_PING
{
PBMSG_HEAD h;
};
Tiene que estar en Protocol.h?

Puede estar en cualquier parte del código, siempre y cuando lo importes o lo declares en el mismo cpp que lo vayas a usar. Yo lo puse en protocol.h porque tengo otra función más dentro de protocol que usa ese mismo pero con más datos

Gracias:


Offline TzCr4ck #23 Posteado: February 27, 2020, 11:37:25 PM

  • 0 puntos por ventas
  • *
  • Rank: Liga mayor
  • Posts: 180
  • Gracias recibida: 90
  • ve
Disculpa eso es normal en los files de louis up13

Interface.h
Code: [Select]
struct PMSG_PING
{
PBMSG_HEAD h;
};
Tiene que estar en Protocol.h?

Puede estar en cualquier parte del código, siempre y cuando lo importes o lo declares en el mismo cpp que lo vayas a usar. Yo lo puse en protocol.h porque tengo otra función más dentro de protocol que usa ese mismo pero con más datos

Tengo exactamente el mismo problema que tu :(


Offline takumi12 #24 Posteado: March 04, 2020, 06:22:09 AM | Modificado: March 04, 2020, 09:50:27 PM by takumi12

  • MAESTRO

  • US. DE HONOR

  • LEYENDA

  • Php Coder
  • +11 puntos por ventas
  • *
  • *
  • Rank: Puto amo
  • Posts: 1.055
  • Gracias recibida: 46512
  • mx
abajo batos %u2193%u2193%u2193%u2193%u2193


Las offset no se crea, ni se destruye, solo se transforma

Gracias:


Offline takumi12 #25 Posteado: March 04, 2020, 09:21:01 PM | Modificado: March 05, 2020, 11:01:08 AM by takumi12

  • MAESTRO

  • US. DE HONOR

  • LEYENDA

  • Php Coder
  • +11 puntos por ventas
  • *
  • *
  • Rank: Puto amo
  • Posts: 1.055
  • Gracias recibida: 46512
  • mx
Para empezar esto no es Ping es RTT Modulo de transmisión de datos, muy diferente al ping.
no es el mejor código pero cumple con lo necesario

- tenía un error al iniciar el juego no se mostraba inmediatamente, esperaba un segundo para ejecutarse por primera vez.
- evita enviar solicitud al gameserver sin antes a ver recibido una respuesta.
- daba [ping/ms] en 0 entre solicitudes por el problema mencionado antes.
- se agrega barra para dar mejor apariencia

si ya tienen el código de @kayito






Las offset no se crea, ni se destruye, solo se transforma

Gracias:


Offline kayito #26 Posteado: March 05, 2020, 12:13:12 PM

  • MAESTRO

  • US. DE HONOR

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.086
  • Gracias recibida: 20316
  • ar
Para empezar esto no es Ping es RTT Modulo de transmisión de datos, muy diferente al ping.
no es el mejor código pero cumple con lo necesario

- tenía un error al iniciar el juego no se mostraba inmediatamente, esperaba un segundo para ejecutarse por primera vez.
- evita enviar solicitud al gameserver sin antes a ver recibido una respuesta.
- daba [ping/ms] en 0 entre solicitudes por el problema mencionado antes.
- se agrega barra para dar mejor apariencia

si ya tienen el código de @kayito



Muy bueno, gracias por aportar las mejoras. Como nadie fue capaz de publicar un simple código de ping, no sé si porque no saben o porque son egoístas nada más, decidí hacerlo yo a mi manera.
Respecto al RTT o Ping, yo sinceramente prefiero considerar el retardo que tiene el GameServer respecto a responderle al Cliente que considerar el retardo del VPS hacia tu PC. El VPS te puede funcionar de 10 pero si los files no cumplen, te puede decir 10ms cuando por culpa del gameserver realmente estás teniendo 500ms y nunca te enterarías cuál es el problema. Por eso preferí tomarlo por ese lado.

Gracias:


Offline takumi12 #27 Posteado: March 05, 2020, 12:18:57 PM

  • MAESTRO

  • US. DE HONOR

  • LEYENDA

  • Php Coder
  • +11 puntos por ventas
  • *
  • *
  • Rank: Puto amo
  • Posts: 1.055
  • Gracias recibida: 46512
  • mx
Para empezar esto no es Ping es RTT Modulo de transmisión de datos, muy diferente al ping.
no es el mejor código pero cumple con lo necesario

- tenía un error al iniciar el juego no se mostraba inmediatamente, esperaba un segundo para ejecutarse por primera vez.
- evita enviar solicitud al gameserver sin antes a ver recibido una respuesta.
- daba [ping/ms] en 0 entre solicitudes por el problema mencionado antes.
- se agrega barra para dar mejor apariencia

si ya tienen el código de @kayito



Muy bueno, gracias por aportar las mejoras. Como nadie fue capaz de publicar un simple código de ping, no sé si porque no saben o porque son egoístas nada más, decidí hacerlo yo a mi manera.
Respecto al RTT o Ping, yo sinceramente prefiero considerar el retardo que tiene el GameServer respecto a responderle al Cliente que considerar el retardo del VPS hacia tu PC. El VPS te puede funcionar de 10 pero si los files no cumplen, te puede decir 10ms cuando por culpa del gameserver realmente estás teniendo 500ms y nunca te enterarías cuál es el problema. Por eso preferí tomarlo por ese lado.

claro, por eso es RTT transmisión entre cliente servidor, ya que apesar de que estoy trabajando de manera local, el retardo entre lo que me responde el gameserver es de 16 ms, tomando en cuenta que estoy local, el ping es una solicitud de datos a una ip o puerto especifico, lo que aquí se hace es una solicitud de datos a un programa en ejecución, lo cual no esta mal llamar ping, y la verdad es que lo que hice fue programación básica utilizando como base lo que tu ya habías echo, nada de otro mundo, y respecto a lo que no comparten cosas como estas es porque lucran con esas ideas, desde mi punto de vista no es egoismo solo miran la oportunidad de tener un servidor único o lucrar algo, aunque no cuesta nada apoyar a mejorar algo que ya esta aportado eso si considero que sea egoismo tener el conocimiento y pasar por desapercibido temas como estos, la verdad es que lo que haces cumple con su función tal cual, pero también creo que éxiste mejores formas de hacer, no las conozco pero me imagino que si xD jajaja, igual buen aporte! :D y como siempre digo, un código sencillo pero inquebrantable


Las offset no se crea, ni se destruye, solo se transforma

Gracias:


Offline TzCr4ck #28 Posteado: March 05, 2020, 07:41:38 PM | Modificado: March 05, 2020, 09:26:24 PM by TzCr4ck

  • 0 puntos por ventas
  • *
  • Rank: Liga mayor
  • Posts: 180
  • Gracias recibida: 90
  • ve
@kayito me puedes ayudar en esto por favor? no me deja compilar :(



EDIT: Solucionado !!

Coloque

Code: [Select]
struct PMSG_PING
{
PBMSG_HEAD h;
};

en Interface.cpp justo arriba de:

Code: [Select]
void Interface::DrawPing()
{
gInterface.pingCheck = GetTickCount();
gInterface.msPing = gInterface.pingCheck - gInterface.lastSend;
}

void Interface::SendPingRecv()
{
sprintf(gInterface.ServerPing, "Ping: %d ms", gInterface.msPing);
// -----
this->DrawFormat(eWhite, 550, 10, 120, 1, gInterface.ServerPing);
// ----

if (GetTickCount() >= gInterface.pingCheck + 1000)
{
gInterface.lastSend = GetTickCount();

PMSG_PING pMsgPing;
pMsgPing.h.set(0xFF,sizeof(pMsgPing));
DataSend((BYTE*)&pMsgPing,sizeof(pMsgPing));
}
}

Espero le pueda servir a alguien que esté en lo mismo.

Gracias:


Offline kayito #29 Posteado: March 06, 2020, 10:02:56 AM

  • MAESTRO

  • US. DE HONOR

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.086
  • Gracias recibida: 20316
  • ar
@kayito me puedes ayudar en esto por favor? no me deja compilar :(



EDIT: Solucionado !!

Coloque

Code: [Select]
struct PMSG_PING
{
PBMSG_HEAD h;
};

en Interface.cpp justo arriba de:

Code: [Select]
void Interface::DrawPing()
{
gInterface.pingCheck = GetTickCount();
gInterface.msPing = gInterface.pingCheck - gInterface.lastSend;
}

void Interface::SendPingRecv()
{
sprintf(gInterface.ServerPing, "Ping: %d ms", gInterface.msPing);
// -----
this->DrawFormat(eWhite, 550, 10, 120, 1, gInterface.ServerPing);
// ----

if (GetTickCount() >= gInterface.pingCheck + 1000)
{
gInterface.lastSend = GetTickCount();

PMSG_PING pMsgPing;
pMsgPing.h.set(0xFF,sizeof(pMsgPing));
DataSend((BYTE*)&pMsgPing,sizeof(pMsgPing));
}
}

Espero le pueda servir a alguien que esté en lo mismo.

Esto

Code: [Select]
struct PMSG_PING
{
PBMSG_HEAD h;
};

Se puede colocar en cualquier archivo, simplemente hace falta realizar el include en caso de que sea un archivo externo nada más y si no reconoce el PBMSG_HEAD es porque hace falta hacer un include de protocol.h que es donde se encuentra esa definición.


Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
4 Replies
6212 Views
Last post December 14, 2021, 11:58:00 PM
by victorrz17
7 Replies
4890 Views
Last post March 17, 2023, 03:09:28 PM
by Peluuca
3 Replies
3713 Views
Last post April 26, 2025, 04:43:46 AM
by dizzys
0 Replies
1510 Views
Last post October 26, 2021, 10:07:05 AM
by victhorinox
10 Replies
10854 Views
Last post August 31, 2023, 11:48:01 AM
by NghienMU