Can I get WinXP application to change the order of "scanning" through NICs?

Discussion in 'Windows Desktop Systems' started by digital_silence, Dec 11, 2002.

  1. Hi all!

    I know, the subject reads a bit ambiguous. This is actually what I am trying to do:

    I've got 4 PCs connected in a local network via 10Base2 coax cable (no hub). Three PCs are running WinME and the main PC is running WinXP. That PC also has a second NIC to connect to Internet via cable modem. Everything is OK so far - I can share files and printers and I can share Internet connection, so every PC in the local network can browse the net.

    The problem comes when I am trying to play Half-Life game over this LAN. In that game, you are supposed to run a GameServer on one of the PCs first, and then the other PCs just join the game. GameServer has to be a fastest PC on a network, so I run the GameServer on my XP machine.

    Now, GameServer, as you see from above, has a choice of 2 IP-addresses (the LAN game uses TCP/IP protocol), as there are two NICs in that PC. It so happens that it always picks up the one that's used in NIC with cable modem, NOT the one that connects the PC with the rest of the LAN. And the other PCs can NOT join the game, as they are considered by a GameServer to be on a different LAN.

    Funny enough, as soon as I go and disable a TCP/IP protocol for that cable modem NIC, the GameServer happily picks up the other one (used with coax on LAN), and network games runs quite happily. But it is not a very good solution though, because: a) I have to always remember to enable it back after the game, and b) if two are playing game, and the other two want to browse the net at the same time, they can't.

    So the question is: How do I get the Half-Life (an other) GameServers to select the IP-address for the other NIC? Are there any "logical" numbers assigned to NICs, that I could swap around? Any other tricks?

    Please note that I will consider swapping the two NICs around in their PCI slots as a VERY LAST RESORT only.

    Thanks a lot in advance for your help.

    Best Regards
  2. TechSupport

    TechSupport Guest

    is there not a setting in the BIOS to change the IRQ priority of a PCI slot? I imagine if you set the internal NIC's IRQ to be of a higher priority over the external NIC (i.e. lower IRQ), it should make it scan the internal NIC first??

    i think it might work like that... ive never had a problem with it myself in the past, although one of the clients has usually been the more powerful PC, hence only having one NIC and bypassing the problem.
  3. Bluecat

    Bluecat Guest

    If you're running a dedicated server, make sure to have a shortcut to it and in the properties of that shortcut add the command "sv_lan 1" (no quotes). That should switch it for ya.

    If you're just starting a listen server (through your game), after you get in there, use the sv_lan 1 command in your console.

    There's other ways to fudge this around, but if this works for ya, it's by far the easiest.
  4. Rootz

    Rootz Guest

    *binding*, that's its name.
    you can decide which NIC comes first for each protocol you have installed on (tcp/ip in this case).
    (in WindowsXP) go to *network connections* and select *advanced*/*advanced options* (or likesome)
    here in the bindings tab move up the nic or protocol you want to be seen first for tcp/ip. any change here affects all system though, you may have collateral effects: if anything goes wrong with the first nic the system checks on the second and so on (connections may be slightly slower during all these checks).

    your *problem* is XP catches the first nic, gets to the service correctly so there it stops.
    give your gameserver nic first place in the binding order and the trick is done. you shouldn't have problems with your cable connection either for the above reasons.
  5. 2 Rootz:

    In XP, there's no such thing as "binding" tab. While in WinME (for example) you would go Start->Settings->ControlPanel->Network and then both NICs would appear in the same list, the XP has a conception of what they call "Network Connections", where the properties for my two NICs are adjusted in a DIFFERENT windows (one icon per one connection). So the problem still stands, unless you'd be kind enough to guide me through the steps IN DETAILS of how to change the binding order for WinXP specifically.

    2 Bluecat:

    I am running (trying to, anyway :) a LISTEN server, that is I want to play on that machine too. Did as you suggested, but to no avail. Actually, the sv_lan variable is already set to 1 (I type sv_lan in the console, and it shows the value 1), so I am back to where I was. Any other suggestions (as per below) ?

    2 All:

    I guess, while I am still curious as to how to change the "logical order" or "binding" of my two NICs, it'll be easier to try to address this particular issue in a game itself.
    If there are Half-Life game experts here, could they please suggest the resolution to the problem as follows:

    When attempting to run a Half-Life LISTEN server on a XP machine with two NICs installed
    (one NIC is for the cable modem connection, dynamic IP address,
    the other NIC is for home LAN connection, fixed IP address),
    the gameserver always picks up the NIC for cable modem (reports its (dynamic) IP when starting) and when the other PCs on LAN are trying to join the game, it rejects saying that "Lan servers are restricted to local clients (class c)".
    Note that if I go and disable TCP/IP support for cable modem NIC in WinXP, then GameServer picks up the other IP (fixed IP from LAN NIC), and the LAN game runs happily.
    Also note that the sv_lan variable in a game is already set to 1 ( I checked it from server console).

    1) How do I tell to Half-Life listen server to pick up the NIC and IP address that I want (the one for my LAN NIC) ?
    2) Is there a way to "force" the listen server's IP address:port to what my LAN NIC is set to?
    3) Is there any other way to resolve this problem?

    Thanks a lot. Detailed instructions would be appreciated.

  6. In my mail above, where the smilie is, it actually says IPaddress:port

    (forgot to disable smilies conversion :)

  7. rettahc

    rettahc Guest

    I don't know how to fix your problems in the game, but I do know where the binding order is. First open the control panel, then open the network connections applet. In the window that opens there will be an advanced option in the menu bar click that and choose advanced settings. Then the setting that you would want to change is in the top box. (see attachment)
  8. Bluecat

    Bluecat Guest

    You can try putting this in your target line in the shortcut to HL,
    "+IP" no quotes here
    Where is your LAN IP address.

    There's also a file in your Valve folder that you may edit to reflect your LAN IP address called "listenserver.cfg". Just open it with notepad and try adding the line "+IP"
    (use the quotes here)
    I have my doubts about that working, but it's an easy try.

    I've no means of testing that, as I only have 1 NIC in my machine (NIC/MODEM).

    If that doesn't work for you, you may want to consider running a dedicated server on your machine and forcing the LAN IP in the same fashion described above. You won't need to go and download it, just make a shortcut to C:\sierra\half-life\hlds.exe and then in the properties of that shortcut add all your server startup cvars in the target line area, like so.

    C:\SIERRA\Half-Life\hlds.exe -noipx sv_lan 1 +IP -port 27018 +maxplayers 4 +map rapidcore

    Notice that I assign a port of 27018 for the server. This was because when I had a cable connection and ran an online server from time to time, I only had port 27015 forwarded through my router and my game would not be visible to WON servers. To see what IP address you actually got, just take out the +map rapidcore entry and start the server. I attached a screenshot of mine.

    The -noipx cvar simply tells my server to not even query an IPX connection. I do that because the annoying error message you see when connecting. (I use it in my client shortcuts too)

    There are a few more things you'll want to do in your server.cfg file to set up your cvars. (This file is also in your Valve folder) Listing a few of them below:

    // disable autoaim
    sv_aim 0

    // player bounding boxes (collisions, not clipping)
    sv_clienttrace 3.5

    // disable clients' ability to pause the server 1=on 0=off
    pausable 1

    // default server name. Change to "Bob's Server", etc.
    hostname "Da Bomb"

    // maximum client movement speed default is 270
    sv_maxspeed 360

    // 30 minute timelimit set to 0 to only use fraglimit
    mp_timelimit 30

    // map changes at 50 frags set to 0 to use timelimit only
    mp_fraglimit 50

    //toggle flashlight 1=on 0=off
    mp_flashlight 1

    //toggle auto respawn 1=on 0=off
    mp_forcerespawn 0

    //automatically delete custom.hpk file at 1Mb
    hpk_maxsize 1.

    //assigns rcon password
    rcon_password qq

    If you run the dedicated server, you'll want to assign an rcon password as listed there so you can change maps, etc. through your game on any machine connected.
    To access the sevrer while in-game, pull down your console and type rcon_password qq <enter>
    Then to change the map, type rcon_changelevel datacore

    Note that qq is just an example and is what is set up for a password in the above server.cfg file and the map datacore can be anything you want/have.

    In your client shortcut on your machine (where the the dedicated server is running), add this to your target line:

    That will throw you right into your server and saves you the trouble that so many people have finding it through the LAN game browser. Other machines on your LAN should have no trouble seeing it. Just replace the IP and port numbers with yours.
    If you chose not to change the port to what I use, the default is 27015, and would read like this:

  9. Bluecat

    Bluecat Guest

    Oh, and thanks for the heads up on the advanced settings location rettahc. (learn something here every day) :cool:

    If changing the order around work for him, that'll sure save a headache! ;)
  10. 2 All:

    Changed the NIC order in "Advanced settings" exactly as rettahc suggested.

    All works like a dream now! Picks up a LAN NIC first (because it is listed FIRST now in adv. settings)

    No side effects of swapping the order of NICs are noticed so far.

    Thanks a lot to everyone responded. Separate thanks to rettahc.

  11. rettahc

    rettahc Guest

    Just glad I could help:D