Author Topic: Desktop notification when games are played  (Read 4519 times)

tomreyn

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Desktop notification when games are played
« on: 3 May 2013, 12:36:16 »
If you like to play MegaGlest occasionally but you cannot host and do not like to sit on the lobby waiting for other players, then you can either
or install one of these applications:
Both of these tools sit in your Desktops' panel / systray and display notifications as soon as a server gets busy.

Note that these tools are completely useless if nobody hosts. That is, if you do not host a server from time to time then you should not expect others to make servers available either. This game lives from your contributions, so please host a server yourself, too, and wait patiently then.
« Last Edit: 18 November 2013, 04:28:02 by tomreyn »
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

jammyjamjamman

  • Administrator
  • Horseman
  • ********
  • Posts: 199
    • View Profile
Re: Desktop notification when games are played
« Reply #1 on: 16 July 2013, 21:29:24 »
Titi's viewer is working nicely, but MGTray I get this error:

Code: [Select]
./MGTray: error while loading shared libraries: libgdk_pixbuf-2.0.so.0: cannot open shared object file: No such file or directory

libgdk_pixbuf-2.0 is installed so it's not looking in the right place for the library. (I suppose this won't help much in fixing the problem but I thought it should be mentioned).

Also I just found these tools and find them very useful :)
"All right, I've been thinking. When life gives you lemons? Don't make lemonade. Make life take the lemons back! Get mad! 'I don't want your damn lemons! What am I supposed to do with these?'" ~Cave Johnson, Portal 2

tomreyn

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: Desktop notification when games are played
« Reply #2 on: 17 July 2013, 00:18:13 »
Yes they are. :)

Do you think you can run ldd against MGTray so you'll have more details on which files (and path exactly) it is looking for?

Once that's done, I think both authors were looking for hints on which features to implement next, in case you have any suggestions...
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

jammyjamjamman

  • Administrator
  • Horseman
  • ********
  • Posts: 199
    • View Profile
Re: Desktop notification when games are played
« Reply #3 on: 18 July 2013, 01:09:18 »
Here's the output from when runing against ldd:

Code: [Select]
linux-gate.so.1 =>  (0xf7767000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf772c000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf75f5000)
libgdk_pixbuf-2.0.so.0 => not found
libgtk-x11-2.0.so.0 => not found
libgdk-x11-2.0.so.0 => not found
libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0xf75a4000)
libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xf74a3000)
libgthread-2.0.so.0 => /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 (0xf749f000)
libgmodule-2.0.so.0 => /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0 (0xf749a000)
libpango-1.0.so.0 => not found
libatk-1.0.so.0 => not found
libcairo.so.2 => not found
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7494000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf72e1000)
/lib/ld-linux.so.2 (0xf7768000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf72bf000)
libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xf72b8000)
libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xf7277000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf7272000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf726b000)

From looking at the output It looks like the problem is the fact that I don't have the 32bit equivalents of these libraries installed.
 
One idea I have would be to include the ability to connect to a server directly from the program, so you click on the server you want to join (if it's not full), and the game automatically loads into that server. But I think this would mean that the user would have to choose what to execute so that for example, people (like me  :P), who have a nvidia card with "optimus" technology can write their own script which starts the game. (I'm not sure at all how this would work tbh)
"All right, I've been thinking. When life gives you lemons? Don't make lemonade. Make life take the lemons back! Get mad! 'I don't want your damn lemons! What am I supposed to do with these?'" ~Cave Johnson, Portal 2

tomreyn

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: Desktop notification when games are played
« Reply #4 on: 18 July 2013, 10:48:58 »
I agree about the missing 32-bit (i386) libs.

When it comes to configuring the MegaGlest executable path, and spawing the game (and connecting to the given server) on double-click on a server in the list, this does already work for me when using MGViewer. If I recall correctly this works on MGTray, too.

Nowadays, at least with Firefox and Chromium/Chrome, there's another option (which others may adopt, yet): The HTML5 desktop notifications standard makes it technically feasible to have the play.mg website (i.e. the masterserver code) notify when a server becomes available (someone would yet need to implement this - patches welcome!), so it would only take a running web browser to know when new servers are available. However, this doesn't allow you to connect to a server on the click of a button, yet. This would take a bit more (mostly) platform specific client code. I actually started writing some quick and dirty server side code for this (which is already live), but the client side handlers are missing as of yet. Once done, such code could be added to the MegaGlest installers, though, so it would become universal.

We've started to discuss this approach in more detail on a separate thread if anyone is interested in spending time on this.
« Last Edit: 3 April 2016, 13:38:51 by filux »
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·