In-Game Ping Overlay

Discussion in 'Player Support' started by ALP_Squid, Feb 17, 2013.

  1. ALP_Squid

    ---
    Note: Not sure if this belongs here, in Off-Topic, Suggestions or not at all. Here seems to have the a bigger potential audience but if it needs moving I apologize for the inconvenience.
    ---

    A lot of people are asking about checking their ping and currently the only way is to manually ping the servers using the command line. Obviously this is totally impractical and pretty useless while playing. To solve this issue, I've created a graphical program that allows you to save the IPs of the servers for your favorite games and have an overlay, similar to the many FPS overlays, showing your ping while in the game.


    Some screens (Click to view full size)

    --- Main Config UI ----
    [IMG]

    --- Add New Server Dialog ----
    [IMG]

    --- In Game Overlay (top right) ----
    [IMG]


    Installation & Download

    - Download the zip file HERE (v0.1)
    - Extract all files to a folder of your choice
    - Run Latency Monitor.exe
    - The game must be in anything other than Fullscreen, eg Fullscreen Windowed, for the overlay to show up

    - Please read the ReadMe.txt file for full usage instructions and tips
    - Servers are saved in 'Servers.config'


    Troubleshooting & FAQ

    --- The overlay won't show up in my game! ---
    The only way to have the overlay show up is to run the game in anything other than Fullscreen, eg Fullscreen Windowed. If you've done that, try refreshing the overlay.

    --- How do I find the game server IP/domain? ---
    If you can't find the IP of your server on the game's forum or website/wiki you can use the Resource Monitor (Windows) or any other Network Activity Monitor to find the application and what IP(s) it's connecting to. For example, you can look for 'Planetside 2.exe' and view the IPs it's connecting to, one of these is most likely the game server. Some games allow you to view the server IP in game by typing a command.

    --- How do I delete servers? ---
    Full instructions on how to use the program can be found in the ReadMe.txt included. However, simply select a server from the drop down menu and click 'Delete Selection' to remove it from the list.


    Planetside 2 Servers
    As of writing, these seem to be the correct server IPs and locations and are almost completely consistent from forum to forum. If they are incorrect, please say and I'll change them.

    source: http://www.tacticalgamer.com/planetside-2-general-discussion/190233-ps2-server-ip-addresses-case-you-want-check-your-latency.html

    ChangeLog
    Code:
    17/2/2013
      - Initial Release v0.1

    Feedback welcome
    • Up x 1
  2. BenYeeHua

    Thank for that.:)
    Will using it next time, as I miss my bed.:D
    ---
    Just this...
    Windows 8 can't disable the DWM when windowed(means can't disable vsync with windowed)....
  3. bishopau

    Nice idea.
    Thats the Briggs address I have :)
    Just wondering what timing on the refresh rate do you have?
  4. Sliced

    I would use this if it allowed Fullscreen.
    I only play games in fullscreen mode.

    Overall though, it's a really good idea.
  5. ALP_Squid

    Disable or Enable? I'm running Windows 8 and can run windowed with Vsync off but can't enable it. If you need Vsync, you can cap the fps at 60 in UserOptions.ini by setting MaximumFPS to 60


    It's constantly pinging the server and displaying the average on each iteration, sending usually 4 packets per iteration (exactly what the 'ping' command does from the command line). This means you'll probably have about a second or two delay between each overlay refresh.

    Unfortunately I can't make it appear over a true Fullscreen game as you have to use DirectX hooks to draw the overlay onto the game, rather than floating a window over it.

    Thanks for your interest
  6. SharpLight

    My solution is much (much) simpler, just put the following line:

    ping -t 69.174.220.23 [or whatever your server's ip address is, see list above]

    into a batch file (text file then change the extension to .bat) and run it before starting the game. ALT-TAB to see your ping. I personally don't let run all the time, because it is so easy to just start/close.
  7. ALP_Squid


    That indeed works, but alt-tabbing during a large battle is not ideal. Plus if you leave that running, you're going to get a huge list of your previous latency which could get confusing or be off putting for some. I set out to create the cleanest, most useful solution for multiple games (being an in game overlay), rather than the simplest. Anyway, isn't running a program and forgetting about it simpler than having to think about alt-tabbing during laggy moments?
  8. BenYeeHua

    DWM=vsync.
    It don't care your game is enable vsync or not, it will vsync for you.
  9. ALP_Squid

    I don't think I'm understanding you completely. As far as I'm aware VSync caps your FPS at your monitor's refresh rate, for example mine is 60Hz thus my frame rate should be capped at 60 IF I want VSync on. However, I don't and I can get far above 60 FPS with Windowed mode on, I've seen 100+.
  10. BenYeeHua

    Yes, it don't limit the game FPS, it just flip the frame when it is done.
    This is why you don't see tearing with windowed in Windows vista/7/8.;)
    https://en.wikipedia.org/wiki/Desktop_Window_Manager
    http://answers.microsoft.com/en-us/...nd-vsync/aec4ef8e-e3ea-4255-a557-640e9c63eccc
  11. ALP_Squid

    Oh apologies; I'm not too familiar with the DWM. I understand where you're coming from now but I'm not noticing any symptoms related to having VSync on (compared to having it on in fullscreen). What problems do you get?
  12. FLHuk

    Be sure and take some system snapshots when you first run this guys for when SOE ban you.... Been there, snapshots proved my innocence I think though I never heard a word one way or the other and just got suspended :/

    Nice util, gj.
  13. ALP_Squid

    I can't think of any reason why you'd get banned for using this. It doesn't know where your Planet side 2 client is, let alone modify it, and it doesn't use any hooks or modify screen buffer or memory contents. I can't see how it would even be dedectible; it's a completely seperate program like running task manager while you play.
    Either way your advice in general is good, you do have to be careful with anything to do with online games
  14. ALeviathan

    You shouldn't get banned for this. No different than running MSi Afterburner, Real Temp, Team Speak overlay, EVGA Precision, GameBooster, Steam Overlay, Windows Player to listen to music while playing, your mother board monitoring software and countless other things running in the back ground. It doesn't do anything to the game, just pings the server.
  15. pucwyczes

    This tool is perfect, but it needs loss check too, like in cs you can display very detailed connection stats, it would be nice.
  16. BenYeeHua

    A little input lag from the vsync, and it can be fixed with other way.
    But the real issues is I has a small monitor only(1366x768)...
  17. ALP_Squid

    Thanks for the feedback, maybe I'll add some options to customize what is displayed on the overlay, like packet loss.

    Ah I see, but surely with Fullscreen Windowed you aren't loosing any screen Real Estate? You can always auto-hide your taskbar if that's a problem. Anyway, if it's not an option for you, that's all there is to it, so thanks for your interest and patience :)
  18. BenYeeHua

    Yup, will try it later.;)
    And I also wanna to know, why you can't make it when full screen?
    Like steam, Origin, it can show the HUD when full screen.
    As I know, some browser/apps using Adobe Air to showing it too, just most of it is using on WoW.
  19. ALP_Squid

    To get an overlay to show up over a game you have to use a DirectX/OpenGL hook (depending on the game) to intercept the Windows calls and draw on the overlay before the frame is rendered on screen. A lot of these C++ programs tend to use DirectDraw to do this which is slightly different. The problem is that I wrote this program in Python which has little to no libraries for DirectX hooking. There is a DirectX library, DirectPython 11, and one for OpenGL, however the external hooking capabilities are extremely limited/almost non-existent and it'd be incredibly complex to implement it with Python anyway.
  20. BenYeeHua

    Thank for telling that, as my knowledge about coding is just too little for other devs.:)