Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: SHOW PING AND FPS - kayito/takumi12  (Visto 14108 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

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





Créditos:
-kayito
-takumi12

Gracias:

4312204, testaccount, nhantac, skhirtlo, joaovithor1, Xysad, hellboycp33, Diiego265, ezesosa, OBBY, havanna, pnicacio, ElTachii, jeffzkie69, S!ngle, muzealot, waynemartins, hald22, carper, ProTecno, Ryzenn, BRAYANMF93, BDCAM, Omer, 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, Ifreat, k4b1b4, Betell Host, LABMU, alexfy, anh1pk, zodiacobr, drakulla, 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: 9
  • 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: Dedicado
  • Posts: 37
  • Gracias recibida: 4
  • be
Its really good! Thank you! What about FPS?


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

  • MAESTRO

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.035
  • Gracias recibida: 15037
  • 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: 301
  • Gracias recibida: 2153
  • 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

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.035
  • Gracias recibida: 15037
  • 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: 287
  • Gracias recibida: 11888
  • 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

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.035
  • Gracias recibida: 15037
  • 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: 2056
  • 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

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.035
  • Gracias recibida: 15037
  • 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: 43
  • Gracias recibida: 155
  • 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: 43
  • Gracias recibida: 155
  • vn

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

  • C++ Coder
  • 0 puntos por ventas
  • *
  • *
  • Rank: Puto amo
  • Posts: 200
  • Gracias recibida: 3116
  • 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: 2056
  • 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: 693
  • Gracias recibida: 8603
  • br

Gracias:


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

  • MAESTRO

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.035
  • Gracias recibida: 15037
  • 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: 301
  • Gracias recibida: 2153
  • 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

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.035
  • Gracias recibida: 15037
  • 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: 301
  • Gracias recibida: 2153
  • 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

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.035
  • Gracias recibida: 15037
  • 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:


Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
4 Replies
3836 Views
Last post December 14, 2021, 11:58:00 PM
by victorrz17
7 Replies
2858 Views
Last post March 17, 2023, 03:09:28 PM
by Peluuca
1 Replies
1724 Views
Last post May 05, 2021, 12:40:33 PM
by walkeny
0 Replies
1034 Views
Last post October 26, 2021, 10:07:05 AM
by victhorinox
10 Replies
7666 Views
Last post August 31, 2023, 11:48:01 AM
by NghienMU