Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    UPnP and multiple Xbox 360s (4-8)

    Scheduled Pinned Locked Moved Gaming
    34 Posts 5 Posters 36.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • X
      xcrustwadx
      last edited by

      When i said "We never get host" i was referring to Bungie's host choosing algorithm.  In the past few days we have gotten to host some games so this issue seems to be resolved (after i turned off traffic shaper)

      Also it's true that all xbox 360s have their own entry… only one has the 3074 entry however.

      we normally just press the power button to turn off the Xbox 360... do you think properly shutting the Xbox down will clear the port mappings in uPnP? like hold the X button and choose shutdown.

      By the way RSW thank you for your help!!!  I have tracking your upnp progress and it has really helped my network!

      I am currently using 6 Xbox 360s at my house using upnp.  I will keep you updated on how everything works.

      1 Reply Last reply Reply Quote 0
      • R
        rsw686
        last edited by

        @xcrustwadx:

        Also it's true that all xbox 360s have their own entry… only one has the 3074 entry however.

        It is good to know turning off the traffic shaper seemed to fix the problem. Yep only one will have port 3074. All the xbox's must have their own unique port number. You only have one public IP. So from the outside the only way to request a specific xbox is with its unique port.

        1 Reply Last reply Reply Quote 0
        • X
          xcrustwadx
          last edited by

          We now have 7 xbox 360s on my network behind a pfsense box all working with upnp.  average upstream with all on xbox live is ~ 78-82KB/s… although i am using remote desktop from another location so this may be lower since RDP uses some upstream.
          CPU usage is never more than 5%, avg 0-3% on:
          AMD athlon 1.5ghz skt A
          512mb  (2x256) registered DDR 266
          ASUS mboard
          8gb 5400rpm hard drive
          generic compaq atx psu
          3com 3c network cards
          interfaces: lan, wan, opt1 and opt2

          Thank you so much for your upnp help and the great router distro!

          1 Reply Last reply Reply Quote 0
          • F
            forum
            last edited by

            it,s a serch on the site. or some swedish det är en sök sida här nånstans.  can,t i play with you ? what,s your namne on xbox live ?

            1 Reply Last reply Reply Quote 0
            • X
              xcrustwadx
              last edited by

              It is not a big deal the mappings are left in place, except for having that port always being forwarded. I think there is a menu choice in the xbox 360 so you can delete the mapping manually, however it might be easier to just restart the service.

              How would I schedule the miniupnpd service to restart at 7:30AM every morning?  I would like those upnp entries cleared every morning when no one is playing.  I was scared to mess around with the crontab file since it stated that it is best to not edit the file manually.

              Would it be something like

              minutes - 30
              hours 7
              day *
              month*
              etc ?

              command = /etc/init.d/miniupnpd restart?
              (I'm new to Freebsd)

              The reason I am asking is because after there were about 8-10 residual upnp entries for the xbox 360s on my network and after a few days, none of the Xbox 360s were able to connect to Xbox Live (similar to the symptoms I experienced pre-RSW patch to miniupnpd).  After I cleared the upnp entries (and the miniupnpd service was restarted) via the web interface and rebooted the Xbox 360s I was OK.  I normally manually restart the service but I would like to avoid using the web interface every day to do so.

              It also seems like when two or more Xbox 360s are powered on at the same time (or very close together), one or more will fail to connect to Xbox Live the first couple times we try to connect.  Is this normal?

              Thank you for your help.

              1 Reply Last reply Reply Quote 0
              • R
                rsw686
                last edited by

                You would need to backup your config, add the cron item, and then restore your config.

                <cron><minute>30</minute>
                <hour>7</hour>
                <mday></mday>
                <month>
                </month>
                <wday>*</wday>
                <who>root</who>
                <command></command>/usr/local/sbin/upnp_support restart</cron>

                Since miniupnpd is supported with the livecd there is no rc file as the commands are php functions. You would need to download the following file. I would place it under /usr/local/sbin/. This will allow to interface miniupnpd from the command line.

                http://wgnrs.dynalias.com/pfsense/miniupnpd/upnp_support

                1 Reply Last reply Reply Quote 0
                • X
                  xcrustwadx
                  last edited by

                  Hey thanks for the script… That's a lot of work for you to write!  I will try it tonight and let you know how it works.

                  1 Reply Last reply Reply Quote 0
                  • R
                    rsw686
                    last edited by

                    @xcrustwadx:

                    Hey thanks for the script… That's a lot of work for you to write!  I will try it tonight and let you know how it works.

                    Your welcome! I am the miniupnpd maintainer and the script was a way for me to easily test out builds.

                    1 Reply Last reply Reply Quote 0
                    • X
                      xcrustwadx
                      last edited by

                      The script seems to be working AOK.  However my time/date is set incorrectly.  I did "date 0711151223" from SSH to set it to 12:20 11/15 but I'm not sure this is the proper way.  What is the proper way to set the time and date in Pfsense?

                      1 Reply Last reply Reply Quote 0
                      • R
                        rsw686
                        last edited by

                        @xcrustwadx:

                        The script seems to be working AOK.  However my time/date is set incorrectly.  I did "date 0711151223" from SSH to set it to 12:20 11/15 but I'm not sure this is the proper way.  What is the proper way to set the time and date in Pfsense?

                        The date and time is set automatically via ntp. Make sure your timezone is set correctly on the System -> General page.

                        1 Reply Last reply Reply Quote 0
                        • X
                          xcrustwadx
                          last edited by

                          ok time is now set properly via the general menu.  Sorry, I glanced there for a time setting but I missed it.  Should have done CTRL+F.  Thank you.

                          1 Reply Last reply Reply Quote 0
                          • X
                            xcrustwadx
                            last edited by

                            OK.  The script/cron job definately works.  I just checked the upnp status and it's completely cleared!  This is great.

                            Are there any plans to build in a timeout for upnp port mappings?

                            The reason I ask is because it has been said that Xbox never bothers to release the ports when it is powered off (which I can certainly say is true from firsthand experience).  I know that this is actually a problem with the implementation on the Xbox's end and not with miniupnpd but restarting the service every morning seems like it may not be the best solution.  If there is any way I can help, please let me know.

                            1 Reply Last reply Reply Quote 0
                            • R
                              rsw686
                              last edited by

                              My debate about adding it into miniupnpd is deciding when is the port inactive. I'm not sure how easy it is to see the last activity since once the rule is created pfSense is dealing with the redirects not miniupnpd. I'll contact the miniupnpd author and see what his opinion is on this.

                              1 Reply Last reply Reply Quote 0
                              • X
                                xcrustwadx
                                last edited by

                                1.  Can I manually remove one upnp record/mapping without restarting the entire service and clearing ALL mappings?

                                2.  Would it be feasible for me to write a custom script that removes a particular upnp port mapping once the DHCP lease that requested it expires?

                                Im starting to think… why incorporate a band-aid into the code of miniupnpd, which works fine, that is a workaround for a problem that should be solved on Microsoft's end... ie send the "I'm done with this upnp mapping, you can remove it now." packet.  I'd rather make an "external" band-aid to avoid adverse effects on miniupnpd(a script for instance).

                                I'm not too clear on how DHCP protocol works but the pfsense web UI seems to know when a host is down and no longer using its lease.

                                1 Reply Last reply Reply Quote 0
                                • R
                                  rsw686
                                  last edited by

                                  @xcrustwadx:

                                  1.  Can I manually remove one upnp record/mapping without restarting the entire service and clearing ALL mappings?

                                  2.  Would it be feasible for me to write a custom script that removes a particular upnp port mapping once the DHCP lease that requested it expires?

                                  Miniupnpc is the client which can talk to miniupnpd. You would need to compile this for pfSense. Then it could be used to tell miniupnpd to remove a mapping. This is something that could be added to the pfSense UPnP implementation. I could see this being useful for others.

                                  The easiest way to compile for the pfSense platform is to use the pfSense Developers edition. I think you can still get this on the snapshot server.

                                  @xcrustwadx:

                                  I'm not too clear on how DHCP protocol works but the pfsense web UI seems to know when a host is down and no longer using its lease.

                                  True, but that is a bandaid fix as well. Not everyone is going to want or need that feature. The DHCP protocol marks the lease as inactive when its renewal time expires and the host has not renewed the lease. However some people set this time limit to days.

                                  1 Reply Last reply Reply Quote 0
                                  • R
                                    rsw686
                                    last edited by

                                    I forgot to mention that if you use Windows XP you can remove the mappings by going to the Network Connections folder. Right click on Internet Connection click Properties, click Settings, and you can delete individual mappings.

                                    1 Reply Last reply Reply Quote 0
                                    • X
                                      xcrustwadx
                                      last edited by

                                      Thanks for the tip.  You need the Windows XP uPnP UI installed on the XP machine first and then this will work.  I have just used it.  Im currently using VM to install pfsense dev beta 1 and I will attempt to compile the miniupnpc.

                                      1 Reply Last reply Reply Quote 0
                                      • R
                                        rsw686
                                        last edited by

                                        @xcrustwadx:

                                        Thanks for the tip.  You need the Windows XP uPnP UI installed on the XP machine first and then this will work.  I have just used it.  Im currently using VM to install pfsense dev beta 1 and I will attempt to compile the miniupnpc.

                                        I just built miniupnpc successfully use gmake. You'll need to add gmake using

                                        pkg_add -r gmake

                                        To build

                                        /usr/local/bin/gmake

                                        From here you could add check boxes next to the mappings on the UPnP Status page and a remove button. You could even write a script to search the current mappings and then remove any with xbox in them at 7:30 in the morning. Or if you want to get detailed write the script to compare the mappings with the dhcp leases and remove the inactive ones.

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          rsw686
                                          last edited by

                                          @rsw686:

                                          From here you could add check boxes next to the mappings on the UPnP Status page and a remove button. You could even write a script to search the current mappings and then remove any with xbox in them at 7:30 in the morning. Or if you want to get detailed write the script to compare the mappings with the dhcp leases and remove the inactive ones.

                                          Turns out that the new version of miniupnpd can clean out old mappings. I have compiled the binary and updated the webgui. The other improvement is called secure mode which locks down clients to only creating mappings to their IP. If anybody would like to test it out and let me know how it works that would be great. I plan on adding this into the cvs for 1.3, but for now you can update your 1.2 version with the following.

                                          
                                          cd /tmp
                                          fetch http://wgnrs.dynalias.com/pfsense/miniupnpd/upnp_support
                                          chmod +x upnp_support
                                          ./upnp_support update
                                          
                                          

                                          Afterwards you'll need to reconfigure upnp via the webgui. Please note that if you don't like the new version you'll have to manually restore the old files.

                                          1 Reply Last reply Reply Quote 0
                                          • H
                                            hoba
                                            last edited by

                                            @rsw686:

                                            Afterwards you'll need to reconfigure upnp via the webgui. Please note that if you don't like the new version you'll have to manually restore the old files.

                                            Or reapply the 1.2 release full update that will reset all files back to release versions  ;)

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.