LAN Server Doesn't Show on the In-Game Server List

{IRISH}Maximus{IRISH}Maximus Posts: 46Player
edited October 2015 in Server Support
Just curious if there is any information on how to setup an AAPG LAN server so that it will show up in the game browser list under LAN.

We are gearing up to run a weekend-long tournament style LAN Party with 4-6 servers and 50-100 people in the end of November, so while the console command (> open 000.000.000.000 works, it would be really good to be able to pick the server from the in-game server list.

Any help appreciated.

Comments

  • {IRISH}Maximus{IRISH}Maximus Posts: 46Player
    Here's my server start command:
    "C:\Program Files (x86)\Steam\steamapps\common\America's Army\AAPG\Binaries\Win32\AAGame.exe" server BDX_SpringStreet_EX /LAN    /NOPAUSE /NOHOMEDIR /CONFIGSUBDIR=AAHostAServerConfig0 /LBQUERYPORT=49001 /LBBROADCASTPORT=49000 /DISABLEUMM /SGSP=7778 /INST=1
    
  • {IRISH}Maximus{IRISH}Maximus Posts: 46Player
    I have been monitoring the various pieces of this puzzle with netstat.

    On the server side (AAGame.exe /SERVER) I can see it listening for the LAN Server Query on port 49001
    TCP    192.168.1.108:49001    0.0.0.0:0              LISTENING       6756
    

    And I can see it broadcasting its "I'm Alive" packets
    5	0.325223000	192.168.1.108	255.255.255.255	UDP	70	Source port: 52100  Destination port: 49000
    

    However on the client side (AAGame.exe) running the in-game browser on the LAN tab (refresh) there is no connection listening to the port LAN Server Broadcast Port (49000) to receive the "I'm Alive" broadcast.
    TCP    0.0.0.0:7534           0.0.0.0:0              LISTENING       4332
    UDP    0.0.0.0:9989           *:*                                    4332
    UDP    0.0.0.0:51570          *:*                                    4332
    UDP    0.0.0.0:52223          *:*                                    4332
    UDP    0.0.0.0:53005          *:*                                    4332
    UDP    0.0.0.0:53006          *:*                                    4332
    UDP    0.0.0.0:53007          *:*                                    4332
    

    Interestingly there is a connection listening to LAN Server Broadcast Port (49000) for AALauncher32.exe, which is where the server browser used to live during the beta.
    UDP    0.0.0.0:49000          *:*                                    1952
    UDP    0.0.0.0:61922          *:*                                    1952
    
  • Keebler750Keebler750 Posts: 3,605Beta Tester
    Yes. I haven't been able to get the ingame browser to see a LAN game either!

    By the way, a tournament is a great idea! This is an in-person, BYOC* event?!

    ( * - Bring Your Own Computer)
    ______

    This has been a test of the emergency flame-fest system. Please do not adjust your set.
  • {IRISH}Maximus{IRISH}Maximus Posts: 46Player
    Not exactly ... we're on a college campus and we will be using a computer graphics classroom that seats 50. The machines are pretty reasonable (i7s with high-end graphics cards).

    We are planning to let people bring their own keyboards, mice, etc., but we'll control the computer setup.
  • -=DA=-Tw!$t3d-=DA=-Tw!$t3d Posts: 65Player
    Is the firewall enabled on the server machine? (If the Domain and or Private profiles are active, it can cause you issues.)

    Ensure that those firewall profiles are disabled, also, try to multi-home the server to your lan address.
  • {IRISH}Maximus{IRISH}Maximus Posts: 46Player
    There are no firewalls on this LAN (Server rack is in the room with 3 24-port Netgear 1GB passive switches connecting all the servers and workstations) ... the servers have no windows firewall active, and neither do the workstations. This LAN doesn't directly connect to the Internet.

    Tried the Multihomed setup ... which is intended to allow us to run multiple game servers on a single host, right? ... no change in LAN behavior.

    Based on what I'm seeing in NETSTAT, it looks like the AALauncher32.exe is the only thing looking at the LAN Server Broadcast port (49000).

    My guess is that the LAN portion of the In-Game server browser hasn't been fully moved from the AALauncher32.exe to the new post-beta interface in AAGame.exe. I don't expect that will be patched before we'd need it at the end of November.

    Looking for a Plan B :-)
  • {IRISH}Maximus{IRISH}Maximus Posts: 46Player
    edited October 2015
    Plan B: Build My Own LAN Server Browser.

    I managed to write (i.e., cobbled together from the talented work of others) a PHP script that listens for a few seconds for the server UDP LAN broadcast on 255.255.255.255:49000 and builds a list of hosts. Then it loops thru the list and issues a TCP Host Query on each host in the list building an HTML table of the information. So far so good.

    If you execute "c:\path-to-aapg\AAGame.exe 192.168.1.69?Name=FocacciaBread" at the CMD prompt AAGame opens right into the LAN server running on that IP and the connected player name is set to FocacciaBread whether Steam is running or not.

    I can't find a way to launch AAGame from that HTML page with the serverIP as a parameter. I can get close by setting up a Custom URI Scheme called AAPG to run AAGame. This which allows me put something like this in a HTML HREF:

    "AAPG:192.168.1.69?Name=Francus"

    After a little regediting Internet Explorer (other browsers won't work) will run AAGame.exe when it sees this scheme in a link. See this article for more information:

    Registering an Application to a URI Scheme

    But I can't get it to handle any parameters like serverIP or username. It just runs AAGame.exe which comes up on the main menu.

    Any help appreciated.
  • -=DA=-Tw!$t3d-=DA=-Tw!$t3d Posts: 65Player
    Try using steam??

    steam://connect/IP:QueryPort

    example
    steam://connect/192.168.1.69:27020

    This should work on a lan, as the query is sent directly to the game server and is not ushered via steam.

    Default steam works query port for AAPG is 27020
  • {IRISH}Maximus{IRISH}Maximus Posts: 46Player
    edited October 2015
    I don't know anything about using a steam url ... tried steam://connect/192.168.1.69:27020 in Internet Explorer and it apparently made an attempt to launch the Steam Client Bootstrapper and I got a Security Warning from Windows ... then I got the Steam Game Info dialog window but it's completely empty.
  • -=DA=-Tw!$t3d-=DA=-Tw!$t3d Posts: 65Player
    Well that means it was unable to query the game server, i thought that may be an issue with a lan game, but had no way to test it :(

    I don't know what else to do for you from here, Sorry Guy!
  • {IRISH}Maximus{IRISH}Maximus Posts: 46Player
    edited October 2015
    Still hoping there's a patch that enables the LAN tab on the in-game server browser before the tournament starts (November 28).
    But in the Meantime PLAN "B" is complete: I built my own LAN Server Browser.
    I built a PHP web page that:
    1. listens on UDP 49000 for AAPG LAN Server Announcements
    2. Displays a list of servers in a table with a JOIN button
    3. Clicking the JOIN button launches AAGame.exe with the server IP and an optional player name which loads directly into the selected LAN server
    Works with Internet Explorer and Chrome (both give a bunch of security warnings initially, but you can switch them off).
    The key was setting up a URI Scheme to launch AAGame.exe from the browser, which required two parts:
    1. a .bat file to launch the game with the parameters properly formatted.
      @ECHO OFF
      REM  aapg-URI-Launcher.bat - America's Army: Proving Grounds (AAPG) URI Protocol Helper
      SET _SERVERURI=%1%
      SET _SERVERURI=%_SERVERURI:~5%
      SET _SERVERURI=%_SERVERURI%^?Name^=%2%
      "C:\Program Files (x86)\Steam\steamapps\common\America's Army\AAPG\Binaries\Win32\AAGame.exe" %_SERVERURI%
      EXIT
      
    2. a registry key to trigger the .bat file when the scheme is used in the browser
      Windows Registry Editor Version 5.00
      
      [HKEY_CLASSES_ROOT\aapg]
      @="URL:aapg Protocol"
      "URL Protocol"=""
      
      [HKEY_CLASSES_ROOT\aapg\shell]
      
      [HKEY_CLASSES_ROOT\aapg\shell\open]
      
      [HKEY_CLASSES_ROOT\aapg\shell\open\command]
      @= "\"C:\Program Files (x86)\Steam\steamapps\common\America's Army\AAPG\Binaries\Win32\aapg-URI-Launcher.bat\" %1 %2 %3 %4 %5 %6 %7 %8 %9"
      
    This setup allows me to have a link in a web page that looks like this:
    <a href="aapg:192.168.1.90 Maximus">Join Server</a>
    
    Clicking the link invokes the aapg URI scheme which in turn runs the .bat file which in turn formats the arguments properly for AAGame.exe and runs the game.
  • -=DA=-Tw!$t3d-=DA=-Tw!$t3d Posts: 65Player
    Pretty neat man!
  • weakness_aaweakness_aa Posts: 144Player
    Still hoping there's a patch that enables the LAN tab on the in-game server browser before the tournament starts (November 28).
    But in the Meantime PLAN "B" is complete: I built my own LAN Server Browser.
    I built a PHP web page that:
    1. listens on UDP 49000 for AAPG LAN Server Announcements
    2. Displays a list of servers in a table with a JOIN button
    3. Clicking the JOIN button launches AAGame.exe with the server IP and an optional player name which loads directly into the selected LAN server
    Works with Internet Explorer and Chrome (both give a bunch of security warnings initially, but you can switch them off).
    The key was setting up a URI Scheme to launch AAGame.exe from the browser, which required two parts:
    1. a .bat file to launch the game with the parameters properly formatted.
      @ECHO OFF
      REM  aapg-URI-Launcher.bat - America's Army: Proving Grounds (AAPG) URI Protocol Helper
      SET _SERVERURI=%1%
      SET _SERVERURI=%_SERVERURI:~5%
      SET _SERVERURI=%_SERVERURI%^?Name^=%2%
      "C:\Program Files (x86)\Steam\steamapps\common\America's Army\AAPG\Binaries\Win32\AAGame.exe" %_SERVERURI%
      EXIT
      
    2. a registry key to trigger the .bat file when the scheme is used in the browser
      Windows Registry Editor Version 5.00
      
      [HKEY_CLASSES_ROOT\aapg]
      @="URL:aapg Protocol"
      "URL Protocol"=""
      
      [HKEY_CLASSES_ROOT\aapg\shell]
      
      [HKEY_CLASSES_ROOT\aapg\shell\open]
      
      [HKEY_CLASSES_ROOT\aapg\shell\open\command]
      @= "\"C:\Program Files (x86)\Steam\steamapps\common\America's Army\AAPG\Binaries\Win32\aapg-URI-Launcher.bat\" %1 %2 %3 %4 %5 %6 %7 %8 %9"
      
    This setup allows me to have a link in a web page that looks like this:
    <a href="aapg:192.168.1.90 Maximus">Join Server</a>
    
    Clicking the link invokes the aapg URI scheme which in turn runs the .bat file which in turn formats the arguments properly for AAGame.exe and runs the game.

    Any Chance you'll donate your PHP code to the community?
  • 12ampage12ampage Posts: 64Player
    Otherwise couldn't you write a little script which essentially port forwards to the port the built in game Browser is listening to.
  • {IRISH}Maximus{IRISH}Maximus Posts: 46Player
    edited December 2015
    The LAN Browser is working in the December patch! Yay!

    (Happy to donate the code ... be warned it's kind of h-a-c-k and slash.)
Sign In or Register to comment.